iyzipay php

其他类别 2025-08-21

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