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
测试文件正在测试…
