Paynet API

Özet

Paynet API REST servislerini kullanmaktadır. HTTP protokolü kullanılmasından dolayı API hatalarını göstermek için HTTP yanıt kodları kullanmak üzere tasarlanmıştır. API ile güvenli etkileşim sağlamak için basic authentication yapısı kullanılmaktadır. API Servisleri json,XML ve form parametresi olarak application/x-www-form-urlencoded formatlarını desteklemektedir. Tüm cevaplar json veya xml formatında dönebilmektedir.

Servis kullanımında XML veri gönderip XML cevap almak istiyorsanız HTTP Header'da aşağıdaki başlıkların gönderilmesi gerekiyor.

                    Content-Type : "application/xml; charset=UTF-8"
			        Accept 	     : "application/xml; charset=UTF-8"

Servis kullanımında Json veri gönderip Json cevap almak istiyorsanız HTTP Header'da aşağıdaki başlıkların gönderilmesi gerekiyor.
                    Content-Type : "application/json; charset=UTF-8"
			        Accept 	     : "application/json; charset=UTF-8"

Servis kullanımında application/x-www-form-urlencoded ile veri gönderip Json cevap almak istiyorsanız HTTP Header'da aşağıdaki başlıkların gönderilmesi gerekiyor.
                    Content-Type : "application/x-www-form-urlencoded; charset=UTF-8"
			        Accept 	     : "application/json; charset=UTF-8"
Servis ve Script URL'leri Nesnesi Test Sistemi Canlı Sistem
REST API servislerini çağırmak için kullanılacak domain adresi. https://pts-api.paynet.com.tr https://api.paynet.com.tr
Gömülü form entegrasyonu için kullanılacak javascript kutüphanesi. https://pts-pj.paynet.com.tr/public/js/paynet.min.js https://pj.paynet.com.tr/public/js/paynet.min.js
Custom form entegrasyonu için kullanılacak javascript kutüphanesi. https://pts-pj.paynet.com.tr/public/js/paynet-custom.min.js https://pj.paynet.com.tr/public/js/paynet-custom.min.js
Tüm servisler güvenli kanal üzerinden (https) ulaşabilirsiniz. Test sisteminde ve Canlı sistemde kullanacağınız secret key ve publisable key’leri destek@paynet.com.tr mail adresinden talep edebilirsiniz. Entegrasyonla ilgili teknik sorularınızı api.destek@paynet.com.tr adresine gönderebilirsiniz.



AUTHENTICATION

Paynet API servislerine basic authentication methodu ile authenticate olabilirsiniz. İki türlü API Key vardır;
1. Publishable key:
Paynet Gömülü Form ve Custom Form entegrasyonunda JavaScript içinde Client tarafında kullanılır.
2. Secret key:
Paynet API Servislerine authenticate olmak için kullanılır. Secret key başkaları ile paylaşmamalısınız.

Authentication tipi olarak http Basic authentication yapısı kullanılıyor. Request'in Authentication header'ında Secret key gönderilir. Gönderilen tüm requestler'de authentication header olmalıdır.

Authorization: Basic sck_pcs_jECRyoZq0khnsV9elaF/SIBVvxQI+bIW





HTTP Status Kodları

Paynet API Servislerinde isteğin başarısını veya başarısızlığını göstermek için http yanıt kodlarını kullanır. Genel olarak 2XX aralığında kodları başarıyı gösterir. 4XX aralığındaki kodlar verilen bilgilerden kaynaklanan bir hatayı gösterir ve 5XX aralığındaki kodlar ise hatanın sunucu kaynaklı olduğunu işaret eder.Eğer servisler response olarak http 200 dönüyor ise dönen nesnenin içeriğinde “code” ve “message”, eğer http 200 harici bir http kodu dönüyor ise aşağıdaki formatta bir json cevabı döner;

Error Nesnesi
type Hatanın tipi bknz. Hata tipler.
message Hata mesajı
code Http Status kodu bknz. Http status code
result_code Bknz dönüş kodları
Örnek json nesnesi 
{
"type": "authorization_error",
"message": "Unauthorized credential",
"code": 401,
"result_code": 7
}

HTTP STATUS KODLARI

200 - OK İşlem başarılı
400 - Bad Request Eksik veya hatalı istek parametresi yollanması durumunda
401 – Unauthorized Yetkilendirme hatası
402 - Request Failed İstek parametre geçerli fakat işlem başarısız durumu
404 - Not Found İstenen öğe yok(item null durumu)
500, 502, 503, 504 - Server Errors Global her hangi birşeylerin yanlış gittiği durumunda

HATA TİPLERİ

api_error Paynet api’den kaynakli beklenmedik bir hata
invalid_request_error Gönderilen input parametreler doğru değil ya da formatı yanlış.
authorization_error Authentication Error
no_data_error İşlem bulunamadı.
404 - Not Found İstenen öğe yok(item null durumu)

DÖNÜŞ KODLARI

Kod Adı Kodu
successful0
unsuccessful 1
companyblocked 2
agentblocked 3
agentnotfound 4
duplicatedata 5
noprocess6
unauthorized7
servererror8
notimplemented 9
timeout 10
badrequest 11
nodata 12
paynetjnosession 13
paynetjwrongbin 14
paynetjunmatchtran15
paynetj3derror16
paynetjusedsession17
wrongcarddata18
wrongtransactiontype19
wrongpostype20
wrongratiogey21
oldsuccessful100




GÖMÜLÜ FORM ENTEGRASYONU

Paynet ile ödeme almanın en kolay yolu Paynet.js’i ödeme formunuza gömmektir. Paynet.js sizin için kart bilgilerinin güvenliğini sağlar, tüm doğrulamaları yapar. Hassas kart bilgileri hiçbir şekilde güvensiz ortamlarda dolaşmaz. Siz sadece ödemenizi alırsınız. Paynet.js ile ödeme almak iki aşamadan oluşur;

  • Paynet.js’i formunuza yerleştirirsiniz. Paynet.js kart bilgilerini alarak sizin formunuza “token_id” ve “session_id” bilgilerini ekler ve formunuzu post eder. Böylece formunuzdaki diğer inputlar ile beraber "token_id" ve "session_id" değerleri post edilmiş olur. Örnek script ekleme
  • Sizde server’ınızda “token_id” ve “session_id” bilgilerini alıp “Ödeme Onaylama” Paynet API servisini kullanarak kredi kartından çekim işlemini tamamlayabilirsiniz. Önemli: "Ödeme Onaylama" Paynet API servisini çağırmadan kredi kartından çekim işlemi yapılmaz.

1.Adım: Paynet.js’i sayfanıza ekleme

Paynet.js’i aşağıdaki şekilde sayfanıza ekleyebilirsiniz. Eklenen bu script ile sayfanızda data-button_label’da belirtilen metin ile “Ödeme yap” butonu çıkar. Müşterileriniz bu butona basarak kredi kartı bilgilerini girip ödeme işlemini yapabilirler. Ödeme işlemi tamamlandığında Paynet.js “token_id” ve “session_id” parametrelerini formunuza hidden olarak ekler ve formu post eder. Form post işlemi ile sizin formunuza eklediğiniz parametreler ile beraber session_id ve token_id bilgisi web server’ınıza gelir. Bu değerler ile ödemeyi onaylayabilirsiniz. 2. Adım ödeme onaylama işlemini yapmadığınız taktirde karttan çekim işlemi yapılmaz.

Önemli: Dikkat edilmesi gereken önemli nokta; script tag’inin içinde class attirubute’u “paynet-button” olmalı. Client side authentication "data-key" attribute'unda belirtilen key ile sağlanmaktadır. size verilen Publishable key'i data-key attribute'unda göndermelisiniz.

                <form action = "[your web site]" method="POST" > 
                    <script 
                                class="paynet-button" 
                                type="text/javascript" 
                                src="https://pts-pj.paynet.com.tr/public/js/paynet.min.js" 
                                data-key="[Publishable key]" 
                                data-amount="2000" 
                                data-ratio_code="oran kodunuz var ise"
                                data-button_label="Ödeme Yap" 
                                data-image="[image_url]">
                    </script>
                  </form>
                    
                   
                
Script Parametreleri
data-key Zorunlu Firma publishable key. destek@paynet.com.tr adresinden test ve canlı sistemi için temin edebilirsiniz.
data-amount Zorunlu Kredi kartından çekilecek tutar. Ödeme tutarının yüz ile çarpılmış hali. “10.00 TL” => “1000” olarak gönderilmeli.
data-name Opsiyonel Ödeme sırasında görünecek başlık.
data-description Opsiyonel Ödeme sırasında görünecek işlem açıklaması.Paynet API İşlem listesinde ve Paynet işlem listesinde burada gönderdiğiniz açıklama gösterilir.
data-agent Opsiyonel Ödemeyi alanın ya da yapanın firmadaki cari hesap kodu. Bu alanda firma bayisi cari hesap kodu ya da bayinin Paynet altındaki kodu gönderilebilir. Firma kendi bayi kodunu kullanacak ise Paynet sisteminde ilgili tanımın yapılması gerekiyor.
data-add_commission_amount Opsiyonel true/false, Default: false. Komisyon tutarının ödeme tutarına eklenip eklenmeyeceği belirlenir. True olduğunda komisyon tutarı kredi kartından çekilecek tutara eklenir.
data-no_instalment Opsiyonel true/false, default: false. True olduğunda Taksitli çekime izin vermez, tek çekim yapılır.
data-pos_type Opsiyonel

Paynet POS’u ya da firmanın kendi süpürmeli POS’u mu kullanılacak o belirlenir.
Paynet POS’u : 5 ( default )
Firma POS’u : 1

data-tds_required Opsiyonel true/false, Default: true
False : Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ise, kullanıcının 3D’siz de işlem yapmasına izin verir. True: Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ise, kullanıcının 3D’siz de işlem yapmasını engeller.
data-ratio_code Opsiyonel odeme.paynet.com.tr'den API'de görünecek oran ve taksit tablosunu özelleştirebilirsiniz. Tanımladığınız oran tablosunu kodunu bu alanda gönderirseniz, o koda tanımlı oran ve taksit tablonuz görünür.

2.Adım: Ödemeyi onaylama
Server’ınıza ulaşan session_id ve token_id parametreleri ile kart bilgisi sizin sisteminizden geçmeden ödeme işlemini onaylamalısınız. Bknz. v1/transaction/charge
Bu adımı tamamlamadan kredi kartından çekim işlemi yapılmaz.


           '' ASP İLE YAPILMIŞ ÖRNEK BİR ÖDEME ONAYLAMA SERVİSİ
            dim XmlHttp
			dim PostURL
			dim ResponseXml			
			dim session_id
			dim token_id
			
			session_id = Request.Form["session_id"]
			tolen_id   = Request.Form["token_id"]
			
			PostURL="https://pts-api.paynet.com.tr/v1/transaction/charge"
		
			Set XmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
			XmlHttp.Open "POST", PostUrl, false
		
			XmlHttp.SetRequestHeader "Content-Type", "application/xml; charset=UTF-8"
			XmlHttp.SetRequestHeader "Accept", "application/xml; charset=UTF-8"
			
			XmlHttp.setRequestHeader "Authorization", "Basic sck_pcs_rMnxDSW/43243434/YAzXXXXXXXXXXXX"
			
			XmlHttp.Send  "<?xml version="" 1.0"" encoding="" utf-8"" ?><ChargeParameters><session_id>"&session_id&"</session_id><token_id>"&token_id&"</token_id><reference_no>referans numaranız</reference_no><transaction_type>Sales</transaction_type></ChargeParameters>"
			ResponseXml = XmlHttp.ResponseText
		
			Set oXML = Server.CreateObject("MSXML.DOMDocument")
			oXML.Async = false
			oXML.loadXml( sAPIRESULTXML )
		
			If ( oXML.getElementsByTagName("is_succeed") == "true" ) Then
				Response.Write "Başarılı"
			else
				Response.Write "Başarısız"				
			end if

			<?php  //PHP İLE YAPILMIŞ ÖRNEK BİR ÖDEME ONAYLAMA SERVİSİ
			
			$secret_key = "sck_pcs_rMnxDSW/43243434/YAzXXXXXXXXXXXX";
			$PostURL = "https://pts-api.paynet.com.tr/v1/transaction/charge";
			
			$session_id = $_REQUEST["session_id"];
			$token_id = $_REQUEST["token_id"];
			
			
			$params = array(
					'session_id' => $session_id,
					'token_id' => $token_id,
					'transaction_type' => 1,
					
			);
			
			$options = array(
					'http' => array(
							'header'  =>"Accept: application/json; charset=UTF-8\r\n".
							"Content-type: application/json; charset=UTF-8\r\n".
							"Authorization: Basic ".$secret_key,
							'method'  => 'POST',
							'content' => json_encode($params),
							'ignore_errors' => true
					),
			);
			
			$context  = stream_context_create($options);
			$result = json_decode(@file_get_contents($PostURL, false, $context));
			
			if($result->is_succeed == true)
			{
				echo "Başarılı";
			}
			else
			{
				echo "Başarısız";
			}
			
			?>
                
                    

Servis Parametreleri
Servis AdıAçıklama
Paynet.onPaymentClickOluşturulan Paynet.js ile ödemeyi tamamla(paynetj-button) butonuna tıkladıktan sonra ilgili koşul kontrolü yapabileceğiniz servis.Detay için tıklayınız.
Paynet.updateAmount Kredi kartından çekilecek tutar bilgisini veya oran kodunu script oluşturduktan sonra da güncelleme yapabileceğiniz, veyahut tutar bilgisi ile oran kodunu bu aşamada tanım yapabileceğiniz servis.Detay için tıklayınız.




CUSTOM FORM ENTEGRASYONU

Paynet ile ödeme almanın diğer bir kolay yolu paynet-custom.js’i ödeme formunuza gömmektir. paynet-custom.js ile ödeme ekranını kendi tasarımınıza uygun şekilde dizayn etmenize olanak verir. Sizin için kart bilgilerinin güvenliğini sağlar, tüm doğrulamaları yapar. Hassas kart bilgileri hiçbir şekilde güvensiz ortamlarda dolaşmaz.
paynet-custom.js ile ödeme almak üç aşamadan oluşur;

  • Paynet-custom.js’i formunuza yerleştirirsiniz.
  • Ödeme alacağınız ekranı sizin istediğiniz formda düzenleyiniz. HTML elementlere data-paynet attribute'u ile hangi alan olduğunu belirtiniz. Örneğin Kredi kartı numarasını alacağınız input'a data-paynet="number" attribute'unu eklemeniz gerekiyor.
  • Kullanıcı kart bilgilerini girip ödeme butonuna basınca Paynet-custom.js kart bilgilerini alarak sizin formunuza “token_id” ve “session_id” bilgilerini ekler ve formunuzu post eder. Sizde server’ınızda “token_id” ve “session_id” bilgilerini alarak “Ödeme Onaylama” servisini kullanarak kredi kartından çekim işlemini tamamlayabilirsiniz.

1.Adım: Paynet-custom.js’i formunuza gömme

Paynet-custom.js’i aşağıdaki şekilde sayfanıza ekleyebilirsiniz. Eklenen bu script ile sayfanızı isteğiniz doğrultuda dizayn edebilirsiniz.
Dikkat edilmesi gereken noktalar:

  • Script tag’inin içinde data-from attirubute’unde ödeme bilgilerinin alındığı form olmalı.
  • Script tag’inin içinde class attirubute’u “paynet-button” olmalı.
  • Formunuzda mutlaka hidden olarak data-paynet="installmentKey" attribute'una sahip hidden input olmalı. Bu hidden'a kullanıcının seçtiği taksit bilgisini set etmek için kullanılır. Paynet.services.installments servisinden ya da Paynet.events.onCheckBin methodundan gelen oran tablosundan seçilen verinin instalment_key değeri atanmalı. Aşağıdaki oran bilgisinin alınması kısmına bakabilirsiniz.

Script'in sayfanıza eklenmesi

                
                <script type="text/javascript"
                     class="paynet-button"
                     src="https://pts-pj.paynet.com.tr/public/js/paynet-custom.js"
                     data-form="#checkout-form"
                     data-key="[Publishable key]"
                     data-amount="200"
                     data-ratio_code="oran kodunuz var ise"                                             
                     data-description="Ödeme açıklaması">
                </script>
 

HTML Formunuzun oluşturulması

                
                <form action="[post adresi]" method="post" name="checkout-form" id="checkout-form">
                <input type="text" name="cardHolderName"  data-paynet="holderName" placeholder="Kart Üzerindeki İsim"  />
                <input type="text" name="cardNumber"      data-paynet="number"     placeholder="Kart No"               />
                <select name="expMonth" id="expMonth" data-paynet="exp-month" >                       
                <option value="1">1</option>
                            ...
                <option value="11">11</option>
                <option value="12">12</option>
                </select>
                        
                <select name="expYear" id="expYear" data-paynet="exp-year" >
                <option value="">...</option>                
                <option value="2018">2018</option>
                <option value="2019">2019</option>
                </select>
                
                <input type="password"   name="cvv"               data-paynet="cvv"   />                
                <input type="hidden"     name="installmentKey"    data-paynet="installmentKey"  />
                <button type="submit" data-paynet="submit">Öde</button>
                    </form>
    

Oran bilgisinin alınması

                    
                    ///müşteri kartın ilk 6 hanesini girdiğinde oran bilgisini göstermek için kullanılır.
                    Paynet.events.onCheckBin(function (d) {
              
                    $('.installment-table').html('');
                    d.bank.installments.sort(function (current, next) {
                        if (current.instalment > next.instalment) return 1;
                        if (current.instalment < next.instalment) return -1;
                        return 0;
                    });
                    
                    $('#bankLogo').attr('src', d.bank.logoUrl);
                    $('.bank_logo').show();
                    ///seçtiği kart bilgilerine göre oran gösterilir
                    for (var i = 0; i < d.bank.installments.length; i++) {
                        $(".installment-table").append(
                                           
                        "<li><input type=radio name='installment' value = "
                        + d.bank.installments[i].instalment_key
                        +" /> " 
                        + d.bank.installments[i].desc 
                        + "-  " 
                        + d.bank.installments[i].instalment_amount 
                        + " TL" 
                        + "</li>
                        ");
                    }
                
                    $('.installment-table').show();
                 
               
                    });
                   ///müşterinin seçtiği oranı belirleme
                   $(document).on("click", "input[name=installment-table]:radio",function () {                            
                        $('#installmentKey').val($(this).val());                                        
                   });
                    
            

Custom form entegrasyonun demosuna buradan ulaşabilir ve örnek projeleri indirip kaynak kodlarını detaylı olarak inceleyebilirsiniz.

paynet-custom.js sayfanıza eklerken kullanabileceğiniz parametreler;

Script Parametreleri
data-key Zorunlu Firma publishable key. destek@paynet.com.tr adresinden test ve canlı sistemi için temin edebilirsiniz.
data-amount Zorunlu Kredi kartından çekilecek tutar. Ödeme tutarı ne ise onu göndermelisiniz. Örneğin: “100,55 TL” => “100,55” gibi gönderilmelidir.
data-description Opsiyonel Paynet API İşlem listesinde ve Paynet işlem listesinde burada gönderdiğiniz açıklama gösterilir.
data-agent Opsiyonel Ödemeyi alanın ya da yapanın firmadaki cari hesap kodu. Bu alanda firma bayisi cari hesap kodu ya da bayinin Paynet altındaki kodu gönderilebilir. Firma kendi bayi kodunu kullanacak ise Paynet sisteminde ilgili tanımın yapılması gerekiyor.
data-add_commission_amount Opsiyonel true/false, Default: false. Komisyon tutarının ödeme tutarına eklenip eklenmeyeceği belirlenir. True olduğunda komisyon tutarı kredi kartından çekilecek tutara eklenir.
data-no_instalment Opsiyonel true/false, default: false. True olduğunda Taksitli çekime izin vermez, tek çekim yapılır.
data-pos_type Opsiyonel

Paynet POS’u ya da firmanın kendi süpürmeli POS’u mu kullanılacak o belirlenir.
Paynet POS’u : 5 ( default )
Firma POS’u : 1

data-tds_required Opsiyonel true/false, Default: true
False : Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ise, kullanıcının 3D’siz de işlem yapmasına izin verir. True: Eğer işlem yapılacak POS 3D’siz işlemi destekliyor ise, kullanıcının 3D’siz de işlem yapmasını engeller.
data-ratio_code Opsiyonel odeme.paynet.com.tr'den API'de görünecek oran ve taksit tablosunu özelleştirebilirsiniz. Tanımladığınız oran tablosunu kodunu bu alanda gönderirseniz, o koda tanımlı oran ve taksit tablonuz görünür.

2.Adım: Custom form dizayn edilir.
Ödeme bilgilerinin alınacağı sayfa, tercihleriniz doğrultusunda diyazn edilir. Form'un ID'si script attribute'unda data-form="[your form id]" şeklinde verilmelidir. Formunuzdaki input elementleri de data-paynet attribute'u ile belirtilmelidir. Formunuza yerleştirdiğiniz buton ile ödeme işlemi gerçekleştiğinde Paynet-custom.js, “token_id” ve “session_id” parametrelerini formunuza hidden olarak ekler ve formu post eder. Form post işlemi ile sizin formunuza eklediğiniz parametreler ile beraber session_id ve token_id bilgisi web server’ınıza gelir.

Script Parametreleri
number Zorunlu Kredi kartı numarası bilgisi
installmentKey Zorunlu Seçilen taksitin ID’si
holderName Zorunlu Kart sahibinin adı
data-agent Zorunlu Ödemeyi alanın ya da yapanın firmadaki cari hesap kodu. Bu alanda firma bayisi cari hesap kodu ya da bayinin Paynet altındaki kodu gönderilebilir. Firma kendi bayi kodunu kullanacak ise Paynet sisteminde ilgili tanımın yapılması gerekiyor.
exp-month Zorunlu Kredi kartı son kullanma tarihinin ay bilgisi
exp-year Zorunlu Kredi kartı son kullanma tarihinin yıl bilgisi
cvv Zorunlu Kredi kartı CVC bilgisi
desc Opsiyonel Ödeme ile ilgili açıklama bilgisi
email Opsiyonel Ödeme yapan kişinin e-posta bilgisi
phone Opsiyonel Ödeme yapan kişinin telefon bilgisi
do3D Opsiyonel Ödemenin 3D’li olup olmadığı bilgisi

3.Adım: Ödemeyi onaylama
Server’ınıza ulaşan session_id ve token_id parametreleri ile kart bilgisi sizin sisteminizden geçmeden ödeme işlemini onaylayabilirsiniz. Bknz. v1/transaction/charge.

Paynet-custom.js javascript kütüphanesindeki aşağıdaki eventleri ve servisleri daha esnek bir uygulama oluşturmak için kullanabilirsiniz.

Event Parametereleri
Event AdıAçıklama
Paynet.events.onCheckBinKredi kartı numarası girildiğinde callback almamızı sağlayan eventtir.Detay için tıklayınız.
Paynet.events.validationErrorSayfada validation hatası olduğunda validationları yakalamamıza yardımcı olan eventtir.Detay için tıklayınız.
Paynet.events.onPaymentClickÖde butonuna tıklandığında çalışan eventtir.Detay için tıklayınız.
Paynet.events.onAuthenticationYetkilendirme aşamasında callback alabilmenizi sağlayan eventtir.Detay için tıklayınız.
Paynet.events.onTdsRedirect3D'li işlemlerde yönlendirme işleminde çalışan eventtir.Detay için tıklayınız.
Paynet.events.onCreateTokenToken oluşturma safhasında callback alabilmemizi sağlayan eventttir. Detay için tıklayınız.
Paynet.events.onLoadCustom form sayfası yüklendiğinde çalışan eventtir.Detay için tıklayınız.
Servis Parametreleri
Servis AdıAçıklama
Paynet.services.checkBinKredi kartı numarasını bin numarasına göre hangi bankaya ait olduğunu bulmak için kullanabileceğiniz servistir.Detay için tıklayınız.
Paynet.services.installmentsOran tablosunu client tarafta oluşturmanızı sağlayan servis.Detay için tıklayınız.
Paynet.services.updateAmount Kredi kartından çekilecek tutar bilgisini güncelleme yapabileceğiniz servis.Detay için tıklayınız.
Paynet.services.updateRatioCode Kredi kartından çekilecek tutar bilgisini ve oran kodunu güncelleme yapabileceğiniz servis.Detay için tıklayınız.




Servisler

İşlem Servisleri

Kredi kartından işlem geçme, İşlem listeleme, işlem detay gibi servisleri içerir. Servis detayları aşağıda açıklanmıştır.

Ödeme Onaylama(v1/transaction/charge)

Paynet.js ve ya Paynet-custom.js ile başlatılan gömülü ya da custom form entegrasyonlarında kredi kartı ödeme işlemini sonlandırmaya, kredi kartından ilgili tutarın çekiminin yapıldığı servistir. Bu servisi kullanmak için Paynet.js’in formunuza eklediği hidden session_id ve token_id bilgilerine ihtiyaç vardır.

Url v1/transaction/charge
Request

{
"session_id": "js_EAAAAD3fKWDiouwO+dcEqN2gusaKLSmLIOJV37ZIJOnKyg6+",
"token_id": "jt_EAAAAKfn6aGfKgvaK1yVPAbFKF4F4RhV7iR1lJBAxVeltC\/+UefYTyMeO2bgVOnMsjU06j\/ZNv42tDQZnyB2aOwEZME-",
"reference_no":"1234",
"transaction_type": 1
}

Response

{
"xact_id": "xk_EAAAAE3ovgioQa0Xc++vq16TJYL6Qerwf6hgceGxLAtX7QG9",
"xact_date": "0001-01-01T00:00:00",
"transaction_type": 1,
"pos_type": 5,
"is_tds": true,
"agent_id": "20081",
"user_id": "paynetj",
"email": null,
"phone": null,
"bank_id": "BONS",
"instalment": 3,
"ratio": 0.021,
"card_no_masked": "444444******0004",
"card_holder": "gokhan",
"amount": 5000,
"net_amount": 4764,
"comission": 200,
"comission_tax": 36,
"currency": "TRY",
"authorization_code": "aut-3060",
"reference_code": "ref-3060",
"order_id": "order-3060",
"is_succeed": true,
"paynet_error_id": "",
"paynet_error_message": "",
"bank_error_id": "",
"bank_error_message": "",
"bank_error_short_desc": "",
"bank_error_long_desc": "",
"agent_reference_no": null,
"object_name": "transaction",
"code": 0,
"message": "Ba\u015far\u0131l\u0131 \u0130\u015flem"
}

Request Parameters
Parametre AdıTipÖzet bilgi
session_id String(max 100) [Zorunlu] Paynet.js’in formunuza attach ettiği parametre.
token_id String(max 100) [Zorunlu] Paynet.js’in formunuza attach ettiği parametre.
reference_no String(max 50) [Opsiyonel] İşlem ile ilişkilendireceğiniz sizin göndereceğiniz bir referans numarası. Sipariş numarası, fatura numarası gibi. Referans numarasını unique bir değer gönderirseniz charge transaction servisinden cevap alamadığınız durumlarda işlemin durumunu check transansaction servisi üzerinden kontrol edebilirsiniz. Bu şekilde mükerrer çekim işlemlerinden korunmuş oluruz.
transaction_type Char(1) [Zorunlu] İşlemi satış mı yoksa önprovizyon mu olduğunu belirleyebilirsiniz. Şimdilik sadece Satış için "1" değerini kullanabilirsiniz.
Response Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100) İşlem’in id’si
xact_dateDateTimeİşlemin tarihi
transaction_typeChar(1)1: satış
pos_typeChar(1)5: Paynet POS
is_tdsBoolİşlem 3D’li ise true
agent_idString(max 10)İşlemi yapan bayinin Paynet cari hesap kodu
user_idString(max 10)PaynetJ olarak default döner
emailString(max 60)
phoneString(max 10)
bank_idChar(4)Bankanın Paynet sistemindeki kodu
instalmentintTaksit sayısı
ratiofloatÖdeme sırasında kullanılan oran.
card_no_maskedString(max 25)Maskeli kart numarası
card_holderString(max 50)Kart sahibi
amountdecimalKredi kartından çekilen tutar
net_amountdecimalKomisyon hariç tutar
comissiondecimalKomisyon tutuarı
comission_taxdecimalKomisyon vergisi
currencyChar(3)Parabirimi
authorization_codeString(max 10)Banka onay kodu
reference_codeString(max 50)Banka referans kodu
order_idString(max 50)Banka sipariş no
is_succeedBoolİşlem başarılı ise true. Eğer işlem başarılı ise http 200 ve is_succeed true döner. Banka onay vermemiş ise http 200 ve is_succedd false döner.
paynet_error_idStringPaynet sistemi hata kodu
paynet_error_messageStringPaynet sistemi hata mesajı
bank_error_idString(max 50)Banka sisteminin hata kodu
bank_error_messageString(max 50)Banka sisteminin hata mesajı
bank_error_short_descString(max 250)Banka sisteminin hata mesajı
bank_error_long_descStringBanka sisteminin hata mesajı
agent_reference_noString(max 50)Ödeme işleminde kullandığınız referans numaranız. reference_no ile aynı
object_nameStringtransaction
codeSistem sonuç kodu bknz. dönüş kodları
messageStringSistem mesajı

Ödeme Finansallaştırma(v1/transaction/capture)

Paynet.js ve ya Paynet-custom.js ile başlatılan gömülü ya da custom form entegrasyonlarında ödeme anayı alınan ön provizyonlu kredi kartı işlemini, kredi kartından ilgili tutarın veya ilgili tutardan az olarak finansallaştırmanın yapıldığı servistir. Bu servisi kullanmak için ödeme onaylama( charge ) servisinde transaction_type değerini (3 : PreAuth ) ön provizyonlu işlem olarak onaylamalısınız.

Url v1/transaction/capture
Request

{
"xact_id":"xk_EAAAANFhOW7SioFxO8LHPMruxp0hX3wE8NmJSmGUD*W3uISj"
"amount":"100"
}

Response

{
"xact_id": "xk_EAAAAIO6j*mZ24gKFpk739cUeuL9P7oKyavBUO0Rbe7WKYXG"
"xact_date": "2016-04-08T10:27:22.0296925+03:00"
"transaction_type": 4
"pos_type": 5
"is_tds": true
"agent_id": "20005"
"user_id": "cardholder"
"email": ""
"phone": ""
"bank_id": "AXSS"
"instalment": 3
"ratio": 0.04
"card_no_masked": "435508******4358"
"card_holder": "GJH"
"amount": 0
"net_amount": 56.55
"comission": 2.37
"comission_tax": 0.43
"currency": "TRY"
"authorization_code": "aut-8229"
"reference_code": "ref-8229"
"order_id": "order-8229"
"is_succeed": true
"paynet_error_id": ""
"paynet_error_message": ""
"bank_error_id": ""
"bank_error_message": ""
"bank_error_short_desc": ""
"bank_error_long_desc": ""
"object_name": "transaction"
"code": 0
"message": "Başarılı İşlem"
}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_id String(max 100) [Zorunlu] İşlem’in id’si
amount String Finansallaştırmanın yapılmasının istenildiği tutar.
Response Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100) İşlem’in id’si
xact_dateDateTimeİşlemin tarihi
transaction_typeChar(1)1: satış 4:Finansallaştırma
pos_typeChar(1)5: Paynet POS
is_tdsBoolİşlem 3D’li ise true
agent_idString(max 10)İşlemi yapan bayinin Paynet cari hesap kodu
user_idString(max 10)İşlemi yapan kullanıcı
emailString(max 60)
phoneString(max 10)
bank_idChar(4)Bankanın Paynet sistemindeki kodu
instalmentintTaksit sayısı
ratiofloatÖdeme sırasında kullanılan oran.
card_no_maskedString(max 25)Maskeli kart numarası
card_holderString(max 50)Kart sahibi
amountdecimalKredi kartından çekilen tutar
net_amountdecimalKomisyon hariç tutar
comissiondecimalKomisyon tutuarı
comission_taxdecimalKomisyon vergisi
currencyChar(3)Parabirimi
authorization_codeString(max 10)Banka onay kodu
reference_codeString(max 50)Banka referans kodu
order_idString(max 50)Banka sipariş no
is_succeedBoolİşlem başarılı ise true. Eğer işlem başarılı ise http 200 ve is_succeed true döner. Banka onay vermemiş ise http 200 ve is_succedd false döner.
paynet_error_idStringPaynet sistemi hata kodu
paynet_error_messageStringPaynet sistemi hata mesajı
bank_error_idString(max 50)Banka sisteminin hata kodu
bank_error_messageString(max 50)Banka sisteminin hata mesajı
bank_error_short_descString(max 250)Banka sisteminin hata mesajı
bank_error_long_descStringBanka sisteminin hata mesajı
object_nameStringtransaction
codeSistem sonuç kodu bknz. dönüş kodları
messageStringSistem mesajı

Ödeme Finansallaştırma İptal(v1/transaction/capture_reversal)

Başarılı finansallaştırılmış kredi kartı işlemlerinin iptali için kullanılır.

Url v1/transaction/capture_reversal
Request

{
"xact_id":"xk_EAAAAHTqbS04hq4sU877ZQIiNuIhJ*PVko0sJyhtHOdvxjpf"
}

Response

{
"xact_id": "xk_EAAAAHTqbS04hq4sU877ZQIiNuIhJ*PVko0sJyhtHOdvxjpf"
"xact_date": "2016-04-07T15:33:09.543"
"transaction_type": 6
"pos_type": 5
"is_tds": false
"agent_id": "20005"
"user_id": "PaynetApi"
"email": ""
"phone": ""
"bank_id": "VAKF"
"instalment": 0
"ratio": 0.02
"card_no_masked": "402940******5945"
"card_holder": "cardholder"
"amount": 15
"net_amount": 14.65
"comission": 0.3
"comission_tax": 0.05
"currency": "TRY"
"authorization_code": ""
"reference_code": ""
"order_id": ""
"is_succeed": true
"paynet_error_id": ""
"paynet_error_message": ""
"bank_error_id": "6000"
"bank_error_message": "Invalid Ip Address : "
"bank_error_short_desc": ""
"bank_error_long_desc": ""
"object_name": "transaction"
"code": 1
"message": ""
}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_id String(max 100) [Zorunlu] İşlem’in id’si
Response Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100) İşlem’in id’si
xact_dateDateTimeİşlemin tarihi
transaction_typeChar(1)4:Finansallaştırma 6: Finansallaştırma İptal
pos_typeChar(1)5: Paynet POS
is_tdsBoolİşlem 3D’li ise true
agent_idString(max 10)İşlemi yapan bayinin Paynet cari hesap kodu
user_idString(max 10)İşlemi yapan kullanıcı
emailString(max 60)
phoneString(max 10)
bank_idChar(4)Bankanın Paynet sistemindeki kodu
instalmentintTaksit sayısı
ratiofloatÖdeme sırasında kullanılan oran.
card_no_maskedString(max 25)Maskeli kart numarası
card_holderString(max 50)Kart sahibi
amountdecimalKredi kartından çekilen tutar
net_amountdecimalKomisyon hariç tutar
comissiondecimalKomisyon tutuarı
comission_taxdecimalKomisyon vergisi
currencyChar(3)Parabirimi
authorization_codeString(max 10)Banka onay kodu
reference_codeString(max 50)Banka referans kodu
order_idString(max 50)Banka sipariş no
is_succeedBoolİşlem başarılı ise true. Eğer işlem başarılı ise http 200 ve is_succeed true döner. Banka onay vermemiş ise http 200 ve is_succedd false döner.
paynet_error_idStringPaynet sistemi hata kodu
paynet_error_messageStringPaynet sistemi hata mesajı
bank_error_idString(max 50)Banka sisteminin hata kodu
bank_error_messageString(max 50)Banka sisteminin hata mesajı
bank_error_short_descString(max 250)Banka sisteminin hata mesajı
bank_error_long_descStringBanka sisteminin hata mesajı
object_nameStringtransaction
codeSistem sonuç kodu bknz. dönüş kodları
messageStringSistem mesajı

Ön Otorizasyon İptal(v1/transaction/preauth_reversal)

Ön otorizasyonlu yapılan kredi kartı işlemlerinin iptali için kullanılır.

Url v1/transaction/preauth_reversal
Request

{
"xact_id":"xk_EAAAANFhOW7SioFxO8LHPMruxp0hX3wE8NmJSmGUD*W3uISj"
}

Response

{"object_name":"transaction_preauth_reversed_request","code":0,"message":"Başarılı İşlem"}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_id String(max 100) [Zorunlu] İşlem’in id’si
Response Parameters
Parametre AdıTipÖzet bilgi
object_nameStringtransaction_preauth_reversal
codeSistem sonuç kodu bknz. dönüş kodları
messageStringSistem mesajı

Ödeme Kontrol (v1/transaction/check)

Yapılan bir kredi kartı işleminin detay bilgisini döner. Ödeme sonrası işlem bilgilerine hızlı erişim için kullanabilirsiniz.

Url v1/transaction/check
Request

{
xact_id: "xk_EAAAAAh7VYf9HG4+GR9ezqiMWAA8PY6P4eroE4BUUHRCLxGO"
}

Response

{
"Data": [
{
"xact_id": "xk_EAAAAJsdkI0VROQqWBJO2iq7lttGlkXmFkLD4ZszOT8kWsgu",
"xact_date": "2015-08-03T11:42:06.513",
"transaction_type": 1,
"pos_type": 5,
"agent_id": "20000",
"is_tds": true,
"bank_id": "PARF",
"instalment": 3,
"card_no": "415514******3588",
"card_holder": "Emre",
"card_type": "cc",
"ratio": 0.03,
"amount": 15.55,
"netAmount": 15,
"comission": 0.47,
"comission_tax": 0.08,
"currency": "TRY",
"authorization_code": "aut-2444",
"reference_code": "ref-2444",
"order_id": "order-2444",
"is_succeed": true,
"xact_transaction_id": "01CFB16C-C343-4311-B886-3DF73BB1CC39",
"email": "",
"phone": " ",
"note": "\u00d6demenizi tamamlamak i\u00e7in bilgileri girip tamam butonuna bas\u0131n\u0131z",
"agent_reference": "1234",
"object_name": "transaction",
"code": 0,
"message": "Ba\u015far\u0131l\u0131 \u0130\u015flem"
}
],
"object_name": "transaction",
"code": 0,
"message": "Ba\u015far\u0131l\u0131 \u0130\u015flem"
}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100)Paynet işlem ID’si
reference_noString(max 50)Ödeme işleminde kullandığınız referans numaranız. Her işlemde unique bir numara göndermeniz tavsiye edilir.
Response Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100) İşlem’in id’si
xact_dateDatetimeİşlemin tarihi
transaction_typeChar(1)1: satış, 2: önprovizyon
pos_typeChar(1)1: Süpürmeli POS 5: Paynet POS
is_tdsboolİşlem 3D’li ise true
agent_idString(max 10)İşlemi yapan bayinin Paynet cari hesap kodu
emailString(max 60)Kullanılmıyor
phoneChar(10)Kullanılmıyor
noteString(max 140)Ödeme sırasında kullandığınız açıklama (data-description)
ratiofloatÖdeme sırasında kullanılan oran.
agent_referenceString(max 50)Ödeme işleminde kullandığınız referans numaranız. reference_no ile aynı
bank_idChar(4)Bankanın Paynet sistemindeki kodu
instalmentintTaksit sayısı
card_typeChar(2)cc: Kredi kartı
card_noString(max 25)Maskeli kart numarası
card_holderString(max 50)Kart sahibi
amountDecimalKredi kartından çekilen tutar
netAmountdecimalKomisyon hariç tutar
comissiondecimalKomisyon tututarı
comission_taxdecimalKomisyon vergisi
currencyChar(3)Parabirimi
authorization_codeString(max 10)Banka onay kodu
reference_codeString(max 50)Banka referans kodu
order_idString(max 50)Banka sipariş no
is_succeedBoolİşlemin başarılı olup olmadığını gösterir.
xact_transaction_idGuid 32Paynet işlem takip numarası
object_nameStringtransaction
codeStringSistem sonuç kodu bknz. Dönüş kodları
messageStringSistem mesajı

İşlem Detay (v1/transaction/detail)

Yapılan bir kredi kartı işleminin detay bilgisini döner. Charge servisinde kullandığınız referans numarası ya da paynet işlem numarası ile sorgulama yapabilirsiniz. Aynı referans numarası ile bir den fazla işlem var ise tüm işlemleri dizi şeklinde döner.

Url v1/transaction/detail
Request

{
xact_id: "xk_EAAAAAh7VYf9HG4+GR9ezqiMWAA8PY6P4eroE4BUUHRCLxGO"
}

Response
            {
                "Data": [
                        {
                         "xact_id": "xk_EAAAAECDqPDZHcx1TbLMmlRmWzZqMvxFKBH41vJAZTxRGlDH",
                         "xact_date": "2015-12-04T18:14:28.377",
                         "transaction_type": 1,
                         "pos_type": 5,
                         "agent_id": "10000",
                         "is_tds": true,
                         "bank_id": "BONS",
                         "instalment": 0,
                         "card_no": "444444******4448",
                         "card_holder": "a a",
                         "card_type": "cc",
                         "ratio": 0.02,
                         "amount": 813.75,
                         "netAmount": 794.54,
                         "comission": 16.28,
                         "comission_tax": 2.93,
                         "currency": "TRY",
                         "authorization_code": "aut-4276",
                         "reference_code": "ref-4276",
                         "order_id": "order-4276",
                         "is_succeed": true,
                         "reversed": false,
                         "reversed_xact_id": "xk_EAAAAGZEFDuBYb3R9qZ0YJ\/y3Tw7K1nc6sJXlRfe*0ZRk6sc",
                         "xact_transaction_id": "58573BB6-1F67-4DB1-841B-E44D8EA2873F",
                         "email": "yakup.kaymaz@isisbilisim.com.tr",
                         "phone": "          ",
                         "note": "",
                         "agent_reference": "",
                         "company_amount": 813.75,
                         "company_commission": 16.28,
                         "company_commission_with_tax": 19.2104,
                         "company_net_amount": 794.5396,
                         "agent_amount": 0,
                         "agent_commission": 0,
                         "agent_commission_with_tax": 0,
                         "agent_net_amount": 0,
                         "company_cost_ratio": 0.02,
                         "company_pay_ratio": 0,
                         "company_vdate": "0001-01-01T00:00:00",
                         "agent_vdate": "0001-01-01T00:00:00",
                         "xact_type_desc": "Sat\u0131\u015f",
                         "bank_name": "Bonus",
                         "payment_string": "Bonus  Tek \u00e7ekim",
                         "pos_type_desc": "Paynet POS",
                         "agent_name": "ARENA B\u0130LG\u0130SAYAR SAN. VE T\u0130C.A.\u015e.",
                         "company_name": "ARENA B\u0130LG\u0130SAYAR SAN. VE T\u0130C.A.\u015e.",
                         "instalment_text": "Pe\u015fin",
                         "ipaddress": "212.156.16.214",
                         "client_id": "9cb93236-41d8-4656-ad4d-746693b0f0a0",
                         "object_name": "transaction",
                         "code": 0,
                         "message": "Ba\u015far\u0131l\u0131 \u0130\u015flem"
                       }
                      ],
                      "object_name": "transaction",
                      "code": 0,
                      "message": "Ba\u015far\u0131l\u0131 \u0130\u015flem"
                }
                            
Request Parameters
Parametre AdıTipÖzet bilgi
xact_idString(max 100)Paynet işlem ID’si
reference_noString(max 50)Ödeme işleminde kullandığınız referans numaranız. Her işlemde unique bir numara göndermeniz tavsiye edilir.
user_id String(max 10)Paynet Kullanici kodu
Response Parameters
Parametre Adı Tip Özet bilgi
xact_id String(max 100) İşlem’in id’si
xact_date Datetime İşlemin tarihi
transaction_type Char(1) Sales 1 Reversal 2 PreAuth 3 Capture 4 PreAuthReversal 5 CaptureReversal 6 Query 7 Credit 9 PointUse 10 PointReturn 11
xact_type_desc String(max 50) İşlem tipi açıklaması
pos_type Char(1) 5: Paynet POS 1: Süpürmeli POS
pos_type_desc String(max 100) Pos tipi açıklaması
is_tds bool İşlem 3D’li ise true
agent_id String(max 10) İşlemi yapan bayinin Paynet cari hesap kodu
agent_name String(max 50) Bayi Adı
company_name String(max 50) Ana firma adı
email String(max 60) Kullanılmıyor
phone String(10) Kullanılmıyor
note String(max 140) Ödeme sırasında kullandığınız açıklama (data-description)
ratio float Ödeme sırasında kullanılan oran.
agent_reference String(max 50) Ödeme işleminde kullandığınız referans numaranız
bank_id Char(4) Bankanın Paynet sistemindeki kodu
bank_name String(max 100) Banka adı
instalment int Taksit sayısı
instalment_text String(max 100) Taksit açıklaması
payment_string String(max 100) Ödeme planı
card_no String(max 25) Maskeli kart numarası
card_holder String(max 50) Kart sahibi
card_type Char(2) cc: Kredi kartı
amount decimal Kredi kartından çekilen tutar
netAmount decimal Komisyon hariç tutar
comission decimal Komisyon tutarı
comission_tax decimal Komisyon vergisi
currency Char(3) Para birimi
authorization_code String(max 10) Banka onay kodu
reference_code String(max 50) Banka referans kodu
order_id String(max 50) Banka sipariş no
is_succeed bool İşlemin başarılı olup olmadığını gösterir.
reversed bool True/False işlem iptal edilmiş ise true döner
reversed_xact_id String(max 100) İşlem tipi iptal olan işlemlerde hangi işlemin iptal olduğunu belirtir.
reversal_available bool İade yapabilme yetkisi kontrolü
xact_transaction_id Guid 32 Paynet işlem takip numarası
company_amount decimal Bu işlem sonucunda Ana Firma Brüt alacak
company_commission decimal Bu işlem sonucunda ana firmaya kesilecek komisyon tutarı
company_commission_with_tax decimal Bu işlem sonucunda ana firmaya kesilecek KDV'li komisyon tutarı
company_net_amount decimal Bu işlem sonucunda ana firmaya ödenecek net tutar
agent_amount decimal Bu işlem sonucunda Bayi Brüt alacağı
agent_commission decimal Bu işlem sonucunda bayi komisyonu
agent_commission_with_tax decimal Bu işlem sonucunda bayi KDV'li komisyonu
agent_net_amount decimal Bu işlem sonucunda bayiye ödenecek net tutar
company_cost_ratio float Ana firma komisyon değeri
company_pay_ratio float Ana firma / Bayi Arasındaki ödeme oranı
ipaddress String(max 15) İşlemin yapıldığı ip adresi
client_id Guid 32 İşlemin yapıldığı client id’si
object_name String transaction
code String Sistem sonuç kodu bknz. Dönüş kodları
message String Sistem mesajı

İşlem Listesi (v1/transaction/list)

Paynet ’ten yapılan işlemlerin listesini almak için kullanılır.

Url v1/transaction/list
Request

{ "datab":"2015-04-04", "datbi":"2015-05-05"}

Response
                           {
                           "companyCode": "10000",
                           "companyName": "ARENA B\u0130LG\u0130SAYAR SAN. VE T\u0130C.A.\u015e.",
                           "total": 18,
                           "total_count": 1,
                           "limit": 1000,
                           "ending_before": 0,
                           "starting_after": 0,
                           "total_amount":359.778,00,
                           "object_name": "transaction_list",
                           "has_more": false,
                           "Data": [
                                {
                                "merchant_id": "100100000",
                                "companyCode": "10000",
                                "companyName": "ARENA B\u0130LG\u0130SAYAR SAN. VE T\u0130C.A.\u015e.",
                                "agent_id": "20000",
                                "agent_referans_no": "12471",
                                "agent_name": "BURLA MAKINA TIC.VE YATIRIM A.\u015e.",
                                "xact_id": "xk_EAAAANi*ptb1bujhrJ0q5Vntse1l9ODuLzjnVzcodwngDyUo",
                                "xact_date": "10.12.2015",
                                "is_tds": true,
                                "bank_id": "AXSS",
                                "bank_name": "Axess",
                                "card_no": "434678******0002",
                                "card_holder": "fsfsfs",
                                "card_type": "bc",
                                "card_type_name": "Kredi Kart\u0131",
                                "authorization_code": "aut-2545",
                                "reference_code": "ref-2545",
                                "order_id": "order-2545",
                                "postype_desc": "Paynet POS",
                                "xact_type": "S",
                                "xacttype_desc": "Sat\u0131\u015f",
                                "fiscal_period_id": "201512",
                                "sector_id": "0001",
                                "sectorid_desc": "Bili\u015fim",
                                "channel_name": "Paynet Api",
                                "ipaddress": "10.1.2.176",
                                "client_id": "                                    ",
                                "xact_transaction_id": "0110CBF1-3D81-4C94-9B4B-F4D94F035E09",
                                "terminal_id": "",
                                "is_succeed": true,
                                "reversed": false,
                                "is_reconcile": false,
                                "is_payup": false,
                                "is_onchargeback": false,
                                "is_transferred": false,
                                "reversed_xact_id": "",
                                "channel_id": 2,
                                "pos_type": 5,
                                "instalment": 3,
                                "amount": "150,00",
                                "net_amount": "144,69",
                                "comission": "4,50",
                                "comission_tax": "0,81",
                                "currency": "TRY",
                                "ratio": "3,00",
                                "user_id": "paynetj",
                                "xact_time": "10.12.2015 23:05:11",
                                "xact_note": "",
                                "xact_agent_reference": "",
                                "company_pay_ratio": "30,00",
                                "company_cost_ratio": "3,00",
                                "ana_firma_brut_alacak": "45,00",
                                "ana_firma_komisyonu": "0,00",
                                "ana_firma_komisyonu_kdv_dahil": "0,00",
                                "ana_firma_odenecek_net_tutar": "45,00",
                                "bayi_brut_alacak": "105,00",
                                "bayi_komisyonu": "4,50",
                                "bayi_komisyonu_kdv_dahil": "5,31",
                                "bayiye_odenecek_net_tutar": "99,69",
                                "cp_mfi_vdate": "01.01.1900",
                                "cp_mfi_vdate_day": 0,
                                "ap_mfi_vdate": "01.01.1900",
                                "ap_mfi_vdate_day": 0
                                },
                                ....
                          ]
                          }
                            
Request Parameters
Parametre AdıTipÖzet bilgi
agent_id String(max 10) [Opsiyonel] Paynet bayi koduna göre filtreleme yapmak için.
bank_id Char(4) [Opsiyonel] Banka koduna göre filtreleme yapmak için
datab Date [Zorunlu] Başlangıç Tarihi
datbi Date [Zorunlu] Bitiş Tarihi
show_unsucceed bool [Opsiyonel] Bu parametre “true” ise başarılı işlemler ile birlikte başarısız işlemleride getirir. Default değeri “false”
limit int [Opsiyonel] Döndürülecek veri sayısı. Default 10 kayıt döner.
ending_before int [Opsiyonel] İnteger değer. Belirtilen index’den önceki limit sayısı kadar kayıt getirir. Eğer ending_before 90 gönderildi, limit olarak 15 gönderildi. 75. İle 90. Kayıtları arasındaki kayıtları gönderir.
starting_after int [Opsiyonel] İnteger değer. Belirtilen index’den sonraki limit sayısı kadar kayıt getirir. Eğer starting after 15 gönderildi, limit olarak 15 gönderildi. 15. İle 30. Kayıtları arasındaki kayıtları gönderir
Response Parameters
Parametre Adı Tip Özet bilgi
companyCode String(max 10) Ana firma kodu
companyName String(max 50) Ana firma adı
xact_date DateTime İşlem tarihi dd.mm.yyyy formatında
xact_time DateTime İşlemin zamani dd.mm.yyyy HH:SS:ss
total int Toplam satır sayısı
total_count int Toplam gösterilen satır sayısı
total_amount int Toplam işlem tutar
limit int Gönderilen limit bilgisi
ending_before İnt Gönderilen ending_before bilgisi
starting_after İnt Gönderilen starting_after bilgisi
object_name String transaction_list
has_more bool True ise Belirtilen kriterlerde gönderilen satırlardan daha olduğu anlamına gelir.
merchant_id String(max 50) İşlemin yapıldığı üye iş yeri numarası
company_cost_ratio Float Ana firma komisyon oranı. Sadece ana firma tarafından çekilen raporlarda gelir.
agent_id String(max 10) Paynet Bayi kodu
user_id String(max 10) Paynet Kullanici kodu
xact_note String(max 140) İşlem yapılırken gönderilen description
xact_agent_reference String(max 50) İşlem yapılırken girilen referans numarası
agent_referans_no String(max 50) Ana Firma Bayi Kodu. Bayinin ana firmadaki kodu
agent_name String(max 50) Bayi Adı
xact_id String(max 100) Paynet işlem numarası
is_tds Bool İşlemin 3D secure ile yapılıp / yapılmadığı
bank_id Char(4) Banka kodu
bank_name String(max 100) Banka adı
card_no String(max 25) Kart numarası
card_holder String(max 50) Kart sahibinin adı
card_type Char(2) Kart tipi
card_type_name String(max 20) Kart tipi açıklaması
authorization_code String(max 10) Banka onay kodu
reference_code String(max 50) Banka referans kodu
order_id String(max 50) Banka sipariş numarası
postype_desc String(max 100) Pos tipi açıklaması
xact_type Char(2) İşlem tipi CD İade CR Finansallaştırma PI Puan İptal PK Puan kullanımı PR Provizyon R İptal RC Finansallaştırma İptal RP Provizyon İptal S Satış Q Query DS dueSales
xacttype_desc String(max 50) İşlem açıklaması
fiscal_period_id Char(6) İşlemin yapıldığı mali dönem yyyyMM şeklinde.
sector_id Char(4) Sektör id’si
sectorid_desc String(max 20) Sektör açıklaması
channel_name String(max 50) İşlemin yapıldığı kanalın açıklaması
ipaddress String(max 15) İşlemin yapıldığı ip adresi
client_id Guid 32 İşlemin yapıldığı client
xact_transaction_id Guid 32 Paynet takip kodu
terminal_id String(max 50) İşlemin yapıldığı terminal numarası
is_succeed Bool İşlemin başarılı ya da başarısız olduğu. İşlem başarılı ile kredi kartından ilgili tutar çekilmiş demektir. Başarısız ise bir nedenden dolayı karttan çekim yapılamamıştır.
reversed Bool İşlemin iptal edilip edilmediği
is_reconcile Bool Banka mutabakat yapılıp yapılmadığı anlamına gelir
is_payup Bool Ödemesinin firmaya yapılıp yapılmadığı
is_onchargeback Bool İşlemde charback talebi yapılıp yapılmadığı
is_transferred Bool İşlemin cari hesabınıza aktarılıp aktarılmadığı.
reversed_xact_id String(max 100) İptal kayıtlarında hangi kaydın iptali olduğunu belirler
channel_id int İşlemin yapıldığı kanalın id’si
pos_type Char(1) Pos tipi
instalment int Taksit sayısı
amount Decimal Kredi kartından çekilen tutar
net_amount decimal Komisyon hariç tutar
comission decimal Komisyon tutuarı
comission_tax decimal Komisyon vergisi
currency Char(3) Para birimi
ratio float Komisyon oranı
company_pay_ratio float Ana firmaya ödeme dağılımı oranı %50 için 50 gelir.
company_cost_ratio float Ana Firma Komisyonu %
ana_firma_komisyonu decimal Ana Firma Komisyonu TL (KDV Hariç)
ana_firma_komisyonu_kdv_dahil decimal Ana Firma Komisyonu TL (KDV Dahil)
ana_firma_odenecek_net_tutar decimal Ana Firma Ödenecek Net Tutar
cp_mfi_vdate_day int Ana Firma Ödeme Blokajı (Gün)
cp_mfi_vdate Date Ana Firmaya Ödeme Vadesi
ana_firma_brut_alacak Decimal Ana Firma Brüt Alacak
bayi_brut_alacak Decimal Bayi Brüt Alacak
bayi_komisyonu Decimal Bayi Komisyonu TL (KDV Hariç)
bayi_komisyonu_kdv_dahil Decimal Bayi Komisyonu TL (KDV Dahil)
bayiye_odenecek_net_tutar Decimal Bayiye Ödenecek Net Tutar
ap_mfi_vdate_day int Bayi Ödeme Blokajı (Gün)
ap_mfi_vdate int Bayiye Ödeme Vadesi

İşlem İşaretleme (v1/transaction/mark_transferred)

Paynet işlemlerini kendi sisteminize aktarırken list servisinden sadece aktarılmamış kayıtların gelmesini isterseniz bu servis ile o işlemi aktarıldı olarak işaretleyebilirsiniz.

Url v1/transaction/mark_transferred
Request

{
xact_id: "xk_EAAAAAh7VYf9HG4+GR9ezqiMWAA8PY6P4eroE4BUUHRCLxGO"
}

Response

{"object_name":"transaction_mark_transferred","message":"Başarılı İşlem","code":0}

Request Parameters
Parametre AdıÖzet bilgi
xact_id [Zorunlu]
Paynet işlem numarası

İşlem İade (v1/transaction/reversed_request)

Başarılı kredi kartı işlemlerinin iptali, iadesi veya kısmi iadesi için kullanılır. Burada önemli olan nokta işlemin yapıldığı tarihtir. Aynı gün yapılan işlemler tüm tutar iptal edilir. Geçmiş tarihli işlemler tümü iade olabilir ya da kısmı iade yapabilirsiniz. Aynı gün yapılan işlemlerde kısmi iade yapılamaz.

Url v1/transaction/reversed_request
Request

{
xact_id: "xk_EAAAAAh7VYf9HG4+GR9ezqiMWAA8PY6P4eroE4BUUHRCLxGO"
}

Response

{"object_name":"transaction_reversed_request","message":"Başarılı İşlem","code":0}

Request Parameters
Parametre AdıÖzet bilgi
xact_id [Zorunlu]
Paynet işlem numarası
amount [Opsiyonel] İade edilecek tutar. İade edilecek tutarının yüz ile çarpılmış hali. “10.00 TL” => “1000” olarak gönderilmeli. Eğer gönderilmez ya da 0 gönderilirse tüm işlem tutarı iade edilir.
succeedUrl [Opsiyonel] İade talebi onaylandığında veya onaydan kaldırıldığında succeedUrl adresine durumuyla ilgili post işlemi yapılır.
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Döneş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

succeedUrl Adresine Post Edilen Parametreler

İade işlemi servisinden gelen talep doğrultusunda istenilen iadenşn onayı veya reddi durumunda, iade işlemi (v1/transaction/reversed_request) servisinde belirtilen succeedUrl parametresinde belirtilen adrese JSON formatında post edilir. Eğer bu parametre boş değere sahip ise post işlemi gerçekleşmez.

Request Parameters
Parametre Adı Tip Özet bilgi
xact_id string İade işleminin Paynet işlem numarası
code string İade işleminin sonuç kodu 0: iade/iptal isteği onaylandı 1: iade/iptal isteği onaylanmadı
status string İade işlemi sonucu ile ilgili durum statusu
message string İade işlemi sonucu ile ilgili not

İşlem İade Listesi (v1/transaction/reversal_list)

Paynet ’ten yapılan iptal/iade taleplerinin listesini almak için kullanılır.

Url v1/transaction/reversal_list
Request

{"agent_id":"", "bank_id":"", "datab":"2015-04-04", "datbi":"2016-11-05", "ending_before":0, "starting_after":0,"limit":1}

Response
                                     {  
                                       "companyCode":"10000",
                                       "companyName":"ARENA BİLGİSAYAR SAN. VE TİC.A.Ş.",
                                       "total":24,
                                       "total_count":2,
                                       "limit":1,
                                       "ending_before":0,
                                       "starting_after":0,
                                       "total_amount":24.781,00",
                                       "object_name":"transaction_list",
                                       "has_more":true,
                                       "Data":[  
                                          {  
                                             "xact_id":"xk_EAAAAACDUON4k5Wz6WqQ7NmcnPk*TmqGlHdLwpkh5eTF*ict",
                                             "company_code":"10000",
                                             "agent_id":"20060",
                                             "user_id":"aygule",
                                             "bank_id":"WRLD",
                                             "bank_name":"YKB",
                                             "instalment":0,
                                             "amount":2.000,00,
                                             "entry_date":"10.06.2015",
                                             "xact_date":"10.06.2015",
                                             "status":"İptal edildi",
                                             "cardholder":"test",
                                             "cardno":"450634******5746",
                                             "email":"",
                                             "phone":" ",
                                             "authorizationcode":"aut-2315",
                                             "referencecode":"ref-2315",
                                             "deleted":false,
                                             "delete_reason":"",
                                             "reversed_xact_id":"xk_EAAAAFNHzUQrK0p7fmbRPBzTOPwW2HwNRkGl71I6W4U1czZB",
                                             "company_name":"ARENA BİLGİSAYAR SAN. VE TİC.A.Ş.",
                                             "agent_name":"SMART BILGISAYAR SISTEMLERI",
                                             "remain_amount":0,
                                             "credit_amount":0,
                                             "requested_amount":0
                                          }
                                       ]
                                    }

                            
Request Parameters
Parametre AdıTipÖzet bilgi
agent_id String(max 10) [Opsiyonel] Paynet bayi koduna göre filtreleme yapmak için.
bank_id Char(4) [Opsiyonel] Banka koduna göre filtreleme yapmak için
datab Date [Zorunlu] Başlangıç Tarihi
datbi Date [Zorunlu] Bitiş Tarihi
limit int [Opsiyonel] Döndürülecek veri sayısı. Default 10 kayıt döner.
ending_before int [Opsiyonel] İnteger değer. Belirtilen index’den önceki limit sayısı kadar kayıt getirir. Eğer ending_before 90 gönderildi, limit olarak 15 gönderildi. 75. İle 90. Kayıtları arasındaki kayıtları gönderir.
starting_after int İnteger değer. Belirtilen index’den önceki limit sayısı kadar kayıt getirir. Eğer ending_before 90 gönderildi, limit olarak 15 gönderildi. 75. İle 90. Kayıtları arasındaki kayıtları gönderir. [Opsiyonel] İnteger değer. Belirtilen index’den sonraki limit sayısı kadar kayıt getirir. Eğer starting after 15 gönderildi, limit olarak 15 gönderildi. 15. İle 30. Kayıtları arasındaki kayıtları gönderir
Response Parameters
Parametre Adı Tip Özet bilgi
company_code String(max 10) Ana firma kodu
company_name String(max 50) Ana firma adı
xact_date DateTime İşlem tarihi dd.mm.yyyy formatında
entry_date DateTime İade/iptal işlem tarihi dd.mm.yyyy formatında
total int Toplam satır sayısı
total_count int Toplam gösterilen satır sayısı
total_amount int Toplam işlem tutar
limit int Gönderilen limit bilgisi
ending_before İnt Gönderilen ending_before bilgisi
starting_after İnt Gönderilen starting_after bilgisi
object_name String transaction_list
has_more bool True ise Belirtilen kriterlerde gönderilen satırlardan daha olduğu anlamına gelir.
agent_id String(max 10) Paynet Bayi kodu
user_id String(max 10) Paynet Kullanici kodu
agent_name String(max 50) Bayi Adı
xact_id String(max 100) Paynet işlem numarası
reversed_xact_id String(max 100) Paynet iptal/iade işlem numarası
bank_id Char(4) Banka kodu
bank_name String(max 100) Banka adı
card_no String(max 25) Kart numarası
card_holder String(max 50) Kart sahibinin adı
authorization_code String(max 10) Banka onay kodu
reference_code String(max 50) Banka referans kodu
status Bool İşlemin iptal/iade statüsü
deleted Bool İşlemin iptal/iade red edildi mi?
delete_reason Bool İşlemin iptal/iade red nedeni
instalment int Taksit sayısı
amount Decimal Kredi kartından çekilen tutar
remain_amount Decimal İade/iptal edildikten sonra kalan tutar
credit_amount Decimal İade/iptal edilen tutar tutar
requested_amount Decimal İade/iptal istenilen tutar

İşlem ile İlgili Bilgi Eklemek (v1/transaction/add_info)

Ödeme alınması sonrası işleminiz hakkında e-mail, telefon, referans kodu ve not eklemenize veya güncellemenize olanak tanır.

Url v1/transaction/add_info
Request

{
"xact_id":"xk_EAAAAEwBHM0lIgwZbfPU5TmiHhhc/ARIrakW/9476pYzEyta",
"note":"note alanı",
"phone":"2123646464",
"email":"mail@mail.comı",
"agent_reference":"agent_reference alanı"
}

Response

{"object_name":"transaction_add_info","message":"Başarılı İşlem","code":0}

Request Parameters
Parametre AdıÖzet bilgi
xact_id [Zorunlu]
Paynet işlem numarası
note [Opsiyonel]
Ödeme ile ilgili not bilgisi
email [Opsiyonel]
Ödeme ile ilgili mail bilgisi
phone [Opsiyonel]
Ödeme ile ilgili telefon bilgisi
agent_reference [Opsiyonel]
Ödeme ile ilgili bayi referans numarası bilgisi
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Döneş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

İşlem Slip (v1/transaction/slip)

Başarılı işlemleriniz ile ilgili slip almak istediğinizde kullanabileceğiniz servistir.

Url v1/transaction/slip
Request

{
"xact_id":"xk_EAAAAEwBHM0lIgwZbfPU5TmiHhhc/ARIrakW/9476pYzEyta",
"email":"mail@arena.com.tr",
"send_mail":"true"
}

Response

{
"url":"https://pts.paynet.com.tr/S/PaynetSlip?xact_id=xk_EAAAAEwBHM0lIgwZbfPU5TmiHhhc/***********;companyCode=****&agentID=****",
"object_name":"transaction_slip",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_id string [Zorunlu]
Paynet işlem numarası
email string [Opsiyonel]
Slip'in gönderilmesi istenilen mail adresi
send_mail bool [Opsiyonel]
mail gönderilsin mi?
phone string [Opsiyonel]
Slip'in gönderilmesi istenilen telefon bilgisi
send_sms bool [Opsiyonel]
sms gönderilsin mi?
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Döneş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması
url string Slip'i görebileceğiniz URL adresi

İmza Yükle (v1/transaction/upload)

Bu servis ile; ödemesi alınmış başarılı işlemleriniz ile ilgili işlem onay verisi olarak imza resmini base64 formatında yükleyebilirsiniz.

Url v1/transaction/upload
Request

{
"xact_id":"xk_EAAAAEwBHM0lIgwZbfPU5TmiHhhc/ARIrakW/9476pYzEyta",
"pars_base64":"İmza datasının base64'lü hali"
}

Response

{
"object_name":"file_upload",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre AdıTipÖzet bilgi
xact_id string [Zorunlu]
Paynet işlem numarası
pars_base64 string [Zorunlu]
Resim verisinin base64'e dönüştürülmüş formatı
pars_file_name string [Opsiyonel]
Resim verisinin adı
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Döneş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

Oran Servisleri

Oran Tablosu (v1/ratio/Get)

Paynet oran tablosunu secret key ile çağırabileceğiniz servis. Server tarafında kullanmak için uygundur.

Url v1/ratio/Get
Request

{"bin":"434678", "amount": 100}

Response

{
"data":[
{
"bank_id":"AXSS",
"bank_logo":"http://localhost:64102/img/banklogo/small/AXSS.png",
"bank_name":"Axess",
"ratio":[
{
"ratio":0.02,
"instalment_key":"ji_EAAAAIi3zzUmsF9+s+onpvYG8g1pSXU5ymrpxEgBh1TyP/dN",
"instalment":0,
"instalment_amount":2.0,
"total_net_amount":1.96,
"total_amount":2.0,
"commision":0.04,
"commision_tax":0.00,
"desc":"Peşin"
},
{
"ratio":0.03,
"instalment_key":"ji_EAAAAAvOYWDjZ57GMBr3qbA+0aNHRNLwpyStLeBzeWFzOQgz",
"instalment":3,
"instalment_amount":0.67,
"total_net_amount":1.92,
"total_amount":2.0,
"commision":0.06,
"commision_tax":0.02,
"desc":"3 Taksit"
},
{
"ratio":0.03,
"instalment_key":"ji_EAAAAJca+t5ymv2WLi8aWuQNpfjyuq92XtgEIPhzLip8N4Jg",
"instalment":6,
"instalment_amount":0.33,
"total_net_amount":1.92,
"total_amount":2.0,
"commision":0.06,
"commision_tax":0.02,
"desc":"6 Taksit"
},
{
"ratio":0.02,
"instalment_key":"ji_EAAAAGam87sdWVgSGJ4FvWiqK/YEwk5P2r3xDFOctGlTin9X7tE0ahdpfeVJA6I6oCW7Qw==",
"instalment":101,
"instalment_amount":0.02,
"total_net_amount":1.96,
"total_amount":2.0,
"commision":0.04,
"commision_tax":0.00,
"desc":"Puan Kullanimi"
}
]
}
],
"object_name":"ratio_get",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Tip Özet bilgi
pos_type int [Opsiyonel] Paynet’in pos oranlarını mı yoksa Firma POS oranlarını mı kullanılacak onu belirlee. Default olarak Paynet pos’ları çalışır.
amount String [Opsiyonel] Kredi kartından çekilen toplam tutar. Gönderilen tutar'a göre instalment_amount,total_net_amount,total_amount,commision,commision_tax değerlerini hesaplar.
addcomission_to_amount bool [Opsiyonel] true/false, Default: false. Komisyon tutarının ödeme tutarına eklenip eklenmeyeceği belirlenir. True olduğunda komisyon tutarı kredi kartından çekilecek tutara eklenir.
bin String [Opsiyonel] Kredi kartının ilk 6 hanesi gönderilir ise sadece kartın ait olduğu bankanın oranlarını döner.
agent_id String [Opsiyonel] Ana firma, bayilerinin oranını görmek isterse; Paynet bayi kodunu değer olarak vermelidir.
ratio_code String [Opsiyonel Tanımladığınız oran tablosunu kodunu bu alanda gönderirseniz, o koda tanımlı oran ve taksit tablonuz görünür.
Response Parameters
Parametre Adı Tip Özet bilgi
instalment_key String İlgili oranın ID'si. Custom Form Entegrasyonunda hangi taksit işlemi geçtiği bu ID gönderilerek olur.
instalment int Taksit sayısı
instalment_amount decimal Kredi kartından çekilecek taksit tutarı
desc String(max 50) Taksit açıklaması
bank_id Char(4) Bankanın Paynet sistemindeki kodu
bank_logo String(max 60) Banka logo
bank_name String(max 100) Banka adı
ratio float Ödeme sırasında kullanılan oran.
total_amount decimal Kredi kartından çekilen toplam tutar
total_net_amount decimal Komisyon hariç tutar
commission decimal Komisyon tutarı
commission_tax decimal Komisyon vergisi

Oran Tablosu (v1/ratio/Get_public)

Paynet oran servisini client tarafta veren servistir.

Url v1/ratio/Get_public
Request

{"bin":"434678", "amount": 100}

Response

{
"data":[
{
"bank_id":"AXSS",
"bank_logo":"http://localhost:64102/img/banklogo/small/AXSS.png",
"bank_name":"Axess",
"ratio":[
{
"ratio":0.02,
"instalment_key":"ji_EAAAAIi3zzUmsF9+s+onpvYG8g1pSXU5ymrpxEgBh1TyP/dN",
"instalment":0,
"instalment_amount":2.0,
"total_net_amount":1.96,
"total_amount":2.0,
"commision":0.04,
"commision_tax":0.00,
"desc":"Peşin"
},
{
"ratio":0.03,
"instalment_key":"ji_EAAAAAvOYWDjZ57GMBr3qbA+0aNHRNLwpyStLeBzeWFzOQgz",
"instalment":3,
"instalment_amount":0.67,
"total_net_amount":1.92,
"total_amount":2.0,
"commision":0.06,
"commision_tax":0.02,
"desc":"3 Taksit"
},
{
"ratio":0.03,
"instalment_key":"ji_EAAAAJca+t5ymv2WLi8aWuQNpfjyuq92XtgEIPhzLip8N4Jg",
"instalment":6,
"instalment_amount":0.33,
"total_net_amount":1.92,
"total_amount":2.0,
"commision":0.06,
"commision_tax":0.02,
"desc":"6 Taksit"
},
{
"ratio":0.02,
"instalment_key":"ji_EAAAAGam87sdWVgSGJ4FvWiqK/YEwk5P2r3xDFOctGlTin9X7tE0ahdpfeVJA6I6oCW7Qw==",
"instalment":101,
"instalment_amount":0.02,
"total_net_amount":1.96,
"total_amount":2.0,
"commision":0.04,
"commision_tax":0.00,
"desc":"Puan Kullanimi"
}
]
}
],
"object_name":"ratio_get",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Tip Özet bilgi
pos_type int [Opsiyonel] Paynet’in pos oranlarını mı yoksa Firma POS oranlarını mı kullanılacak onu belirlee. Default olarak Paynet pos’ları çalışır.
amount String [Opsiyonel] Kredi kartından çekilen toplam tutar. Gönderilen tutar'a göre instalment_amount,total_net_amount,total_amount,commision,commision_tax değerlerini hesaplar.
addcomisson_to_amount bool [Opsiyonel] true/false, Default: false. Komisyon tutarının ödeme tutarına eklenip eklenmeyeceği belirlenir. True olduğunda komisyon tutarı kredi kartından çekilecek tutara eklenir.
bin String [Opsiyonel] Kredi kartının ilk 6 hanesi gönderilir ise sadece kartın ait olduğu bankanın oranlarını döner.
agent_id String [Opsiyonel] Ana firma, bayilerinin oranını görmek isterse; Paynet bayi kodunu değer olarak vermelidir.
ratio_code String [Opsiyonel] Tanımladığınız oran tablosunu kodunu bu alanda gönderirseniz, o koda tanımlı oran ve taksit tablonuz görünür.
Response Parameters
Parametre Adı Tip Özet bilgi
instalment_key String İlgili oranın ID'si. Custom Form Entegrasyonunda hangi taksit işlemi geçtiği bu ID gönderilerek olur.
instalment int Taksit sayısı
instalment_amount decimal Kredi kartından çekilecek taksit tutarı
desc String(max 50) Taksit açıklaması
bank_id Char(4) Bankanın Paynet sistemindeki kodu
bank_logo String(max 60) Banka logo
bank_name String(max 100) Banka adı
ratio float Ödeme sırasında kullanılan oran.
total_amount decimal Kredi kartından çekilen toplam tutar
total_net_amount decimal Komisyon hariç tutar
comission decimal Komisyon tutarı
comission_tax decimal Komisyon vergisi

Oran Tipi Düzenleme (v1/ratio/set_type)

Yeni bir oran tipi oluşturmanızı veya mevcut bir oran tipinin özelliklerini değiştirmenizi sağlar ve eklenen/düzenlenen oran tipinin kodunu döndürür.

Url v1/ratio/set_type
Request

{
"ratio_code" : "S3E746PV",
"description" : "Oran tipi açıklaması",
"is_default" : false,
"is_cumulative" : true
}

Response

{
"ratio_code":"S3E746PV",
"object_name":"ratio_set_type",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Tip Özet bilgi
ratio_type string [Opsiyonel] Düzenleyeceğiniz oran tipine ait oran kodu. Yeni oran tipi oluşturulmak isteniyorsa bu parametre gönderilmemelidir.
description String [Zorunlu] Tanımlayacağınız oran tipinin açıklaması.
is_default Boolean [Opsiyonel] true/false, Default: false. Oran tipinin API tarafından varsayılan olarak kullanılıp kullanılmayacağını belirler.
is_cumulative Boolean [Opsiyonel] true/false, Default: true. Oran hesaplama yöntemini belirler. Parametre "true" olarak gönderilirse oran hesaplama yöntemi "Sabit Fonlama Oranı" olarak seçilmiş olur ve girilen oranlar API'da Paynet oranlarının üstüne +/- olarak eklenerek kullanılır, "false" olarak gönderilirse oran hesaplama yöntemi "Gösterilecek Oran" olarak seçilmiş olur ve oran olarak girilen değerler aynen API'da görüntülenir.
Response Parameters
Parametre Adı Tip Özet bilgi
ratio_code string Eklenen veya düzenlenen oran tipinin kodu.
object_name string Dönüş yapılan API’nin nesne adı.
code string Dönüş sonucunun kodu. Bknz.Dönüş kodları
message string Dönüş sonuç kodunun açıklaması.

Oran Tipi Silme (v1/ratio/delete_type)

Tanımladığınız oran tiplerini silmenizi sağlayan servistir.

Url v1/ratio/delete_type
Request

{
"ratio_code" : "S3E746PV"
}

Response

{
"object_name":"ratio_delete_type",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Tip Özet bilgi
ratio_code string [Zorunlu] Silmek istediğiniz oran tipine ait kod
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Dönüş yapılan API’nin nesne adı.
code string Dönüş sonucunun kodu. Bknz. Dönüş kodları
message string Dönüş sonuç kodunun açıklaması.

Oran Tanımlama (v1/ratio/define)

Bir oran tipine oranların tanımını yapmayı, bu oran tipi için taksit veya banka bloklamayı sağlayan servistir.

Url v1/ratio/define
Request

{
"ratio_code" : "S3E746PV",
"banks": [
{
"bank_id": "MAXM",
"is_blocked": "false",
"instalments": [
{
"instalment": "3",
"ratio": "0.13",
"is_blocked" : "false"
},
{
"instalment": "6",
"ratio": "0.15",
"is_blocked" : "false"
}
]
},
{
"bank_id": "WRLD",
"is_blocked": "false",
"instalments": [
{
"instalment": "3",
"ratio": "0.12",
"is_blocked" : "false"
}
]
},
{
"bank_id": "AXSS",
"is_blocked": "true"
}
]
}

Response

{
"object_name":"ratio_define",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Tip Özet bilgi
ratio_code String [Zorunlu] Oran tanımı yapmak istediğiniz oran tipine ait kod.
banks Dizi [Zorunlu] Oran tanımlarının yapılacağı bankaları tutan dizi.
bank_id Char(4) [Zorunlu] Tanımların yapılacağı bankaları temsil eden 4 karakterli kod. Bknz. Banka Kodları
instalments Dizi [Opsiyonel] "banks" dizisinin altındaki her nesne için taksitlere ait bilgileri tutan dizilerdir. Bir banka bloklanacaksa bu banka için "instalments" dizisi göndermeye gerek yok.
instalment Int [Zorunlu] Bloklanacak veya oran tanımı yapılacak taksite ait numara. Bknz. Taksit kodları
is_blocked Boolean [Opsiyonel] true/false, Default: false. Banka veya taksitin bloklu olup olmadığına dair, "banks" veya "instalments" dizilerindeki nesnelere eklenebilir.
ratio Float [Opsiyonel] Default: 0. Tanımların yapılacağı oran tipinin, oran hesaplama yöntemine göre belli aralıklarda gönderilmesi gereken orandır. Oran hesaplama yönetimi "Kümülatif" olan oran tiplerinde minimum -0.20, maksimum 0.20 olabilir. Oran hesaplama yönetimi "Net" olan oran tiplerinde minimum 0, maksimum 0.20 olabilir. Taksit bloklanacaksa veya oran "0" olarak kaydedilecekse bu parametrenin gönderilmesine gerek yoktur.
Response Parameters
Parametre Adı Tip Özet bilgi
object_name string Dönüş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu. Dönüş Kodu "0" tanımlamanın başarıyla yapıldığını beliritir. Bunun dışında tüm dönüş kodları tanımlamada hata oluştuğunu, tanımların kaydedilmediğini belirtir. Bknz.Dönüş kodları
message string Dönüş sonuç kodunun açıklaması
Banka Kodları
bank_id Açıklaması
ADVTAdvantage
AXSS Axess
BONS Bonus
DENZ Denizbank
FINS CardFinans
MAXM Maximum
PARF Paraf
VAKF Vakıfbank
WRLD WorldCard
ZDGR Diğer Banka
Taksit Kodları
instalment Açıklaması
0Tek çekim
33 Taksit
66 Taksit
99 Taksit


Bayi Servisleri (Agent)

Auto login olmak(v1/agent/autologin)

odeme.paynet.com.tr sistemine api üzerinden otomatik giriş yapabilmenize olanak verir.

Url v1/agent/autologin
Request

{"agent_id":"54280", "user_name": "PaynetApi"}

Response

{
"url":"https://pts.paynet.com.tr/Account/PaynetAgentGate?al=EAAAALUbFZV0GZ3yLrGyYPDQEqeuVR%2fzQjelGe7J2fvecUODByB%2bFxqnEBlgWJb0WJUemFc0kvZ04%2bmLtMwsM1YblUc%3d",
"object_name":null,
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Koşul Tip Özet bilgi
user_name Zorunlu string Paynet kullanıcı adınız
agent_id Zorunlu string Paynet bayi kodunuz
Response Parameters
Parametre Adı Tip Özet bilgi
url string ödeme.paynet.com.tr hesabınıza otomatik login olmanızı sağlayacak url adresi
object_name string Dönüş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

Login servisi(v1/agent/login)

Login servisi doğrulama sonucunda bayi ve kullanıcı bilgilerini döner.


Url v1/agent/login
Request

{"agent_id":"Bayi Kodunuz", "user_name": "PaynetApi","password":"PaynetApi"}

Response

{
"userAuthorizationContainer":{
"TransactionAuthorization":true,
"ReportAuthorization":true,
"MasterUserAuthorization":true,
"AllUserReportAuthorization":true,
"ReverseTransactionAuthorization":true
},
"session_key":"mbl_pcs_cs73aR0x00iZnQwAwk*********",
"expired_date":"2016-04-09",
"logo_url":null,
"agent_id":"54266",
"user_name":"gamze yılmazel",
"user_id":null,
"user_email":"dummy",
"user_phone":"dummy",
"company_code":"dummy",
"company_desc":"dummy",
"agent_name":"MACİT GÜMÜŞ VE KUYUM.BİLİŞİM TEKN.L",
"adress1":"ESENTEPE MAH. FSM BULVARI",
"adress2":"BAHAR SİTESİ 96/1B",
"county_code":"33",
"county_name":"dummy",
"city_code":"",
"city_name":"dummy ",
"zip_code":"",
"email":null,
"phone":"dummy",
"tax_office":"İKİTELLİ",
"tax_id":"dummy",
"sector_id":"0001",
"referans_no":"39720",
"segment_id":"Testt",
"segment_text":"Bilişim",
"is_agent_blocked":false,
"is_agent_deleted":false,
"is_activ":false,
"is_company":false,
"object_name":"login",
"code":0,
"message":"Başarılı İşlem"
}

Request Parameters
Parametre Adı Koşul Tip Özet bilgi
user_name Zorunlu string Paynet kullanıcı adınız
password Zorunlu string Paynet şifreniz
agent_id Zorunlu string Paynet bayi kodunuz
pushtoken_id Zorunlu string Device ID
company_code Opsiyonel string Ana firma kodu opsiyonel olarak gönderilebilir
os_type Opsiyonel string Cihazın işletim sistemi
device_type Opsiyonel string Cihazın modeli
Response Parameters
Parametre Adı Tip Özet bilgi
session_key string Paynet API servislerinde kullanabileceğiniz key değeri
expired_date string sessionKey değerinin son kullanma tarihi
logo_url string Paynet sisteminde kayıtlı logo url
agent_id string Bayi kodu
user_name string Kullanıcı adı
user_id string Kullanıcı kodu
user_email string Kullanıcı mail adresi
user_phone string Kullanıcı telefon numarası
company_code string Ana firma kodu
company_desc string Ana firma adı
agent_name string Bayi adı
adress1 string Bayi adres1
adress2 string Bayi adres2
county_code string Bayi il kodu
county_name string Bayi il adı
city_code string Bayi ilçe kodu
city_name string Bayi ilçe adı
zip_code string Bayi posta kodu
phone string Bayi telefon
tax_office string Paynet sistemlerinde kayıtlı vergi dairesi
tax_id string Paynet sistemlerinde kayıtlı vergi numarası
sectorID string Sektör kodu
referans_no string Referans numarası
segment_id string Paynet sistemlerinde kayıtlı segment kodu
segment_text string Paynet sistemlerinde kayıtlı segment adı
is_agent_blocked bool Bayi blokaj durumu
is_agent_deleted bool Bayi çıkarılma durumu
is_activ bool Bayi aktiflik durumu
is_select_customer bool Ana firma ya da ara toptan bayilerini belirtir
is_company bool Login olan bayi ana firma mı?
TransactionAuthorization bool Ödeme İşlemi yapabilir
ReportAuthorization bool İşlem listesini görme
MasterUserAuthorization bool MASTER kullanıcı
AllUserReportAuthorization bool Diğer kullanicilarin islemlerini Görme
ReverseTransactionAuthorization string İptal / İade Yapabilir
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

Limit(v1/agent/limit_info)

Paynet'te tanımlı limitlerinizi görmek için kullanabilirsiniz.

Url v1/agent/limit_info
Request

{}

Response

{
"td_defined_limit":"500.000,00",
"defined_limit":"100.000,00",
"td_used_limit":"0,00",
"used_limit":"10,00",
"td_available_limit":"500.000,00",
"available_limit":"99.990,00",
"object_name":"get_limit",
"code":0,
"message":"Başarılı İşlem"
}

Response Parameters
Parametre Adı Tip Özet bilgi
td_defined_limit string Tanımlı 3D limit
defined_limit string Tanımlı limit
td_used_limit string Kullanılan 3D limit
used_limit string Kullanılan limit
td_available_limit string Kullanılabilir 3D limit
available_limit string Kullanılabilir limit




Ödeme Emri (Ortak Ödeme)

Müşterinizden ödeme almak istediğinizde kullanabilecek servislerdir. Ortak ödeme sayfası olarak ya da email veya sms ile link gönderilerek, link üzerinden ödeme alınması şeklinde kullanabilirsiniz. Ödeme sonrasında succeed_url,error_url ve ya confirmation_url'i parametrelerini kullanarak sistemi entegre edebilirsiniz.

Ödeme Emri Oluşturma (v1/mailorder/create)

Ödeme almak istediğiniz müşterilerinize ödeme emri oluşturmanızı sağlayan servistir. Bu servisi hem GET metodu ile URL üzerinden hem de POST metodunu kullanarak istek parametrenizi JSON veya XML formatında göndererek işlem yapabilirsiniz. Ödeme emri ile emrinizi ister mail ile ister SMS ile ve isterse üretilen URL üzerinden anlık olarak ödeme emri yaratabilirsiniz. Bu servis ile üretilen url, gönderilen mail ya da SMS sizin belirleyeceğiniz “expire_date” süresine kadar geçerli olur.

POST Methodu

Post metodu üzerinden ödeme emri göndermenin authentication mekanizması basic authentication üzerinden size vermiş olduğumuz secret key ile sağlanmaktadır.

Url v1/mailorder/create
Request {
"amount":120,
"expire_date":12,
"name_surname":"Onur Özdemir",
"email":"onur.ozdemir@arena.com.tr",
"phone":"5358407813",
"send_mail":true,
"send_sms":true
}
Response {
"url":" https://pts.paynet.com.tr/S/M?id=22c1ec4b-3c97-41bf-8e07-d352d403b1c0 ",
"object_name":"mailorder",
"code":0,
"message":"Başarılı Islem"
}
Request Parameters
Parametre Adı Koşul Tip Özet bilgi
pos_type Opsiyonel integer Paynet’in pos’ları mı yoksa Firma’nın kendi pos’ları mı kullanılacak onu belirle. Default olarak Paynet pos’ları çalışır.
addcomission_to_amount Opsiyonel boolean Komisyon tutarının kredi kartından çekilecek tutara eklenip eklenmeyeceğini belirler. Default false.
agent_id Opsiyonel string Ödeme firmanın bir bayisinin carisine aktarılacak ise bu alanda bayinin bayi kodu gönderilir. Bayi tanımının Paynet sisteminde tanımlı olması gerekir.
name_surname Zorunlu string Ödeme alınacak kişinin adı soyaadı
user_name Opsiyonel string Ödeme emri oluşturan kullanıcı bilgisi, zorunlu değildir.
amount Zorunlu decimal Ödeme tutarı
email Opsiyonel string Ödeme emrinin gönderileceği email adresi, send_mail parametresi true ise zorunlu
send_mail Opsiyonel boolean Ödeme emrinin mail ile gönderilip gönderilmeyeceğini belirler. True ile email parametresi zorunlu. Default false
phone Opsiyonel* string Ödeme emrinin SMS ile bilgilendirilmesi için SMS’in gönderileceği telefon numarası
send_sms Opsiyonel boolean Ödeme emrinin SMS ile gönderilip gönderilmeyeceğini belirler. True ise phone parametresi zorunlu. Default false.
expire_date Opsiyonel double Ödeme URL’inin geçerlilik süresini belirlemek için kullanılır. Saat olarak gönderilir. 72 saat geçerlilik süresi için 72 olarak gönderilir.
note Opsiyonel string Ödeme sayfasında ödeme yapacak kişiye gösterilecek açıklama.
agent_note Opsiyonel string Ödeme işlemi yapıldığında raporlarda görünecek açıklama bilgisi.
reference_no Opsiyonel string Ödeme işleminin ilişkilendirileceği referans numarası, Fatura no, sipariş no gibi.
instalment_key Opsiyonel string İlgili oranın ID'si. Ödeme emri yollayan kişinin işlemi hangi banka ve taksit ile gerçekleşmesini isterse bu ID gönderilerek olur.
succeed_url Opsiyonel string İşlem başarılı ise bu parametrede gönderilen url’in sonuna işlem numarası(xact_id) parametresini ekleyerek yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme sonuç sayfası gösterilir.
error_url Opsiyonel string İşlem başarısız ise bu parametrede gönderilen url’in sonuna işlem numarası(xact_id) parametresini ekleyerek yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme başarısız sayfası gösterilir.
confirmation_url Opsiyonel string Eğer işlem başarılı ise burada belirtilen url’e aşağıda confirmation_url adresine post edilen parametreler’de belirtiğimiz parametreler json formatında post edilir.
send_confirmation_email Opsiyonel boolean Default true, Ana firmanın Paynet’te tanımlı mail adresine ödeme başarılı ise mail gönderir.
multi_payment Opsiyonel boolean Default true. Ödemeyi birden fazla kart ile yapmasına olanak tanıyor.
Response Parameters
Parametre Adı Tip Özet bilgi
url string Ödeme işleminin yapılacağı url linki. Bu link ile son kullancı kredi kart bilgilerini girerek ödeme işlemini gerçekleştirir.
object_name string Döneş yapılan API’nin nesne adı
code string Dönüş sonucunun kodu
message string Dönüş sonuç kodunun açıklaması

Get Methodu

Get methodu üzerinden ödeme emri oluşturmak için authentication, size vermiş olduğumuz public key üzerinden sağlanmaktadır. POST methodunda kullanılan tüm parametreler bu servisde de kullanılabilmektedir.

                Örnek Get Requesti
https://pts-api.paynet.com.tr/v1/mailorder/create?public_key=pbk_pcs_Z3ABiIZq0kjTgfP37MGVQof32muAg+Dy&name_surname=onur%20ozdemiri&amount=15&email=ornek_mail@arena.com.tr&expire_date=48
Request Parameters
Parametre Adı Koşul Tip Özet bilgi
public_key Zorunlu string Sisteme authentication olmayı sağlar.
pos_type Opsiyonel integer Paynet’in pos’ları mı yoksa Firma’nın kendi pos’ları mı kullanılacak onu belirle. Default olarak Paynet pos’ları çalışır.
addcomission_to_amount Opsiyonel boolean Komisyon tutarının kredi kartından çekilecek tutara eklenip eklenmeyeceğini belirler. Default true.
agent_id Opsiyonel string Ödeme firmanın bir bayisinin carisine aktarılacak ise bu alanda bayinin bayi kodu gönderilir. Bayi tanımının Paynet sisteminde tanımlı olması gerekir.
name_surname Zorunlu string Ödeme alınacak kişinin adı soyadı
user_name Opsiyonel string Ödeme emri oluşturan kullanıcı bilgisi, zorunlu değildir.
amount Zorunlu decimal Ödeme tutarı
expire_date Opsiyonel double Ödeme URL’inin geçerlilik süresini belirlemek için kullanılır. Saat olarak gönderilir. 72 saat geçerlilik süresi için 72 olarak gönderilir.
note Opsiyonel string Ödeme sayfasında ödeme yapacak kişiye gösterilecek açıklama.
agent_note Opsiyonel string Ödeme işlemi yapıldığında raporlarda görünecek açıklama bilgisi.
reference_no Opsiyonel string Ödeme işleminin ilişkilendirileceği referans numarası, Fatura no, sipariş no gibi.
succeed_url Opsiyonel string İşlem başarılı ise bu parametrede gönderilen url’e yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme sonuç sayfası gösterilir.
error_url Opsiyonel string İşlem başarısız ise bu parametrede gönderilen url’e yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme başarısız sayfası gösterilir.
confirmation_url Opsiyonel string Eğer işlem başarılı ise burada belirtilen url’e aşağıda confirmation_url adresine post edilen parametreler’de belirtiğimiz parametreler json formatında post edilir.
send_confirmation_email Opsiyonel boolean Default true, Ana firmanın Paynet’te tanımlı mail adresine ödeme başarılı ise mail gönderir.
multi_payment Opsiyonel boolean Default true. Ödemeyi birden fazla kart ile yapmasına olanak tanıyor.

Confirmation Url Adresine Post Edilen Parametreler

Ödeme emri son kullanıcı tarafından başarılı şekilde yapıldığında ödeme bilgisi v1/mailorder/create servisinde belirtilen confirmation_url parametresinde belirtilen adrese JSON formatında post edilir. Eğer bu parametre boş değere sahip ise post işlemi gerçekleşmez.

Request Parameters
Parametre Adı Tip Özet bilgi
referance_no string Ödeme işleminin ilişkilendirildiği referans numarası (Fatura no, sipariş no gibi)
xact_date DateTime Ödeme işleminin yapıldığı zaman
agent_id string Eğer ödeme bayinin carisine aktarılacak ise o bayinin kodunu belirtir
bank_id String Ödemenin yapıldığı banka numarası
instalment İnt Ödemenin yapıldığı taksit sayısı
card_type string Ödemenin yapıldığı kart tipi
card_holder string Ödemenin yapıldığı kart sahibi ad ve soyad bilgisi
card_number string Ödemenin yapıldığı kart numarasının ilk 6 ve son 4 numarası
amount decimal Yapılan ödemenin brüt tutarı
netAmount decimal Yapılan ödemenin net tutarı
comission decimal Yapılan ödemenin komisyon tutarı
comission_tax decimal Yapılan ödeme tutarından kesilen komisyonun vergisi
currency string Ödemenin yapıldığı kur
authorization_code string Bankadan dönen onay kodu
order_id string Bankadan dönen satış kodu
is_succeed bool Ödemenin başarılı bir şekilde alınıp alınmadığını belirtir

Emir Listesi (v1/mailorder/list)

Paynet ’ten ödeme emri(ortak ödeme) üzerinden yapılan işlemlerin listesini almak için kullanılır.

Url v1/mailorder/list
Request

{
"agent_id":"20008",
"datab":"2015-04-04",
"datbi":"2016-05-05",
"ending_before":0,
"starting_after":0
}

Response
   {  
   "total":306,
   "total_count":10,
   "total_amount":2.441,00",
   "limit":10,
   "ending_before":0,
   "starting_after":0,
   "has_more":true,
   "Data":[  
      {  
         "company_code":"10031",
         "agent_id":"20008",
         "xact_id":"işlem no",
         "referenceNo":"",
         "email":"hakan.kocaturk@arena.com.tr",
         "user_name":"",
         "amount":200.0000,
         "currency":"TL",
         "installment":3,
         "phone":"",
         "bank_id":"AXSS",
         "expire_date":"2015-06-17T01:52:00",
         "create_date":"2015-06-16T13:53:18.933",
         "note":null,
         "agent_note":"",
         "succeed_url":"",
         "error_url":null,
         "confirmation_url":"",
         "bank_name":"Axess",
         "status":2,
         "sendConfirmation_mail":false,
         "send_sms":false,
         "send_mail":false,
         "multi_payment":false
      },
        ...
   ],
   "object_name":"mailorderlist",
   "code":0,
   "message":"Başarılı İşlem"
}
                            
Request Parameters
Parametre AdıTipÖzet bilgi
agent_id String(max 10) [Opsiyonel] Paynet bayi koduna göre filtreleme yapmak için.
datab Date [Zorunlu] Başlangıç Tarihi
datbi Date [Zorunlu] Bitiş Tarihi
limit int [Opsiyonel] Döndürülecek veri sayısı. Default 10 kayıt döner.
ending_before int [Opsiyonel] İnteger değer. Belirtilen index’den önceki limit sayısı kadar kayıt getirir. Eğer ending_before 90 gönderildi, limit olarak 15 gönderildi. 75. İle 90. Kayıtları arasındaki kayıtları gönderir.
starting_after int İnteger değer. Belirtilen index’den önceki limit sayısı kadar kayıt getirir. Eğer ending_before 90 gönderildi, limit olarak 15 gönderildi. 75. İle 90. Kayıtları arasındaki kayıtları gönderir. [Opsiyonel] İnteger değer. Belirtilen index’den sonraki limit sayısı kadar kayıt getirir. Eğer starting after 15 gönderildi, limit olarak 15 gönderildi. 15. İle 30. Kayıtları arasındaki kayıtları gönderir
Response Parameters
Parametre Adı Tip Özet bilgi
company_code String(max 10) Ana firma kodu
agent_id String(max 10) bayi kodu
expire_date double Ödeme URL’inin geçerlilik süresini belirlemek için kullanılır.
total int Toplam satır sayısı
xact_id String(max 100) Paynet işlem numarası
bank_id Char(4) Banka kodu
bank_name String(max 100) Banka adı
reference_no String(max 50) Banka referans kodu
installment int Taksit sayısı
amount Decimal Kredi kartından çekilen tutar
currency Char(3) Parabirimi
phone string Ödeme emrinin SMS ile bilgilendirilmesi için SMS’in gönderileceği telefon numarası
send_sms boolean Ödeme emrinin SMS ile gönderilip gönderilmeyeceğini belirler. True ise phone parametresi zorunlu. Default false.
note string Ödeme sayfasında ödeme yapacak kişiye gösterilen açıklama.
agent_note string Ödeme işlemi yapıldığında raporlarda görünen açıklama bilgisi.
succeed_url string İşlem başarılı ise bu parametrede gönderilen url’in sonuna işlem numarası(xact_id) parametresini ekleyerek yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme sonuç sayfası gösterilir.
error_url string İşlem başarısız ise bu parametrede gönderilen url’in sonuna işlem numarası(xact_id) parametresini ekleyerek yönlendirme yapılır. Boş olarak gönderilirse Paynet’in default ödeme başarısız sayfası gösterilir.
confirmation_url string Eğer işlem başarılı ise burada belirtilen url’e aşağıda confirmation_url adresine post edilen parametreler’de belirtiğimiz parametreler json formatında post edilir.
status Char(1) 1:ODEME_BEKLENIYOR 2:ODEME_ALINDI 3:SURE_ASIMI
send_confirmation_mail boolean Ana firmanın Paynet’te tanımlı mail adresine ödeme başarılı ise mail gönderir.
send_mail boolean Ödeme emrinin mail ile gönderilip gönderilmeyeceğini belirler. True ile email parametresi zorunlu.
multi_payment Decimal Ödemeyi birden fazla kart ile yapmasına olanak tanıyor.
total_count int Toplam gösterilen satır sayısı
total_amount int Toplam işlem tutar
limit int Gönderilen limit bilgisi
ending_before İnt Gönderilen ending_before bilgisi
starting_after İnt Gönderilen starting_after bilgisi
object_name String transaction_list
has_more bool True ise Belirtilen kriterlerde gönderilen satırlardan daha olduğu anlamına gelir.




Örnekler

Gömülü Sistem Örneği

İlk olarak Paynet.js’i formunuza gömme işlemi. Burada script’in alacağı değerleri yollayarak gerekli ödeme işlemini yapacak script oluşturur ve uygun html form arasına koymanız gerekir. örneğin "data-button_label"’da belirtilen metin ile “Ödeme yap” butonu çıkar. Müşterileriniz bu butona basarak kredi kartı bilgilerini girip ödeme işlemini yapabilirler.

MVC Controller(örnek script doldurma methodu)

[HttpPost]
public ActionResult EmbeddedFormIndex (DemoParameter parameter)
{
 ViewBag.data_key= parameter.data_key;
 ViewBag.data_amount =parameter.data_amount;
 ViewBag.data_description=parameter.data_description;
 ViewBag.data_image=parameter.data_image;
 ViewBag.data_agent = parameter.data_agent ?? "";
 ViewBag.data_button_label = parameter.data_button_label;
 ViewBag.data_no_instalment = parameter.data_no_instalment;
 ViewBag.data_add_commission_amount = parameter.data_add_commission_amount;
 ViewBag.data_pos_type = parameter.data_pos_type;
                
 return View("EmbeddedForm");
 

Yukarıdaki methodun aldığı değerler ile aşağıdaki tabloda yer alan script üretilir ve ödeme yapılacak sayfada gerekli yere “html form” tag’inin içine koyulur.

Script

                

@using (Html.BeginForm("SaveOrder", "Demo", System.Web.Mvc.FormMethod.Post, new { id = "payment-form", @class = "smart-form", role = "form", style = "min-width: 300px; max-width: 1500px" }))
{
                @Html.AntiForgeryToken()
        <script type="text/javascript"class ="paynet-button"
                src="https://pts-pj.paynet.com.tr/public/js/paynet.min.js"
                data-key="@(new HtmlString(ViewBag.data_key))"
                data-amount="@(new HtmlString(ViewBag.data_amount))"
                data-description="@(new HtmlString(ViewBag.data_description))"
                data-image="@(new HtmlString(ViewBag.data_image))"
                data-agent="@(new HtmlString(ViewBag.data_agent))"
                data-add_commission_amount="@(new HtmlString(ViewBag.data_add_commission_amount))"
                data-no_instalment="@(new HtmlString(ViewBag.data_no_instalment))"
                data-button_label="@(new HtmlString(ViewBag.data_button_label))"
                data-name="@(new HtmlString(ViewBag.data_name))"
                data-tds_required="@(new HtmlString(ViewBag.data_tds_required))"
                data-pos_type="@(new HtmlString(ViewBag.data_pos_type))">
        </script>
        <input type=”hidden” name=”ref_val” value=”12345” />
}
  
                                                                            

Ödeme işlemi sonlandığında Paynet.js ile başlatılan script'i eklediğimiz form' a session_id, ve token_id değerlerini koyar. Bu değerler ile kredi kartı ödeme işlemini sonlandırmayı charge işlemi ile yaparız. Aşağıdaki örnek .Net kodunda form ekranına post edilen değerler charge servisine async post edilerek ödeme işlem tamamlanmış olur.

MVC Controller(örnek script doldurma methodu)

[HttpPost]
 public ActionResult ChargeTransaction (string session_id, string token_id, string ref_val)
 {
         ChargeParameters param = new ChargeParameters();
        
         param.session_id = session_id;
         param.token_id = token_id;
         param.reference_no = ref_val;
         param.transaction_type = TransactionType.Sales;
        
         PaynetClient.PaynetClient.apiKey = "sck_pcs_NMwN0RK90kgWeE/iSyRaTqx0tLCVFd3y";
         var Response = PaynetClient.PaynetClient.ChargeTransaction(param);
         IDictionary requestForm = new Dictionary();
         foreach (string key in Request.Form.AllKeys)
         {
                 String value = Request.Form[key];
                 requestForm.Add(key, value);
         }
         ViewBag.Response = Response;
         ViewBag.RequestForm = requestForm;
        
             return View("Result");
 }

Paynet.js içerisinde 2 adet servis mevcuttur. Bunlar ise;

  • Paynet.onPaymentClick :

    Ödemeyi tamamla(paynetj-button) click eventine kontrol koyabilmenizi sağlayan servis.

         Paynet.onPaymentClick(function () {  
              if (koşul) { 
                return true; //Gömülü form ödeme ekranı açılır.
              }else {
                alert("Uyarı.");  
                return false;    //Gömülü form ödeme ekranı açılmaz.
             }  
        });
     
  • Paynet.updateAmount : paynet.js içerisinde updateAmount servisi mevcuttur. Bu servis gömülü formda script oluşturulduktan sonra da tutar bilgisini ile oran kodunu güncelleme veya bu aşamada vermenize olanak tanır.

    Örnek olarak oran kodu ile birlikte tutarı değiştirmek isterseniz Paynet.updateAmount('110,45','oran kodunuz'); şeklinde, sadece tutarı değiştirmek istediğinizde ise Paynet.updateAmount('110,45'); şeklinde servisi kullanabiliriz.

         Paynet.onPaymentClick(function () {  
                 if (koşul) {  
                     Paynet.updateAmount('110,45');
                }  else{  
                   alert("Uyarı.");  
                     return false;   
               } });
     

Custom Form Örneği

Kullanıcı esnekli sistemde formun dizaynını geliştiricinin isteğine bırakıyoruz.Yani ödeme formunda yer alan inputları geliştirici dilediği şekilde yapabilme imkanı sunulmaktadır. Formu, geliştirici kendi dizayn edebilmesi için, ilk olarak ödeme ile ilgili gerekli temel elementleri oluşturacak SCRİPT’i oluşturmalıdır. Buradaki değerler ödeme ile ilgili temel inputları içermektedir.

MVC Controller(örnek script doldurma methodu)

[HttpPost]
public ActionResult CustomFormIndex(DemoParameter parameter)
{
        ViewBag.data_key =ConfigReader.Read("PaynetIV.Client.PublicKey");
        ViewBag.data_amount = parameter.data_amount;
        ViewBag.data_description = parameter.data_description;
        ViewBag.data_image = parameter.data_image;
        ViewBag.data_agent = parameter.data_agent ?? ""; ViewBag.data_button_label = parameter.data_button_label;
        ViewBag.data_no_instalment = parameter.data_no_instalment;
        ViewBag.data_add_commission_amount=parameter.data_add_commission_amount;
        ViewBag.data_pos_type = parameter.data_pos_type;
        ViewBag.data_tds_required = parameter.data_tds_required; 
         return View("CustomForm");
 }
 

Script

Yukarıdaki methodun aldığı değerler ile aşağıdaki tabloda yer alan script üretilir ve ödeme yapılacak sayfada gerekli yere koyulur.


 <script type="text/javascript"
                 class="paynet-button"
                 src="https://pts-api.paynet.com.tr/v1/js/paynet-custom.js"
                 data-form="#checkout-form"
                 data-key="@(new HtmlString(ViewBag.data_key))"
                 data-amount="@(new HtmlString(ViewBag.data_amount))"
                 data-description="@(new HtmlString(ViewBag.data_description))"
                 data-agent="@(new HtmlString(ViewBag.data_agent))"
                 data-add_commission_amount="@(new HtmlString(ViewBag.data_add_commission_amount))"
                 data-no_instalment="@(new HtmlString(ViewBag.data_no_instalment))"
                 data-tds_required="@(new HtmlString(ViewBag.data_tds_required))"
                  data-pos_type="@(new HtmlString(ViewBag.data_pos_type))">
</script>
 

HTML Sayfası


<form action="charge işlemi adresi" method="post" name="checkout-form" id="checkout-form">
<div >
<input type="text" name="cardHolderName" id="cardHolderName" data-paynet="holderName" placeholder="Kart Üzerindeki İsim" value="" />
</div>
<div >
<input type="text" name="cardNumber" maxlength="16" id="cardNumber" data-paynet="number" placeholder="Cart No" value="" />
</div>
<div >
<div >
<select name="expMonth" id="expMonth" data-paynet="exp-month" >
                <option value="">...</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
                <option value="11">11</option>
                <option value="12">12</option>
</select>
</div>
</div>
<div >
<div >
<select name="expYear" id="expYear" data-paynet="exp-year" >
                <option value="">...</option>
                <option value="2015">2015</option>
                <option value="2016">2016</option>
                <option value="2017">2017</option>
                <option value="2018">2018</option>
                <option value="2019">2019</option>
</select>
</div>
</div>
<div >
<div >
<input type="password" maxlength="4" name="cvv" id="cvv" data-paynet="cvv" placeholder="CVV" value="" />
</div>
</div>
<div id="isTds" >
<label>
<input type="checkbox" name="tds" id="tds" data-paynet="do3D" checked="checked" />3D Ödeme
</label>
</div>
<div >
</div>
<input type="hidden" name="installmentKey" id="installmentKey" data-paynet="installmentKey" value="" />
<button type="submit" data-paynet="submit">Öde</button>
</form>
    

Yukarıdaki HTML sayfasını charge işlemini yapacak form tag’i altında data-paynet elementlerini eksiksiz şekilde formatlayıp, istediğiniz dizayn formatında düzenleyebilirsiniz. data-paynet elementleri ödeme işlemi ile ilgili gerekli giriş(input) verlerinin alınması için gereklidir. Bu elementlerin değerlerini form tag’i içinde set etmelisiniz.

data-paynet elementleri ise;

  • number : Kredi kartı numarası bilgisi
  • installmentKey : Seçilen taksitin ID’si
  • holderName : Kart sahibinin adı
  • exp-month : Kredi kartı son kullanma tarihinin ay bilgisi
  • exp-year : Kredi kartı son kullanma tarihinin yıl bilgisi
  • cvv : Kredi kartı CVC bilgisi
  • desc : Ödeme ile ilgili açıklama bilgisi
  • phone : Ödeme yapan kişinin telefon bilgisi
  • email : Ödeme yapan kişinin e-posta bilgisi
  • do3D : Ödemenin 3D’li olup olmadığı bilgisi

olmak üzere 10 giriş(input) bilgisini tutan elementler vardır.

paynet-custom.js içerisinden bulunan ve ödeme sayfasının form’u içerisinde callback alabileceğiniz eventler ise;

  • Paynet.events.onCheckBin : Kredi kartı numarası giriş esnasında checkbin servisinden callback alabileceğimiz eventtir. Örnek olarak kart nuamrası inputu herhangi bir bin numarası ile eşleşmediği takdirde hata mesajı yazdırabilmemiz için kullanabiliriz.

    Kullanımı

     Paynet.events.onCheckBin(function (d) {
                        
     if (d && d.ok) {
    bankID = d.bank.id;
     clearError();
     if (d.bank.id != $('#bank_id').val())
     {
         showError("", "Uyumsuz kart numarası");
                        
     }
     else
     {
     if (d.tdsState == 'required') {
             $('#tds').attr('checked', 'checked');
             $('#tds').attr('disabled', 'disabled');
                         $('#isTds').hide();
             } else if (d.tdsState == 'optional') {
             $('#tds').attr('checked', 'checked');
             $('#tds').removeAttr('disabled', 'disabled');
                         $('#isTds').show();
             }<
                        }
                      
     } else
          {
             clearError();
             $('#isTds').hide();
          } 
     });
    
    Response Parameters
    Parametre Adı Tip Özet bilgi
    bank_id Char(4) Bankanın Paynet sistemindeki kodu
    bank_logo String(max 60) Banka logo
    bank_name String(max 100) Banka adı
    tds_enable Bool 3D'li işleme izni
    instalment_key Datetime İşlemin tarihi
    instalment int Taksit sayısı
    instalment_amount decimal Kredi kartından çekilecek taksit tutarı
    desc String(max 50) Taksit açıklaması
    bank_id Char(4) Bankanın Paynet sistemindeki kodu
    bank_logo String(max 60) Banka logo
    bank_name String(max 100) Banka adı
    ratio float Ödeme sırasında kullanılan oran.
    total_amount decimal Kredi kartından çekilen toplam tutar
    total_net_amount decimal Komisyon hariç tutar
    comission decimal Komisyon tutarı
    comission_tax decimal Komisyon vergisi
  • Paynet.events.validationError :Form’da giriş değerlerinde yanlışlık olduğunda callback alabileceğimiz event’tir.
  • Paynet.events.onPaymentClick : Öde butonuna tıklandığında tetiklenen eventtir.

    Örneğin öde butonuna tıklandığında form submit edilmeden sayfadaki hata mesajlarının silinmesini çağıran methodun kullanılması.

    Kullanımı

                   Paynet.events.onPaymentClick(function () {
                         clearError();
                         });
    
  • Paynet.events.onAuthentication:Paynet api servislerine authenticate methodunun callback’ini alabileceğimiz eventtir. Örneğin api servislerine yollanan private key’in eşleşmemesi durumunda auth servisinden gelen hata mesajının ekranda gösterilmesi.

    Kullanımı

                Paynet.events.onAuthentication(function (c) {
                      if (!c.ok) {
                         showError(c.code, c.message);
                       }
                      }); 
                
    Response Parameters
    Parametre Adı Özet bilgi
    type Dönüş tipi
    message Hata mesajı
    code Http Status kodu bknz. http status code
    result_code Bknz dönüş kodları
  • Paynet.events.onTdsRedirect :3D’li işlemlerde banka sistemine yönlendirilirken callback alabileceğimiz eventtir. Örneğin 3D’li bir işlemde banka sistemine yönlendirilmesinin console ekranına “3D doğrulama için yönlendiriliyorsunuz” şeklinde log atılması.

    Kullanımı

                     Paynet.events.onTdsRedirect(function () {
                         console.log('3D doğrulama için yönlendiriliyorsunuz');
                         });                 
                        
  • Paynet.events.onCreateToken : CreateToken servisinin callback’ini alabileceğimiz eventtir. Örneğin ile girilen kart bilgisi ve seçilen ödeme koşulu api’ye gönderilirilen verilerin sonucunun başarısız olması durumunda form ekranında hata mesajı gösterilmesi.

    Kullanımı

                    Paynet.events.onCreateToken(function (c) {
                         if (!c.ok) {
                         showError(c.code, c.message);
                         } });                
    
    Response Parameters
    Parametre Adı Özet bilgi
    token_id Sistem tarafından işlem için verilen id numarası
    post_url 3D'li işlemlerde post edilecek url adresi
    is_tds İşlemin 3D'li olup olmadığını belirtir
    type Dönüş tipi
    message Hata mesajı
    code Http Status kodu bknz. http status code
    result_code Bknz dönüş kodları
  • Paynet.events.onLoad : Paynet-custom.js kütüphanesi sayfaya yüklendiği an callback’ini alabileceğimiz eventtir.

    Kullanımı

                           Paynet.events.onLoad(function () {
                             console.log('paynet library loaded');
                             });
                            

Olarak tanımlanır.

Paynet-custom.js içerisinde 3 adet servis mevcuttur. Bunlar ise;

  • Paynet.services.checkBin : Paynet-custom.js içerisinde checkBin servisi mevcuttur. checkBin servisi ile kart numarası inputlarını custom kullananlar için bu servisi kullanabilirler. Örneğin kart girişi için 4'erli numara girişi olan 4 input var ama arkada tek inputda tutuluyor. Bundan dolayı müşteri
    kendisi bir event kullanırsa yazacağı koda göre checkBin servisini çağırıp onCheckBin event'ından callback alabilir.

    Örnek olarak Paynet.services.checkBin('4444440000000001'); şeklinde servisi kullanabiliriz.

    Response parametreleri için tıklayınız
  • Paynet.services.installments :

    Bu servis ile oran tablosunu client tarafta oluşturmanızı sağlayan servistir. Servisi javascript kütüphaneleri ile çağırabilir, gelen response'u da kendi dizaynınıza uygun şekilde oluşturabilirsiniz.

    Paynet.services.installments(function (d) {/>
     // oranları set edeceğiniz block
     });
    
    Response parametreleri için tıklayınız
  • Paynet.services.updateAmount :

    Bu servis ile tutar bilgisini create token oluşturulduktan sonra oluşturduğunuz custom ödeme sayfasında da güncelleme imkanını veren servistir.

                            

    Paynet.services.updateAmount($("#amount").val(),
    function (d) {
    if (d && d.ok) { alert("Tutar Güncellendi.") }
    })

  • Paynet.services.updateRatioCode :

    Bu servis ile tutar bilgisini create token oluşturulduktan sonra oluşturduğunuz custom ödeme sayfasında da güncelleme ile tanımlı oranınızı oran koduna göre getirme imkanını veren servistir.

                            

    Paynet.services.updateRatioCode($("#amount").val(),$("#ratioCode").val(),
    function (d) {
    if (d && d.ok) { alert("Tutar Güncellendi.") }
    })

    Response Parameters
    Parametre AdıÖzet bilgi
    session_idPaynet-custom.js’in formunuza attach ettiği parametre.
    nameİşlemi başlatan bayinin adı
    tds_required3D'li işlem durum bilgisi
    expire_dateSession'ın bitiş zamanı
    typeDönüş tipi
    messageHata mesajı
    codeHttp Status kodu bknz. http status code
    result_codeBknz dönüş kodları

“Ödeme” işlemi yapıldığında bir sonraki adım olan charge işlemi gerçekleştirilir.

MVC Controller

[HttpPost]   
 public ActionResult ChargeTransaction (string session_id, string token_id, string ref_val)
 {
         ChargeParameters param = new ChargeParameters();
         
         param.session_id = session_id;
         param.token_id = token_id;
         param.reference_no = ref_val;
         param.transaction_type = TransactionType.Sales;
        
         PaynetClient.PaynetClient.apiKey = "sck_pcs_NMwN0RK90kgWeE/iSyRaTqx0tLCVFd3y";
         var Response = PaynetClient.PaynetClient.ChargeTransaction(param);
         IDictionary requestForm = new Dictionary();
         foreach (string key in Request.Form.AllKeys)
         {
             String value = Request.Form[key];
             requestForm.Add(key, value);
         }
         ViewBag.Response = Response;
         ViewBag.RequestForm = requestForm;
        
         return View("Result");
 }
     

Charge İşlemi Örneği

Paynet script’i ile başlatılan işlemin kredi kartından ilgili tutarın çekiminin yapılması için charge servisine form’a post edilen session_id ve token_id ile post edilir. Ve ödeme işlemi gerçeklemiş olur. Örnekteki charge servisine post işlemi async olarak yazılmıştır.

MVC Controller(charge servisine post işlemi)

 private static async TaskChargePostAsync(ChargeParameters param)
 {
 ChargeResponse data = new ChargeResponse();
 Result res = new Result();
 try
 {
//REST servisine post işlemi yapar
 using (var client = new HttpClient())
 {
 client.BaseAddress = new Uri(GenelHelper.GetBaseUrl());
 client.DefaultRequestHeaders.Accept.Clear();
 client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
 client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "sck_pcs_size verilecek KEY");

var response = client.PostAsJsonAsync("v1/transaction/charge", param); if (response.Result.IsSuccessStatusCode) { data = await response.Result.Content.ReadAsAsync(); } return data; } } catch (Exception ex) { Expando type = new Expando(); type["ChargePostAsync"] = "ChargePostAsync Error"; //ERROR LOG } return data; } public static ChargeResponse CheckTransaction(ChargeParameters param) { var task = ChargePostAsync(param); task.Wait(); return task.Result; }

Response Parametreleri(charge servisinde kullanılan response parametresi)

public class ChargeResponse : Result
 {
 public string xact_id { get; set; }
 public DateTime xact_date { get; set; }
 public TransactionType transaction_type { get; set; }
 public int pos_type { get; set; }
 public bool is_tds { get; set; }
 public string agent_id { get; set; }
 public string user_id { get; set; }
 public string email { get; set; }
 public string phone { get; set; }
 public string bank_id { get; set; }
 public int instalment { get; set; }
                
 public string card_no_masked { get; set; }
 public string card_holder { get; set; }
                
 public decimal amount { get; set; }
 public decimal net_amount { get; set; }
 public decimal comission { get; set; }
 public decimal comission_tax { get; set; }
                
 public string currency { get; set; }
 public string authorization_code { get; set; }
 public string reference_code { get; set; }
 public string order_id { get; set; }
                
 public bool is_succeed { get; set; }
 public string paynet_error_id { get; set; }
 public string paynet_error_message { get; set; }
 public string bank_error_id { get; set; }
 public string bank_error_message { get; set; }
 public string bank_error_short_desc { get; set; }
 public string bank_error_long_desc { get; set; }
                
 } 
 public class Result
 {
 public string object_name { get; set; }
 public ResultCode code { get; set; }
 public string message { get; set; }
 }
           




Test Kartları

Bu test kartlarını sitemizdeki demolarda ve Paynet API'yi sayfalarınıza entegre ederken kullanabilirsiniz.

Kredi Kartı Türü Kart No Vade CVV 3D Şifresi
Axess Visa 4355084355084358 12/18 000 a
MasterCard 5571135571135575 12/18 000 a
CardFinans Visa 5456165456165454 12/18 000 a
MasterCard 4022774022774026 12/18 000 a
WorldCard Visa 4506347011448053 02/20 000 3D Kapalı
MasterCard 5400637003737150 02/20 000 3D Kapalı
Maximum Visa 4508034508034509 12/18 000 a
MasterCard 5406675406675403 12/18 000 a
Bonus Visa 4282209004348015 09/18 123 3D Kapalı
Bonus Amex 375622005485014 10/20 123 3D Kapalı
DenizBank Visa 4090700102323514 11/21 834 123
Paraf Visa 4531444531442283 12/20 001 a
MasterCard 5818775818772285 12/18 001 a



Örnek Projeler

.Net projesini indir
Örnek C# projesi: İNDİR



PHP projesini indir
Örnek PHP projesi: İNDİR