Taksitler
Taksit (installment) yalnızca kredi kartlarında kullanılabilir. Banka ve ön ödemeli kartlar her zaman tek çekimle tahsil edilir. Platform, belirli bir kartın üye işyerinizde hangi taksit sayılarıyla ödeme yapabileceğini ve maliyeti kimin üstlendiğini hesaplar; bu yüzden seçenekleri müşteriye göstermeden önce platforma sorun.
Her kart neden taksitle ödeme yapamaz
Türkiye'de taksit; Bonus, World, Axess, Maximum, Paraf ve Bankkart gibi kart programları üzerinden çalışır. Bir program tek bir sahip bankaya aittir; diğer bankalar da programa katılarak kredi kartlarına aynı programı taşıyabilir. Taksitli ödeme yalnızca aşağıdakilerin hepsi sağlandığında başarılı olur:
- fiyat listenizde o taksit sayısı için bir fiyat tanımlıdır ve hesabınızın bunu sunmasına izin verilmiştir;
- en az bir acquiring terminali kart için bu sayıyı çalıştırabilir. Bir terminal, kart terminalin kendi bankası tarafından ihraç edilmişse veya kartın programı terminalin bankasının desteklediği bir programsa taksit çalıştırır.
Sonuç karttan karta değişir; bu nedenle sabit bir liste sunmak yerine kartın BIN'i (ilk 6 ila 8 hanesi) ile önizleme istersiniz.
Seçenekleri önizleme
POST /v1/installment_plans/preview bir yayınlanabilir anahtar kabul eder; böylece müşteri kartın ilk hanelerini yazarken doğrudan ödeme sayfasından veya gizli anahtarla sunucunuzdan çağırabilirsiniz. Bu uç noktaya asla tam kart numarası göndermeyin.
{
"bin": "435508",
"amount": 100000,
"currency": "try"
}
curl -X POST https://pay.example.com/v1/installment_plans/preview \
-H "Authorization: Bearer pk_sandbox_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"bin": "435508", "amount": 100000, "currency": "try"}'
Kayıtlı bir kart için bin yerine "payment_method": "pm_…" gönderin.
{
"object": "installment_preview",
"card": {
"brand": "visa",
"card_type": "credit",
"program": "axess",
"programs": ["axess"],
"issuer_bank_code": "0046",
"domestic": true
},
"installment_surcharge_mode": "customer_pays",
"plans": [
{"count": 1, "amount": 100000, "surcharge": 0, "amount_charged": 100000, "per_installment": 100000, "first_installment": 100000},
{"count": 3, "amount": 100000, "surcharge": 3500, "amount_charged": 103500, "per_installment": 34500, "first_installment": 34500},
{"count": 6, "amount": 100000, "surcharge": 6900, "amount_charged": 106900, "per_installment": 35633, "first_installment": 35635}
]
}
plans yalnızca bu kartın sizinle gerçekten ödeyebileceği sayıları listeler; herhangi bir terminal kartı kabul edebiliyorsa 1 sayısı her zaman listelenir. Banka kartı veya yabancı kart genellikle yalnızca 1 sayısını alır.
Kim öder: installment_surcharge_mode
merchant_absorbs: müşteri ana tutarınparça halinde öder; maliyet size aittir.surchargedeğeri0'dır.customer_pays: o taksit sayısı için bir vade farkı eklenir. Karttanamount_charged = amount + surchargetahsil edilir.
Her plandaki tutarlar minor birimlerle ifade edilen tam sayılardır:
| Alan | Anlamı |
|---|---|
amount |
Ana tutar B; sizin belirlediğiniz fiyat. |
surcharge |
Müşterinin ödediği taksit maliyeti S (siz üstlenirseniz 0). |
amount_charged |
Karttan tahsil edilen tutar: A = B + S. |
per_installment |
floor(A / count). |
first_installment |
Yuvarlama kalanını taşıyan ilk taksit: A - (count - 1) × per_installment. |
Müşteriye amount_charged değerini ve taksit başına tutarı gösterin.
Taksitle ödeme
Ödemeyi oluştururken veya onaylarken seçilen sayıyı gönderin. amount alanını ana tutar olarak bırakın; vade farkını platform ekler.
{
"amount": 100000,
"currency": "try",
"confirm": true,
"payment_method_data": {
"type": "card",
"card": {
"number": "4355080000000013",
"exp_month": 12,
"exp_year": 2030,
"cvc": "123",
"holder_name": "Test Customer"
},
"billing_details": {
"name": "Test Customer",
"address": {"line1": "Bagdat Caddesi 1", "city": "Kadikoy", "country": "TR"}
}
},
"payment_method_options": {"card": {"installments": {"count": 3}}},
"return_url": "https://shop.example.com/pay/return"
}
Ödeme bu durumda installments: 3, amount: 100000 (ana tutar), surcharge: 3500 ve amount_charged: 103500 değerlerini gösterir. Satışa sonradan yapılan göndermeler ana tutarı kullanır: amount_received ve iadeler (POST /v1/refunds) ana tutar birimindedir. Ana tutarın tamamının iadesi, orantılı vade farkını da karta geri döndürür (amount_returned_to_card).
Hatalar
| Hata | Anlamı |
|---|---|
402 installments_not_available (card_error, decline_code: installment_not_supported, param: payment_method_options[card][installments][count]) |
Hiçbir terminal bu kart için bu sayıyı çalıştırmıyor. Önizlemeyi çağırın ve listelenen sayılardan birini sunun. |
402 no_eligible_terminal |
Hiçbir terminal bu kartı hiçbir şekilde kabul edemiyor; tahsilat yapılmadı. |
İhraççıdan gelen decline_code: installment_not_supported ile 402 |
Kartı ihraç eden banka bu kart için taksiti reddetti. Tek çekim olarak veya başka bir kartla yeniden deneyin. |
Sunduğunuz seçenekleri her zaman güncel bir önizlemeye dayandırın: terminaller, programlar ve fiyat listeniz değişebilir.