API reference

Sandbox ve test kartları

Bir sandbox kurulumu canlı gibi davranır, ancak her banka, 3-D Secure sayfası ve sahtecilik servisi simüle edilir ve gerçek para hareket etmez. Anahtarlar sk_sandbox_ ile başlar, nesnelerde livemode: false bulunur ve üye işyeri paneli bir sandbox bandı gösterir. Sandbox ve canlı; ayrı anahtarlara, webhook'lara ve verilere sahip ayrı kurulumlardır.

Bilmeniz gereken farklar:

Test kartı verileri

Aşağıdaki numaralardan herhangi birini son kullanma tarihi 12/2030, CVC 123 (Amex: 1234) ve herhangi bir kart sahibi adıyla kullanın. Luhn kontrolünü geçen diğer her kart numarası onaylanır; geçemeyen numara invalid_card olarak reddedilir. Sandbox'ta asla gerçek kart numaraları kullanmayın.

Onaylanan kartlar

Numara Kart
4109090000000011 Visa kredi, yerli
5109090000000018 Mastercard kredi, yerli
4109100000000018 Visa ön ödemeli, yerli
4355080000000013 Visa kredi, yerli, Axess programı (taksit)
5400610000000019 Mastercard kredi, yerli, Axess programı (taksit)
4766100000000012 Visa kredi, yerli, Bonus programı (taksit)
4894500000000018 Visa kredi, yerli, World programı (taksit)
4543600000000011 Visa kredi, yerli, Maximum programı (taksit)
4355090000000012 Visa banka kartı, yerli (yalnızca tek çekim)
9792010000000010 Troy banka kartı, yerli (yalnızca tek çekim)
4111111111111111 Visa kredi, yabancı
5555555555554444 Mastercard kredi, yabancı

Reddedilen kartlar

Ret senaryosu numaranın içine yerleştirilmiştir; yanıt, gösterilen decline_code ile birlikte 402 card_error olur.

Numara decline_code
4109090000000508 do_not_honor
4109090000000516 insufficient_funds
4109090000000524 lost_card
4109090000000532 stolen_card
4109090000000540 expired_card
4109090000000557 incorrect_cvc
4109090000000565 invalid_card
4109090000000573 transaction_not_allowed
4109090000000581 card_not_supported
4109090000000599 fraudulent
4109090000000607 installment_not_supported
4109090000000615 limit_exceeded
4109090000000623 restricted_card
4109090000000649 issuer_unavailable (geçici; gerçek bir ihraççıda yeniden deneme başarılı olabilir)
4109090000000656 processing_error (geçici)

3-D Secure senaryoları

Numara Ne olur
4109090000000631 Müşterinin kimlik doğrulaması başarısız olur: decline_code: authentication_failed.
4109090000000664 Kart 3-D Secure gerektirir. Bunu atlayacak ödemeler reddedilir (transaction_not_allowed); 3-D Secure ile ödeme başarılı olur.
4109090000000672 Doğrulama adımı (challenge) yarıda bırakılır: müşteri hiç geri dönmez ve ödeme requires_action durumunda kalır.

Onaylanan diğer her kart, platform gerekli gördüğünde 3-D Secure'dan geçer ve simüle edilen banka sayfası bunu otomatik olarak tamamlar.

Yavaş veya belirsiz banka yanıtları

Numara Ne olur
4109090000000706 Bankada teknik hata (processing_error).
4109090000000714 Banka zaman aşımına uğrar, ardından platform ödemeyi onaylanmış bulur. Ödeme önce processing olur ve succeeded ile biter.
4109090000000722 Banka zaman aşımına uğrar, ardından platform hiçbir şey bulamaz. Ödeme önce processing olur ve başarısızlıkla biter.

Bu ikisi için webhook'lara güvenin: ilk yanıt nihai yanıt değildir.

Sihirli tutarlar

Hangi kartı kullanırsanız kullanın, tahsil edilen minor birim tutarın son iki hanesi bir senaryo seçer. Müşterinin ödediği bir taksit vade farkı varsa geçerli olan tutar amount değil amount_charged değeridir. 00 ile 39 arasında biten tutarlar nötrdür; örneğin 100000.

Son iki hane Sonuç
41 Sahtecilik taraması: inceleme (fraud_status: review).
42 Sahtecilik taraması: ret (fraud_error, fraudulent).
50 do_not_honor
51 insufficient_funds
52 lost_card
53 stolen_card
54 expired_card
55 incorrect_cvc
56 invalid_card
57 transaction_not_allowed
58 card_not_supported
59 fraudulent
60 installment_not_supported
61 limit_exceeded
62 restricted_card
63 3-D Secure kimlik doğrulaması başarısız olur (authentication_failed)
64 issuer_unavailable
65 processing_error
66 Kart 3-D Secure gerektirir (güvenli olmayan deneme reddedilir)
67 3-D Secure doğrulama adımı yarıda bırakılır

Bir kart senaryosu (yukarıdaki numaralar) tutar sonekinin önüne geçer. Örneğin 4109090000000508 kartı tutar ne olursa olsun do_not_honor ile reddedilirken, 12551 (125,51 TRY) tutarındaki onaylanan bir kart insufficient_funds ile reddedilir.

Canlıya geçmeden önce denenecekler

  1. 3-D Secure ile ve 3-D Secure olmadan başarılı bir ödeme; hem webhook'tan hem de dönüş sayfasından ele alınmış olarak.
  2. Müşteriye farklı ifade etmek istediğiniz her ret.
  3. Başarısız olan ve yeni bir Idempotency-Key ile yeniden denenen bir ödeme.
  4. Capture (capture_method: manual), kısmi capture ve bir iptal.
  5. Satış günü tam iade (iptal), aynı gün kısmi iade ve sonraki bir günde iade. İadeler kılavuzuna bakın.
  6. Önizleme ve desteklenmeyen bir sayı için hata dahil olmak üzere bir taksitli ödeme.
  7. Webhook imza doğrulaması, bir yeniden deneme (bir kez 500 ile yanıt verin) ve bir olayın yeniden oynatılması.
  8. Uyarıyı görmek için izin listenizde olmayan bir IP adresinden gelen istek.