Payment Orchestrator
Sipariş Bilgileri

Sipariş Bilgileri

Ödeme isteğinde tutarın yanında siparişin kendisini de anlatabilirsiniz: neyin satıldığını (basketItems), kimin ödediğini (buyer, customerId) ve siparişin nereye teslim edilip kime faturalandığını (shippingAddress, billingAddress). Bu alanların hepsi isteğe bağlıdır. Gönderdiğiniz her nesne kendi kurallarıyla doğrulanır.

Hangi uç ne alır

UçbasketItemsbuyercustomerIdshippingAddressbillingAddress
POST /payments/intents (Checkout Formu)Var; sigorta alanlarıylaVar; alanların hepsi isteğe bağlıVarVarVar
POST /payments/marketplace/intentsVarVar; alanların hepsi isteğe bağlıVarVarVar
POST /payments/direct/payment (Payment)VarVarVarVarVar
POST /payments/marketplace/2d, /marketplace/3d (Pazaryeri)VarVarVarVarVar
POST /payments/links (Linkle Ödeme)Yok; kendi items[] alanıYok; buyerFields ve prefillYokYokYok
  • Checkout Formu'nda bu bilgileri intent'i oluştururken gönderirsiniz. Formun kendi çağrıları (/payments/form/...) bu alanları almaz.
  • Alanların adı ve biçimi bütün uçlarda aynıdır. İki fark vardır: kalemdeki sigorta alanlarını yalnız POST /payments/intents kabul eder (Sepet Kalemleri); buyer alanlarının zorunluluğu uca göre değişir (Alıcı Bilgileri).
  • Tanımlanmamış bir alan gönderirseniz istek 400 VALIDATION_ERROR ile reddedilir.

Örnek istek gövdesi

Sepet, alıcı ve adres birlikte; değerler örnektir. Aynı alanlar POST /payments/direct/payment isteğinde de aynı ad ve biçimle gönderilir.

{
  "amount": 15000,
  "currency": "TRY",
  "orderId": "ORDER-1001",
  "callbackUrl": "https://merchant.example.com/payment/callback",
  "customerId": "CUST-1",
  "buyer": {
    "id": "CUST-1",
    "name": "Ada",
    "surname": "Yılmaz",
    "identityNumber": "11111111111",
    "email": "[email protected]",
    "gsmNumber": "+905000000000",
    "city": "İstanbul",
    "country": "Turkey",
    "zipCode": "34732",
    "ip": "203.0.113.10",
    "registrationDate": "2024-04-21 15:12:09"
  },
  "shippingAddress": {
    "contactName": "Ada Yılmaz",
    "address": "Altunizade Mah. Örnek Sok. No: 1",
    "city": "İstanbul",
    "country": "Turkey",
    "zipCode": "34662"
  },
  "billingAddress": {
    "contactName": "Ada Yılmaz",
    "address": "Altunizade Mah. Örnek Sok. No: 1",
    "city": "İstanbul",
    "country": "Turkey",
    "zipCode": "34662"
  },
  "basketItems": [
    { "id": "BI-1", "name": "Dürbün", "category1": "Optik", "itemType": "PHYSICAL", "price": 10000 },
    { "id": "BI-2", "name": "Taşıma çantası", "category1": "Aksesuar", "itemType": "PHYSICAL", "price": 5000 }
  ]
}

Tutarlar kuruş cinsinden tam sayıdır. Kalemlerin price toplamı amount'a eşit olmalıdır: 10000 + 5000 = 15000.

Ayrıntı sayfaları

  • Sepet Kalemleri: kalem alanları, kurallar, hata alan yolları ve isteğe bağlı sigorta alanları
  • Alıcı Bilgileri: buyer nesnesi, customerId, zorunluluk kuralı ve hata alan yolları
  • Adres Bilgileri: shippingAddress ve billingAddress, farkları, zorunluluk ve hata alan yolları