Ödeme

Ödeme işleminin başlatılacağı metottur. İşlem sonucunda dönen “paymentUrl” adresine yönlendirme yapılarak, ödeme işlemi başlatılır. Ödeme işleminin sonuçlanması ile birlikte müşteri “callbackUrl” parametresi ile iletilen adrese yönlendirilir. Ödemeye ilişkin kesin sonuç bilgisi IPN servisi ile dış kurumun belirlediği bildirim adresine iletilir. Ayrıca, ödeme sorgu servisi ile de ödemenin sonucu sorgulanabilir.

Ödeme işlemi başlatılırken, doğrudan bir ödeme metodu hedefelenebilir veya kullanıcının mevcut seçenekler arasından kendisine uygun olan yöntemi belirlemesi sağlanabilir.

 

Ödeme Metot Kodları

Tüm ödeme seçenekleri, ayrı bir metot kodu ile tanımlanır. Ödeme işlemi bir metot kodu ile başlatılmışsa, kullanıcı doğrudan ilgili ödeme metoduna yönlendirilerek işlem yapması sağlanır. Eğer metot kodu “0” olarak iletilmişse, kullanıcı mevcut ödeme seçenekleri arasından kendisi için uygun olanı seçerek işlem yapabilir.

 

Ödeme metot kodları listesine, yönetim paneliniz üzerinden erişebilirsiniz.

 

Metot Endpoint Content-Type
POST {{baseURL}}/paymapi/v1/transaction/create application/json

 

Servise gönderilmesi gereken parametreler:

Parametre Tip Zorunlu Açıklama
credentials obj evet Güvenlik nesnesi. İşlemi gerçekleşitren kurumu tanımlamak için kullanılır.
    apiKey str evet API anahtarı. Bu bilgi yönetim panelinizde yer almaktadır.
    hash str evet Bu işlem için üretilen hash değeri. Bknz: Ödeme için hash üretimi
paymentMethodCode int hayır Ödeme metot kodu: Müşterinin hangi metot ile ödeme yapacağını belirler. Bknz: Ödeme Metot Kodları
orderId str evet Siparişe özel, benzersiz ID değeri
orderTotal flt evet Toplam ödeme tutarı
currencyCode str evet ISO 4217, üç haneli para birimi kodu.(TL için TRY)
items obj arr evet Siparişe konu olan ürünlerin listesi
    name str evet Ürün adı
    stockCode str hayır Ürünün stok kodu
    quantity int evet Ürün adedi
    price flt evet Ürün fiyatı
customer obj evet Müşteri bilgilerini içeren nesne
    id str hayır Müşteriye özel, benzersiz ID değeri
    name str evet Müşteri adı
    surname str evet Müşteri soyadı
    email str evet Müşteri e-posta adresi
    telephone str evet Müşteri telefon numarası (Ülke kodu ile birlikte, 12 haneli telefon numarası)
    ssn str * Müşteri TC kimlik numarası
    address str * Müşteri adresi
    city str * Müşterinin şehri
    country str * Müşterinin ülkesi
    zipCode str * Müşteri posta kodu
    ipAddr str evet Müşterinin IP adresi
callbackUrl str evet Ödeme sonucunda müşterinin yönlendirileceği URL

*Bazı ödeme metotları için gereklidir. Gönderilmediği taktirde varsayılan bilgiler ile ödemenin başlatıması denenir.

 

{
  "credentials":{
    "apiKey":"your-api-key",
    "hash":"hash-for-transaction"
  },
  "paymentMethodCode":0,
  "orderId":"order-id",
  "orderTotal":52.5,
  "currencyCode":"TRY",
  "items":[
    {
      "name":"product-name",
      "stockCode" :"stock-code",
      "quantity":10,
      "price":5.25
    }
  ],
  "customer" :{
    "id": "customer-id",
    "name": "customer-name",
    "surname": "customer-surname",
    "email": "customer@email",
    "telephone": "customer-telephone",
    "ssn": "customer-ssn",
    "address": "customer-address",
    "city": "customer-city",
    "country": "customer-country",
    "zipCode": "customer-zipcode",
    "ipAddr": "customer-ip"
  },
  "callbackUrl":"your-callback-url"
}

 

Sonuç Parametreleri

Parametre Tip Açıklama
data obj Data nesnesi
    paymentId int Ödemeye ilişkin ID değeri
    uuid str Ödemeye ilişkin UUID değeri
    paymentUrl str Müşterinizi yönlendirmeniz gereken URL
statusCode int İşlem durum kodu
statusMsg str İşlem durum mesajı

 

{
  "data": {
    "paymentId": 305,
    "uuid": "edc44396-e946-40e5-b530-8475bd624db2",
    "paymentUrl": "{{baseURL}}/payment/edc44396-e946-40e5-b530-8475bd624db2"
  },
  "statusCode": 100,
  "statusMsg": "OK"
}

 

Ödeme bağlantısı (paymentUrl) iletildikten sonra, ödemenin ~10 dakika içerisinde başlatılması beklenir. Bu sürede başlatılmayan ödeme işlemleri zamanaşımına uğrar ve ödeme bağlantısı geçerliliğini yitirir.

 

HASH

Sırası ile, “apiKey” + “orderId” + “secretKey” parametreleri birbirine eklenerek, SHA1 algoritması uygulanır. Elde edilen özet değer, base64 string olarak kodlanır.

base64(sha1(apiKey + orderId + secretKey))

Hash hesaplama, her metot için farklılık göstermektedir.