iyzipay-php
您可以在https://*iyz*i*co.com上注册一个iyzico帐户
要求
PHP 7.4及以后。
笔记
最低TLS v1.2将在2018年3月之后支持。请升级您的OpenSSL版本至少1.0.1。如果您有任何疑问,请在Github上打开一个问题,或通过Integration@iyzico.com与我们联系。
安装
作曲家
您可以通过作曲家安装绑定。运行以下命令:
composer require iyzico/iyzipay-php要使用绑定,请使用作曲家的自动加载:
require_once ( ' vendor/autoload.php ' );手动安装
如果您不想使用作曲家,则可以下载最新版本。然后,要使用绑定,请包括IyzipayBootstrap.php文件。
require_once ( ' /path/to/iyzipay-php/IyzipayBootstrap.php ' );用法
$ options = new Iyzipay Options ();
$ options -> setApiKey ( " your api key " );
$ options -> setSecretKey ( " your secret key " );
$ options -> setBaseUrl ( " https://sandbox-api.iy***zipay.com " );
$ request = new Iyzipay Request CreatePaymentRequest ();
$ request -> setLocale ( Iyzipay Model Locale:: TR );
$ request -> setConversationId ( " 123456789 " );
$ request -> setPrice ( " 1 " );
$ request -> setPaidPrice ( " 1.2 " );
$ request -> setCurrency ( Iyzipay Model Currency:: TL );
$ request -> setInstallment ( 1 );
$ request -> setBasketId ( " B67832 " );
$ request -> setPaymentChannel ( Iyzipay Model PaymentChannel:: WEB );
$ request -> setPaymentGroup ( Iyzipay Model PaymentGroup:: PRODUCT );
$ paymentCard = new Iyzipay Model PaymentCard ();
$ paymentCard -> setCardHolderName ( " John Doe " );
$ paymentCard -> setCardNumber ( " 5528790000000008 " );
$ paymentCard -> setExpireMonth ( " 12 " );
$ paymentCard -> setExpireYear ( " 2030 " );
$ paymentCard -> setCvc ( " 123 " );
$ paymentCard -> setRegisterCard ( 0 );
$ request -> setPaymentCard ( $ paymentCard );
$ buyer = new Iyzipay Model Buyer ();
$ buyer -> setId ( " BY789 " );
$ buyer -> setName ( " John " );
$ buyer -> setSurname ( " Doe " );
$ buyer -> setGsmNumber ( " +905350000000 " );
$ buyer -> setEmail ( " email@email.com " );
$ buyer -> setIdentityNumber ( " 74300864791 " );
$ buyer -> setLastLoginDate ( " 2015-10-05 12:43:35 " );
$ buyer -> setRegistrationDate ( " 2013-04-21 15:12:09 " );
$ buyer -> setRegistrationAddress ( " Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1 " );
$ buyer -> setIp ( " 85.34.78.112 " );
$ buyer -> setCity ( " Istanbul " );
$ buyer -> setCountry ( " Turkey " );
$ buyer -> setZipCode ( " 34732 " );
$ request -> setBuyer ( $ buyer );
$ shippingAddress = new Iyzipay Model Address ();
$ shippingAddress -> setContactName ( " Jane Doe " );
$ shippingAddress -> setCity ( " Istanbul " );
$ shippingAddress -> setCountry ( " Turkey " );
$ shippingAddress -> setAddress ( " Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1 " );
$ shippingAddress -> setZipCode ( " 34742 " );
$ request -> setShippingAddress ( $ shippingAddress );
$ billingAddress = new Iyzipay Model Address ();
$ billingAddress -> setContactName ( " Jane Doe " );
$ billingAddress -> setCity ( " Istanbul " );
$ billingAddress -> setCountry ( " Turkey " );
$ billingAddress -> setAddress ( " Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1 " );
$ billingAddress -> setZipCode ( " 34742 " );
$ request -> setBillingAddress ( $ billingAddress );
$ basketItems = array ();
$ firstBasketItem = new Iyzipay Model BasketItem ();
$ firstBasketItem -> setId ( " BI101 " );
$ firstBasketItem -> setName ( " Binocular " );
$ firstBasketItem -> setCategory1 ( " Collectibles " );
$ firstBasketItem -> setCategory2 ( " Accessories " );
$ firstBasketItem -> setItemType ( Iyzipay Model BasketItemType:: PHYSICAL );
$ firstBasketItem -> setPrice ( " 0.3 " );
$ basketItems [ 0 ] = $ firstBasketItem ;
$ secondBasketItem = new Iyzipay Model BasketItem ();
$ secondBasketItem -> setId ( " BI102 " );
$ secondBasketItem -> setName ( " Game code " );
$ secondBasketItem -> setCategory1 ( " Game " );
$ secondBasketItem -> setCategory2 ( " Online Game Items " );
$ secondBasketItem -> setItemType ( Iyzipay Model BasketItemType:: VIRTUAL );
$ secondBasketItem -> setPrice ( " 0.5 " );
$ basketItems [ 1 ] = $ secondBasketItem ;
$ thirdBasketItem = new Iyzipay Model BasketItem ();
$ thirdBasketItem -> setId ( " BI103 " );
$ thirdBasketItem -> setName ( " Usb " );
$ thirdBasketItem -> setCategory1 ( " Electronics " );
$ thirdBasketItem -> setCategory2 ( " Usb / Cable " );
$ thirdBasketItem -> setItemType ( Iyzipay Model BasketItemType:: PHYSICAL );
$ thirdBasketItem -> setPrice ( " 0.2 " );
$ basketItems [ 2 ] = $ thirdBasketItem ;
$ request -> setBasketItems ( $ basketItems );
$ payment = Iyzipay Model Payment:: create ( $ request , $ options );在样品目录下查看其他样品。
发展
安装依赖项:
composer install模拟测试卡
可用于模拟成功付款的测试卡:
| 卡号 | 银行 | 卡类型 |
|---|---|---|
| 5890040000000016 | Akbank | 主卡(借记) |
| 5526080000000006 | Akbank | 主卡(信用) |
| 4766620000000001 | Denizbank | 签证(借记) |
| 4603450000000000 | Denizbank | 签证(信用) |
| 4729150000000005 | Denizbank奖金 | 签证(信用) |
| 4987490000000002 | Finansbank | 签证(借记) |
| 5311570000000005 | Finansbank | 主卡(信用) |
| 9792020000000001 | Finansbank | 特洛伊(借记) |
| 9792030000000000 | Finansbank | 特洛伊(信用) |
| 5170410000000004 | GarantiBankası | 主卡(借记) |
| 5400360000000003 | GarantiBankası | 主卡(信用) |
| 3744270000003 | GarantiBankası | 美国运通 |
| 4475050000000003 | 哈克班克 | 签证(借记) |
| 5528790000000008 | 哈克班克 | 主卡(信用) |
| 4059030000000009 | 汇丰银行 | 签证(借记) |
| 5504720000000003 | 汇丰银行 | 主卡(信用) |
| 5892830000000000 | türki’işBankası | 主卡(借记) |
| 4543590000000006 | türki’işBankası | 签证(信用) |
| 4910050000000006 | vakıfbank | 签证(借记) |
| 4157920000000002 | vakıfbank | 签证(信用) |
| 5168880000000002 | YapıVeKrediBankası | 主卡(借记) |
| 5451030000000000 | YapıVeKrediBankası | 主卡(信用) |
跨境测试卡:
| 卡号 | 国家 |
|---|---|
| 4054180000000007 | 非turkish(借记) |
| 5400010000000004 | 非毒品(信用) |
测试卡获取特定的错误代码:
| 卡号 | 描述 |
|---|---|
| 5406670000000009 | 成功,但不能取消,退款或发布验证 |
| 411111111111129 | 没有足够的资金 |
| 412911111111111 | 不要荣誉 |
| 412811111111112 | 无效的交易 |
| 412711111111113 | 丢失的卡 |
| 412611111111114 | 被盗卡 |
| 412511111111115 | 过期的卡 |
| 412411111111116 | 无效的CVC2 |
| 412311111111117 | 不允许持牌人 |
| 4122111111111118 | 不允许终端 |
| 412111111111119 | 欺诈嫌疑人 |
| 412011111111110 | 拾取卡 |
| 413011111111118 | 一般错误 |
| 413111111111117 | 成功,但MDSTATUS是0 |
| 414111111111115 | 成功,但MDSTATUS是4 |
| 415111111111112 | 3标准初始化失败 |
模拟APM帐户
可用于使用替代付款方法模拟付款的模拟APM帐户:
| 帐户持有人名称 | 描述 |
|---|---|
| 成功 | 成功初始化后成功付款 |
| 输入后 | 成功初始化后付款失败 |
| 错误 | 失败初始化 |
测试
如上所述安装依赖项(将解决phpunit),然后您可以运行测试套件:
./vendor/bin/phpunit或运行单个测试文件:
./vendor/bin/phpunit tests/Iyzipay/Tests/Model/PaymentTest.php测试文件正在测试...
下载源码
通过命令行克隆项目:
git clone https://github.com/iyzico/iyzipay-php.git