Tekrarlı Ödeme Servisi

Tekrarlı Ödeme Servisi İstek Modeli;

Metod API URL Parametreler
POST https://posservice.elekse.com/api/pay/EYV3DPay JSON File

Tekrarlı Ödeme Servisi İşlem Akışı;

Tekrarlı ödeme 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 kullanıcı, kart, sepet, ödeme tutar ve ödemenin kaç ay tekrar edileceğini, ödemenin sonucunun bildirilmesini istediği kendi web adresi(BACK_URL) bilgisi ile birlikte EsnekPos tekrarlı ödeme servisine 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;

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.
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.
REPEAT string Evet Ödeme işlemine kaç ay tekrar edileceği 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.
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 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==",
         "BACK_URL" : "İşlem sonucunun üye iş yerine döndürüleceği url adresi",
         "PRICES_CURRENCY" : "TRY",
         "ORDER_REF_NUMBER" : "RFN0004",
         "ORDER_AMOUNT" : "150",
         "REPEAT" : "9"
     },
     "CreditCard" : {
         "CC_NUMBER" : "4159562885391991",
         "EXP_MONTH" : "12",
         "EXP_YEAR" : "2023",
         "CC_CVV" : "000",
         "CC_OWNER" : "TEST USER"
     },
     "Customer" : {
         "FIRST_NAME" : "Firstname",
         "LAST_NAME" : "Lastname",
         "MAIL" : "destek@esnekpos.com",
         "PHONE" : "02122356600",
         "CITY" : "İstanbul",
         "STATE" : "Şişli",
         "ADDRESS" : "Merkez Mah. Akar Cd. No:3/115 ITower Plaza Kat:17 Bomonti Şişli/İstanbul",
         "CLIENT_IP" : "123.44.66.38"
     },
     "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"
         }
     ]
}
                                        
                                        PaymentRequest  paymentRequest =  new PaymentRequest();
paymentRequest.Config =  new PaymentRequest.EYVConfig();
paymentRequest.Config.MERCHANT =  "TEST1234";
paymentRequest.Config.MERCHANT_KEY =  "4oK26hK8MOXrIV1bzTRVPA==";
paymentRequest.Config.ORDER_AMOUNT =  "15,00";
paymentRequest.Config.PRICES_CURRENCY =  "TRY";
paymentRequest.Config.BACK_URL =  "site dönüş url";
paymentRequest.Config.ORDER_REF_NUMBER =  "esnekpos01";
paymentRequest.Config.REPEAT =  "9";

paymentRequest.CreditCard =  new PaymentRequest.EYVCreditCard();
paymentRequest.CreditCard.CC_OWNER =  "Kart Üzerinde Yazan İsim"; 
paymentRequest.CreditCard.CC_NUMBER =  "Kart Numarası"; 
paymentRequest.CreditCard.EXP_MONTH =  "Kart Ay numarası"; 
paymentRequest.CreditCard.EXP_YEAR =  "Kart Yıl Numarası"; 
paymentRequest.CreditCard.CC_CVV  =  "Kart Güvenlik Kodu"; 

paymentRequest.Customer =  new PaymentRequest.EYVCustomer();
paymentRequest.Customer.FIRST_NAME =  "Müşteri Ad";
paymentRequest.Customer.LAST_NAME =  "Müşteri Soyad";
paymentRequest.Customer.ADDRESS =  "Müşteri Adres";
paymentRequest.Customer.MAIL =  "Müşteri Mail Adresi";
paymentRequest.Customer.PHONE  =  "müşteri Telefon";
paymentRequest.Customer.CITY =  "Şehir";
paymentRequest.Customer.STATE =  "İlçe";
                                        

2. Adım:

EsnekPos sistemi işlemlerini sonuçlandırır, tekrarlı ö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='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 gönderilen FORM POST mesajında STATUS parametresinin değeri SUCCESS ve RETURN_CODE parametresinin değeri 0 olarak dönmesi Tekrarlı Ödeme işleminin sorunsuz bir şekilde gerçekleştiğini ifade etmektedir.