Ö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.
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 |
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ı |
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"
}
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.
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.