Servis İle BKM Express

BKM Express Ödeme Servisi İstek Modeli

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

Product

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

                                            
{
    "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.

Last updated