Servis İle BKM Express

BKM Express Ödeme Servisi İstek Modeli
Metod
API URL
Parametreler
POST
https://posservice.esnekpos.com/api/bkm/BkmPayment
JSON File
BKM Express Ödeme Servisi İşlem Akışı;
BKM Express ödeme servis modeli ile 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 kullanıcı, sepet, ödeme tutar bilgilerini ödemenin sonucunun bildirilmesini istediği kendi web adresi(BACK_URL) bilgisi ile birlikte EsnekPos BKM Express Ödeme Servisi yukarıda belirtilmiş olan istek modelini kullanarak ödeme isteğini gönderir ve ödeme işlemini başlatmış olur.
Güvenli ve sorunsuz bir şekilde işlemlerin gerçekleşebilmesi ve fraud işlemlerin önlenebilmesi için tüm parametrelerin eksiksiz bir şekilde gönderilmesi gerekmektedir.
Servise gönderilmesi gereken parametreler şu şekildedir;
BKM Express Ödeme Servisi İstek Mesajı Parametreleri
Parametre
Tip
Zorunlu
Açıklama
MERCHANT
string
Evet
Üye iş yerine özel oluşturulan eşsiz kimlik bilgisidir.
MERCHANT_KEY
string
Evet
Üye iş yerine özel oluşturulan anahtar bilgisidir.
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.
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.
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.
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.
Product
Parametre
Tip
Zorunlu
Açıklama
PRODUCT_ID
string
Evet
Ürüne üye işyeri tarafından verilen ID bilgisidir.
PRODUCT_NAME
string
Evet
Ürünün ad bilgisidir.
PRODUCT_CATEGORY
string
Evet
Ürünün kategori bilgisidir.
PRODUCT_DESCRIPTION
string
Evet
Ürünün açıklama bilgisidir.
PRODUCT_AMOUNT
string
Evet
Ürünün tutar bilgisidir.
Servise gönderilecek örnek bir JSON dosyası şu şekildedir;
{
"Config" : {
"MERCHANT" : "TEST1234",
"MERCHANT_KEY" : "4oK26hK8MOXrIV1bzTRVPA==",
"ORDER_REF_NUMBER" : "RFN0003",
"ORDER_AMOUNT" : "150",
"PRICES_CURRENCY" : "TRY",
"BACK_URL" : "İşlem sonucunda sizin belirleyeceğiniz dönüş url adresi"
},
"Customer" : {
"FIRST_NAME" : "Firstname",
"LAST_NAME" : "Lastname",
"MAIL" : "[email protected]",
"PHONE" : "05435434343",
"CITY" : "İstanbul",
"STATE" : "Kağıthane",
"ADDRESS" : "Merkez Mahallesi, Ayazma Cd. No:37/91 Papirus Plaza Kat:5, 34406 Kağıthane / İSTANBUL"
},
"Product" : [
{
"PRODUCT_ID" : "1",
"PRODUCT_NAME" : "Ürün Adı 1",
"PRODUCT_CATEGORY" : "Elektronik",
"PRODUCT_DESCRIPTION" : "Ürün Açıklaması",
"PRODUCT_AMOUNT" : "80"
},
{
"PRODUCT_ID" : "2",
"PRODUCT_NAME" : "Ürün Adı 1",
"PRODUCT_CATEGORY" : "Ev Tekstili",
"PRODUCT_DESCRIPTION" : "Ürün Açıklaması",
"PRODUCT_AMOUNT" : "70"
}
]
}
2. Adım:
EsnekPos bilgileri değerlendirerek üye iş yerine 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;
BKM Express Ödeme Servisi Cevap Mesajı Parametreleri
Parametre
Tip
Zorunlu
Açıklama
ORDER_REF_NUMBER
string
Evet
Üye iş yeri 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": "RFN0003",
"STATUS": "SUCCESS",
"RETURN_CODE": "0",
"RETURN_MESSAGE": "SUCCESS",
"RETURN_MESSAGE_TR": null,
"ERROR_CODE": null,
"DATE": "25.04.2021 18:51:00",
"URL_3DS": "http://pos.esnekpos.com/Pages/BkmPayment.aspx?hash=d1488016d0e0e361c9cea3dea839bbc3d315199a6aece31e3b6534d3b7c56305",
"REFNO": "58874",
"HASH": "d1488016d0e0e361c9cea3dea839bbc3d315199a6aece31e3b6534d3b7c56305",
"CUSTOMER_NAME": null,
"CUSTOMER_MAIL": null,
"CUSTOMER_PHONE": null,
"CUSTOMER_ADDRESS": null,
"CUSTOMER_CC_NUMBER": null,
"CUSTOMER_CC_NAME": null,
"IS_NOT_3D_PAYMENT": false,
"VIRTUAL_POS_VALUES": null,
"RETURN_MESSAGE_3D": null
}
BKM Express Ödeme Servisi işlem cevap mesajında STATUS parametresinin değeri SUCCESS ve RETURN_CODE parametresinin değeri 0 olarak dönmesi BKM Express Ödeme işleminin kabul edildiğini ifade etmektedir. Bundan sonraki aşamada ödeme yapacak kullanıcıdan BKM Express hesap giriş bilgileri ve ve taksit bilgileri alınarak ödeme yapılacaktır.
3. Adım:
Üye işyeri aldığı cevabı değerlendirerek ödeme kabul edildi ise EsnekPos'un vermiş olduğu URL_3DS adresine müşteriyi yönlendirir.
4. Adım:
EsnekPos kullanıcıdan BKM Express hesap bilgilerini ve taksit bilgilerini kendi sunucularında kendi güvenlik önlemlerini kullanarak alır ve ödeme sürecini ilerletir.
5. Adım:
EsnekPos 3D doğrulama işlemlerini sonuçlandırır, ödemenin sonucunu üye işyerinin 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='RETURN_CODE' value='{0}'>
<input type='hidden' name='RETURN_MESSAGE' value='{0}'>
<input type='hidden' name='STATUS' value='{0}'>
</form>
</body>
</html>
Üye işyerine gönderilen FORM POST mesajında STATUS parametresinin değeri SUCCESS ve RETURN_CODE parametresinin değeri 0 olarak dönmesi 3D Ödeme 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.
BKM Express Test Hesap Bilgileri
Text
Kullanıcı Adı
Şifre
147258
Doğrulama Kodu
123456