Comment on page
Ödeme Alma
Pazaryeri Ödeme Alma Servisi İstek Modeli;
Metod | API URL | Parametreler |
---|---|---|
POST | https://posservice.esnekpos.com/api/pay/EYV3DPay | JSON File |
Pazaryeri Ödeme Alma Servisi İşlem Akışı;
Pazaryeri ödeme alma modelini kullanarak başarılı bir tahsilat gerçekleştirmek için aşağıda maddeler halinde açıklanan işlemleri takip ederek entegrasyonunuzu tamamlamanız gerekmektedir.
1. Adım:
Üye işyeri(Pazaryeri) kullanıcı, kart, sepet, ödeme tutar ve taksit bilgilerini, ödemenin sonucunun bildirilmesini istediği kendi web adresi(BACK_URL) bilgisi ile birlikte EsnekPos 3D ödeme servisine yukarıda belirtilmiş olan istek modelini kullanarak ödeme isteğini gönderir ve ödeme işlemini başlatmış olur.
Standart ödeme alma işlemine ek olarak “SubMerchantDetails” listesi eklenmiştir. Pazaryeri listede tahsilatta hangi mağazanın ne kadar ücret alacağını bildirecektir. Mağazaların alacağı tutarlar toplamı pazaryerinin alacağı toplam tutardan düşülerek kalan bakiye pazaryerine iletilecektir.
Servise gönderilmesi gereken parametreler şu şekildedir;
Pazaryeri Ödeme Alma Servisi İstek Mesajı Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
MERCHANT | string | Evet | Üye iş yerine(Pazaryeri) özel oluşturulan eşsiz kimlik bilgisidir. |
MERCHANT_KEY | string | Evet | Üye iş yerine(Pazaryeri) özel oluşturulan anahtar bilgisidir. |
BACK_URL | string | Evet | İşlem sonuç cevabının sistem tarafından döndürüleceği adres bilgisidir. İşlem cevabı üye iş yeri tarafından bu adresten okunacaktır. İşlem sonucu form post olarak gönderilir. |
PRICES_CURRENCY | string | Evet | Ödeme işleminin gerçekleştirileceği para birimi bilgisidir. Şu an için sadece “TRY, USD, EUR, GBP” gönderilebilir. |
ORDER_REF_NUMBER | string | Evet | Üye iş yeri tarafından verilecek referans numarası bilgisidir. Ödeme işlemleri bu referans numarası ile takip edilebilir. Maksimum 24 karakter kullanılabilir. |
ORDER_AMOUNT | string | Evet | Ödeme işlemine ait işlem tutarı bilgisidir. |
CC_NUMBER | string | Evet | Ödeme işleminin gerçekleştirileceği karta ait 16 haneli kart numarası bilgisidir. |
EXP_MONTH | string | Evet | Ödeme işleminin gerçekleştirileceği karta ait 2 haneli son kullanım tarihini ay bilgisidir. |
EXP_YEAR | string | Evet | Ödeme işleminin gerçekleştirileceği karta ait 4 haneli son kullanım tarihini yıl bilgisidir. |
CC_CVV | string | Evet | Ödeme işleminin gerçekleştirileceği kartın arka yüzünde bulunan 3 haneli güvenlik kodu bilgisidir. |
CC_OWNER | string | Evet | Ödeme işleminin gerçekleştirileceği kart sahibinin ad ve soyadı bilgisidir. |
INSTALLMENT_NUMBER | string | Evet | Ödeme işlemi için istenen taksit sayısı bilgisidir. Tek çekim işlemler için “1” bilgisi gönderilmelidir. |
FIRST_NAME | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) adı bilgisidir. |
LAST_NAME | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) soyadı bilgisidir. |
MAIL | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) mail bilgisidir. |
PHONE | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) telefon bilgisidir. |
CITY | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) şehir bilgisidir. |
STATE | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) ilçe bilgisidir. |
ADDRESS | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) adres bilgisidir. |
CLIENT_IP | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) IP bilgisidir. |
EXTERNAL_ID | string | Evet | Mağaza(submerchant)'nın pazaryerin(merchant) sistemindeki ID bilgisidir. Bu bilgi pazaryeri tarafından atanmaktadır. |
AMOUNT | string | Evet | Mağaza(submerchant)'a aktarılacak tutar bilgisidir. |
Servise gönderilecek örnek bir JSON dosyası şu şekildedir;
{
"Config":{
"MERCHANT":"TEST1234",
"MERCHANT_KEY":"4oK26hK8MOXrIV1bzTRVPA==",
"BACK_URL":"http://localhost:51062/Pages/EYV3DPay.aspx",
"PRICES_CURRENCY":"TRY",
"ORDER_REF_NUMBER":"412",
"ORDER_AMOUNT":"10.00"
},
"CreditCard":{
"CC_NUMBER":"4531444531442283",
"EXP_MONTH":"08",
"EXP_YEAR":"2023",
"CC_CVV":"000",
"CC_OWNER":"test",
"INSTALLMENT_NUMBER":"1"
},
"Customer":{
"FIRST_NAME":"--",
"LAST_NAME":"-",
"MAIL":"[email protected]",
"PHONE":"-",
"CITY":"-",
"STATE":"-",
"ADDRESS":"-",
"CLIENT_IP":"::1"
},
"SubMerchantDetails":[{
"EXTERNAL_ID":"EXTERNAL_ID1",
"AMOUNT":"5.00"
},
{
"EXTERNAL_ID":"EXTERNAL_ID2",
"AMOUNT":"4.00"
}]
}
2. Adım:
EsnekPos bilgileri değerlendirerek üye iş yerine(pazaryerine) cevap mesajını gönderir.(Cevap mesajı içerisinde URL_3DS alanı bulunur.)
Servisten işlem sonrasında gönderilen cevap mesajına ait parametreler şu şekildedir;
Pazaryeri Ödeme Alma Servisi Cevap Mesajı Parametreleri
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
ORDER_REF_NUMBER | string | Evet | Üye iş yeri(Pazaryeri) tarafından ödeme isteğinde, isteğe ait verilen referans numarası bilgisidir. |
STATUS | string | Evet | Ödeme işlemi sonucu durum bilgisidir. |
RETURN_CODE | string | Evet | Ödeme işlemi sonucu durumu kod bilgisidir. |
RETURN_MESSAGE | string | Evet | Ödeme işlemi sonucu durum mesaj bilgisidir. |
RETURN_MESSAGE_TR | string | Evet | Ödeme işlemi sonucu durum mesajı için Türkçe açıklama bilgisidir. |
ERROR_CODE | string | Evet | Başarısız ödeme işlemi sonucu hata kod bilgisidir. Banka hata kodları da bu parametre içerisinde dönüş yapılır. |
DATE | string | Evet | Ödeme işlemi için işlem tarihi bilgisidir. |
URL_3DS | string | Evet | Üye iş yerinin kullanıcıyı yönlendireceği 3D Doğrulama Sayfası URL Adresi |
REFNO | string | Evet | Ödeme işlemine ait EsnekPos sistemi tarafından verilen referans numarası bilgisi |
HASH | string | Evet | Ödeme işlemine ait EsnekPos sistemi tarafından oluşturulan hash bilgisi |
CUSTOMER_NAME | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) ad soyad bilgisidir. |
CUSTOMER_MAIL | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) mail bilgisidir. |
CUSTOMER_PHONE | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) telefon bilgisidir. |
CUSTOMER_ADDRESS | string | Evet | İşlemi gerçekleştiren kullanıcının(müşterinin) adres bilgisidir. |
CUSTOMER_CC_NUMBER | string | Evet | Ödeme işleminin gerçekleştirileceği karta ait 16 haneli kart numarası bilgisidir. Kart bilgisi şifrelenmiş şekilde paylaşılır. |
CUSTOMER_CC_NAME | string | Evet | Ödeme işleminin gerçekleştirileceği kart sahibinin ad ve soyadı bilgisidir. |
IS_NOT_3D_PAYMENT | string | Evet | Ödeme işleminin 3D gerçekleşip gerçekleşmediği bilgisidir. |
VIRTUAL_POS_VALUES | string | Evet | Ödeme işlemine ait sanalpos açıklamaları bilgisidir. |
RETURN_MESSAGE_3D | string | Evet | Bankadan alınan 3D ödeme işlemine ait cevap mesajı bilgisidir. |
{
"ORDER_REF_NUMBER": "412",
"STATUS": "SUCCESS",
"RETURN_CODE": "0",
"RETURN_MESSAGE": "SUCCESS",
"RETURN_MESSAGE_TR": null,
"ERROR_CODE": null,
"DATE": "12.08.2020 11:43:34",
"URL_3DS": "https://posservicetest.esnekpos.com/api/pay/3DSecurity/order/a8790d467f8d3fd718e0ecbb438cccfccd74ddca6a73bcd60a59bbb9ac8d4264",
"REFNO": "151038",
"HASH": "a8790d467f8d3fd718e0ecbb438cccfccd74ddca6a73bcd60a59bbb9ac8d4264",
"CUSTOMER_NAME": "-- -",
"CUSTOMER_MAIL": "[email protected]",
"CUSTOMER_PHONE": "-",
"CUSTOMER_ADDRESS": "-",
"CUSTOMER_CC_NUMBER": "453144******2283",
"CUSTOMER_CC_NAME": null,
"IS_NOT_3D_PAYMENT": false,
"VIRTUAL_POS_VALUES": null,
"RETURN_MESSAGE_3D": null
}
Pazaryeri Ödeme Alma işlem cevap mesajında
STATUS
parametresinin değeri SUCCESS ve RETURN_CODE
parametresinin değeri 0 olarak dönmesi 3D Ödeme işleminin kabul edildiğini ifade etmektedir. Bundan sonraki aşamada ödeme alınacak kullanıcıdan 3D doğrulama işlemi yapılacaktır.3. Adım:
Üye işyeri(Pazaryeri) aldığı cevabı değerlendirerek ödeme kabul edildi ise EsnekPos'un vermiş olduğu URL_3DS adresine müşteriyi yönlendirir.
4. Adım:
EsnekPos 3D doğrulama işlemlerini sonuçlandırır, ödemenin sonucunu üye işyerinin(Pazaryeri) 1. adımda bildirmiş olduğu BACK_URL adresine FORM POST metodu ile bildirir.
<html xmlns=\"http://www.w3.org/1999/xhtml\" >
<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=iso-8859-9\" /></head>
<body onload='document.forms[0].submit()'>
<form action='" + payment.DEALER_RESPONSE_URL + "' method='post'>
<input type='hidden' name='DATE' value='{0}'>
<input type='hidden' name='HASH' value='{0}'>
<input type='hidden' name='ORDER_REF_NUMBER' value='{0}'>
<input type='hidden' name='REFNO' value='{0}'>
<input type='hidden' name='RETURN_CODE' value='{0}'>
<input type='hidden' name='RETURN_MESSAGE' value='{0}'>
<input type='hidden' name='RETURN_MESSAGE_TR' value='{0}'>
<input type='hidden' name='STATUS' value='{0}'>
<input type='hidden' name='ERROR_CODE' value='{0}'>
<input type='hidden' name='CUSTOMER_NAME' value='{0}'>
<input type='hidden' name='CUSTOMER_MAIL' value='{0}'>
<input type='hidden' name='CUSTOMER_PHONE' value='{0}'>
<input type='hidden' name='CUSTOMER_ADDRESS' value='{0}'>
<input type='hidden' name='CUSTOMER_CC_NUMBER' value='{0}'>
<input type='hidden' name='CUSTOMER_CC_NAME' value='{0}'>
<input type='hidden' name='COMMISSION' value='{0}'>
<input type='hidden' name='AMOUNT' value='{0}'>
<input type='hidden' name='INSTALLMENT' value='{0}'>
</form>
</body>
</html>
Üye işyerine(Pazaryeri) gönderilen FORM POST mesajında
STATUS
parametresinin değeri SUCCESS ve RETURN_CODE
parametresinin değeri 0 olarak dönmesi pazaryeri ödeme alma işleminin sorunsuz bir şekilde gerçekleştiğini ifade etmektedir.- Ödeme durumundan emin olmak için PROCCESS_QUERY methodu ile sorgulama yapmanız ve PROCCESS_QUERY methodunun cevabını dikkate almanız gerekmektedir.
- Bu sorguyu client-side tarafında değil server to server olacak şekilde kurgulamanız gerekmektedir müşteri tarayıcısında yaptığınız bu PROCCESS_QUERY methodunun gör ünmemesi ve takip edilememesi gerekmektedir.
Last modified 4mo ago