Documentation Index Fetch the complete documentation index at: https://docs.payven.com.tr/llms.txt
Use this file to discover all available pages before exploring further.
Non-3D ödeme, en basit ödeme akışıdır. Tek bir API isteğiyle ödeme tamamlanır — kart bilgileri Payven’e iletilir, Payven banka onayını alır ve sonucu döner.
Risk: Non-3D işlemlerde kart sahibi doğrulaması yapılmadığı için chargeback (ters ibraz) sorumluluğu sizdedir. Tüketici ödemelerinde 3D Secure önerilir. Non-3D, kapalı devre B2B ortamları veya düşük risk segmentleri için uygundur.
Endpoint
Akış
İstek
curl -X POST https://vpos.payven.com.tr/api/v1/payments \
-H "X-API-Key: $PAYVEN_KEY " \
-H "X-API-Secret: $PAYVEN_SECRET " \
-H "X-Merchant-Id: $PAYVEN_MERCHANT " \
-H "Idempotency-Key: order-1001-payment" \
-H "Content-Type: application/json" \
-d '{
"externalId": "ORDER-1001",
"amount": 15000,
"currency": "TRY",
"installment": 1,
"use3D": false,
"card": {
"holderName": "Test Kullanici",
"number": "4546711234567894",
"expireMonth": "12",
"expireYear": "2030",
"cvv": "000"
},
"buyer": {
"id": "cust-001",
"email": "musteri@example.com",
"ip": "85.105.10.10"
},
"metadata": {
"campaignId": "summer-2026"
}
}'
İstek alanları
Alan Tip Zorunlu Açıklama externalIdstring ✅ Sipariş kimliğiniz amountint ✅ Tutar (kuruş) currencyenum ✅ TRY, USD, EUR, GBPinstallmentint ✅ Taksit sayısı (1 = peşin) use3Dbool ✅ falsecard.holderNamestring ✅ Kart üzerindeki isim card.numberstring ✅ Kart numarası (boşluksuz) card.expireMonthstring ✅ İki hane (01–12) card.expireYearstring ✅ Dört hane card.cvvstring ✅ 3-4 hane buyer.idstring ⚠️ Müşteri kimliğiniz (fraud için faydalı) buyer.emailstring ⚠️ Müşteri e-postası buyer.ipstring ⚠️ Müşterinin IP adresi metadataobject ❌ Sizin tanımladığınız anahtar-değer çiftleri
Başarılı yanıt
{
"isSuccess" : true ,
"code" : "200" ,
"message" : "Başarılı." ,
"data" : {
"id" : "8e3f5c12-..." ,
"externalId" : "ORDER-1001" ,
"status" : "Success" ,
"amount" : 15000 ,
"currency" : "TRY" ,
"installment" : 1 ,
"use3D" : false ,
"card" : {
"binNumber" : "454671" ,
"lastFourDigits" : "7894" ,
"scheme" : "Visa" ,
"type" : "Credit" ,
"program" : "Bonus" ,
"bankCode" : "GARANTI" ,
"bankName" : "Garanti BBVA"
},
"connector" : {
"code" : "GarantiVPOS" ,
"responseCode" : "00" ,
"responseMessage" : "Onaylandı" ,
"hostReference" : "PAYVEN-REF-789" ,
"authCode" : "123456"
},
"createdAt" : "2026-05-03T12:34:56Z" ,
"completedAt" : "2026-05-03T12:34:58Z"
}
}
status: "Success" → ödeme başarıyla tamamlandı.
Başarısız yanıt
Banka tarafından reddedilen bir ödeme:
{
"isSuccess" : false ,
"code" : "BANK_DECLINED" ,
"message" : "Banka işlemi reddetti." ,
"data" : {
"id" : "8e3f5c12-..." ,
"externalId" : "ORDER-1001" ,
"status" : "Failed" ,
"connector" : {
"code" : "GarantiVPOS" ,
"responseCode" : "51" ,
"responseMessage" : "Yetersiz bakiye"
}
}
}
connector.responseCode ve responseMessage alanları banka tarafından dönen orijinal yanıttır. Tam liste için: Banka Yanıt Kodları .
Sonraki adımlar
3D Secure'a geçin Tüketici işlemlerinde chargeback riskini azaltın.
İade işlemi Tam veya kısmi iade nasıl yapılır?
Webhook entegre edin Asenkron sonuçları gerçek zamanlı alın.
Akıllı yönlendirme Birden fazla bankaya nasıl yönlendirilir?