Você pode se inscrever para uma conta iyzico em https://iyzico.com
PHP 7.4 e posterior.
O TLS v1.2 mínimo será suportado após março de 2018. Atualize sua versão do openssl para no mínimo 1.0.1. Se você tiver alguma dúvida, abra um problema no Github ou entre em contato conosco pelo e-mail integraçã[email protected].
Você pode instalar as ligações via Composer. Execute o seguinte comando:
composer require iyzico/iyzipay-php
Para usar as ligações, use o carregamento automático do Composer:
require_once ( ' vendor/autoload.php ' );
Se não quiser usar o Composer, você pode baixar a versão mais recente. Então, para usar as ligações, inclua o arquivo 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.iyzipay.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 protected] " );
$ 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 );
Veja outros exemplos no diretório de exemplos.
Instale dependências:
composer install
Cartões de teste que podem ser usados para simular um pagamento bem-sucedido :
Número do cartão | Banco | Tipo de cartão |
---|---|---|
5890040000000016 | Akbank | Cartão Master (Débito) |
5526080000000006 | Akbank | Cartão Master (Crédito) |
4766620000000001 | Denizbank | Visto (Débito) |
4603450000000000 | Denizbank | Visto (crédito) |
4729150000000005 | Bônus Denizbank | Visto (crédito) |
4987490000000002 | Finansbank | Visto (Débito) |
5311570000000005 | Finansbank | Cartão Master (Crédito) |
9792020000000001 | Finansbank | Tróia (Débito) |
9792030000000000 | Finansbank | Tróia (crédito) |
5170410000000004 | Garant Bankası | Cartão Master (Débito) |
5400360000000003 | Garant Bankası | Cartão Master (Crédito) |
374427000000003 | Garant Bankası | American Express |
4475050000000003 | Halkbank | Visto (Débito) |
5528790000000008 | Halkbank | Cartão Master (Crédito) |
4059030000000009 | Banco HSBC | Visto (Débito) |
5504720000000003 | Banco HSBC | Cartão Master (Crédito) |
5892830000000000 | Turquia e Bankası | Cartão Master (Débito) |
4543590000000006 | Turquia e Bankası | Visto (crédito) |
4910050000000006 | Vakıfbank | Visto (Débito) |
4157920000000002 | Vakıfbank | Visto (crédito) |
5168880000000002 | Yapı e Kredi Bankası | Cartão Master (Débito) |
5451030000000000 | Yapı e Kredi Bankası | Cartão Master (Crédito) |
Cartões de teste transfronteiriços :
Número do cartão | País |
---|---|
4054180000000007 | Não Turco (Débito) |
5400010000000004 | Não turco (crédito) |
Teste os cartões para obter códigos de erro específicos:
Número do cartão | Descrição |
---|---|
5406670000000009 | Sucesso, mas não pode ser cancelado, reembolsado ou pós-autorização |
4111111111111129 | Fundos insuficientes |
4129111111111111 | Não honre |
4128111111111112 | Transação inválida |
4127111111111113 | Cartão perdido |
4126111111111114 | Cartão roubado |
4125111111111115 | Cartão expirado |
4124111111111116 | CVC2 inválido |
4123111111111117 | Não é permitido ao titular do cartão |
4122111111111118 | Não é permitido terminal |
4121111111111119 | Suspeito de fraude |
4120111111111110 | Cartão de retirada |
4130111111111118 | Erro geral |
4131111111111117 | Sucesso, mas mdStatus é 0 |
4141111111111115 | Sucesso, mas mdStatus é 4 |
4151111111111112 | Falha na inicialização do 3dsecure |
Contas APM simuladas que podem ser usadas para simular um pagamento com método de pagamento alternativo:
Nome do titular da conta | Descrição |
---|---|
sucesso | Pagamento bem-sucedido após inicialização bem-sucedida |
falha após inicialização | Falha no pagamento após inicialização bem-sucedida |
erro | Falha na inicialização |
Instale as dependências conforme mencionado acima (que resolverá o PHPUnit), então você pode executar o conjunto de testes:
./vendor/bin/phpunit
Ou para executar um arquivo de teste individual:
./vendor/bin/phpunit tests/Iyzipay/Tests/Model/PaymentTest.php
O arquivo de teste está testando...