Paynet API
Search…
Özelleştirilebilir Form
Paynet ile ödeme almanın diğer bir kolay yolu Paynet-custom.js’i ödeme formunuza gömmektir. Paynet-custom.js ö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 mevcut tasarımı size ait olan HTML formunuza yerleştirirsiniz.
    HTML Form elementlere data-paynet attribute'u ile hangi alan olduğunu işaretlersiniz. Örneğin Kredi kartı numarasını alacağınız html 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 sunucunuzda gönderilen “token_id” ve “session_id” bilgilerini alarak “Ödeme Onaylama” servisi ile kredi kartından çekim işlemini tamamlayabilirsiniz.
Özelleştirilebilir Form methodu ile script'i sayfanıza eklemek için Publishable key, ödeme işlemini sunucu tarafında onaylamak için de secret key'e ihtiyacınız vardır. Bakınız

1.Adım: Paynet-custom.js’i formunuza ekleme

Paynet-custom.js’i aşağıdaki şekilde sayfanıza ekleyebilirsiniz. Eklenen bu script ile sayfanızı isteğiniz doğrultuda dizayn edebilirsiniz.
1
<script type="text/javascript"
2
class="paynet-button"
3
src="https://pts-pj.paynet.com.tr/public/js/paynet-custom.js"
4
data-form="#checkout-form"
5
data-key="[Publishable key]"
6
data-amount="200"
7
data-description="Ödeme açıklaması">
8
</script>
9
10
<form action="[post adresi]" method="post" name="checkout-form" id="checkout-form">
11
<input type="text" name="cardHolderName" data-paynet="holderName" placeholder="Kart Üzerindeki İsim" />
12
<input type="text" name="cardNumber" data-paynet="number" placeholder="Kart No" />
13
<select name="expMonth" id="expMonth" data-paynet="exp-month" >
14
<option value="1">1</option>
15
...
16
<option value="11">11</option>
17
<option value="12">12</option>
18
</select>
19
<select name="expYear" id="expYear" data-paynet="exp-year" >
20
<option value="">...</option>
21
<option value="2018">2018</option>
22
<option value="2019">2019</option>
23
</select>
24
25
<input type="password" name="cvv" data-paynet="cvv" />
26
27
<button type="submit" data-paynet="submit">Öde</button>
28
</form>
Copied!

Paynet-custom.js Parametreleri

Data attribute
Zorunlu
Açıklama
data-form
Evet
Kart bilgilerinin alıncağı formun id'si. css selector "#formid" şeklinde verilmeli
data-key
Evet
Publishable key'iniz.
data-amount
Evet
Kredi kartından çekilecek tutar. Ödeme tutarı ne ise onu göndermelisiniz. Örneğin: “100,55 TL” => “100,55” gibi gönderilmelidir.
data-name
Hayır
Ödeme sırasında görünecek başlık.
data-description
Hayır
Ö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
Hayır
Eğer alt bayileriniz var ise işlemin hangi bayi üzerinden geldiğini bu alana bayi kodu göndererek yapabilirsiniz.
data-add_commission_amount
Hayır
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
Hayır
true/false, default: false. True olduğunda Taksitli çekime izin vermez, tek çekim yapılır.
data-ratio_code
Hayır
Paynet.com.tr yönetim ekranlarında “API oran tanımları” sayfasından tanımlayabileceğiniz oran tablolarının “oran kodunu” bu alanda gönderebilirsiniz. Gönderdiğiniz oran koduna ait oran tablosu üzerinden komisyon hesaplaması yapılır. Bu sayede API üzerinden istediğiniz oranlar ile işlem yapabilirsiniz.
data-reference_no
Hayır
Ödeme işleminin ilişkili olduğu referans numarası.
data-show_tds_error
Hayır
Bankanın 3D sayfasında hata alması durumunda bunu direkt müşterinize göstermek isterseniz "true", onaylama adımında göstermek isterseniz "false".
data-invoice_no
Hayır
Düzenli ödeme fatura numarası.
data-save_card
Hayır
Ödeme işlemi ile birlikte kredi kart numarasının da saklanması istiyorsanız bu parametreyi true yollayabilirsiniz. Kart saklama işlemi yapıyorsanız card_desc zorunlu, save_cardoid ya da save_carduid değerlerinden en az birini göndermeniz zorunlu.
data-use_saved_card
Hayır
Ödeme işlemi sırasında data-use_saved_card parametresinin “true” ayarlandığı durumda card_hash parametresinin doğruluğu kontrol edilir.
data-save_cardoid
Hayır
İlk defa kart saklama yapıldıktan sonra, Paynet tarafından user_unique_id’ye göre oluşturulan kart sahibinin benzersiz bilgisi. Bir sonraki kart saklama ve karttan ödeme alma işlemlerinde bu değer kullanılır.
data-save_carduid
Hayır
Üye iş yeri tarafından verilen kullanıcıya özgü benzersiz id. İlk defa kart saklama yapılıyorsa zorunlu. İlk kart saklama tamamlandıktan sonra Paynet tarafından bu kullanıcıya benzersiz bir değer atanır( card_owner_id). Bu değeri kendi sisteminizde kullanıcınız ile ilişkilendirerek saklamalısınız. Daha sonra bu kullanıcıya yapılan kart saklama işlemlerinde user_unique_id yerine Paynet tarafından verilen card_owner_id değişkenini kullanmalısınız.
data-save_card_desc
Hayır
Kart saklamada kullanılacak kart açıklaması.
data-tds_required
Hayır
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-merge_option
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
data-pos_type
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
data-ratio_code_method
Hayır
Bu alanla ilgili daha detaylı bilgi için lütfen destek ekibimiz ile iletişime geçiniz.
data-return_url
Hayır
Form action parametresi yerine başka bir url'de ödeme onaylama işlemi yapacaksanız bu alanda ilgili url bilgisini gönderebilirsiniz.
data-installments
Hayır
Eğer müşterinize sadece belirli taksitler ile alış veriş yapmasına izin vermek istiyorsanız, virgül ile ayırarak izinli taksit bilgisini gönderebilirsiniz. 0, 3, 4, 6 gibi
data-subscription_id
Hayır
Düzenli ödeme kodu, mevcut bir düzenli ödemenize manuel ödeme almak istediğinizde invoice_no ile beraber kullanılır.

2.Adım: HTML input elementlerinizi işaretleyin.

Ödeme bilgilerinin alınacağı HTML formunuz, tercihleriniz doğrultusunda diyazn edilir. Formunuzdaki input elementleri ve buton data-paynet attribute'u ile işaretlenir.
Kullanıcı kart bilgilerini girip formu post ettiğinde; Paynet-custom.js, “token_id” ve “session_id” parametrelerini formunuza hidden olarak ekler ve formu action adresi ile belirtiğiniz sayfaya 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 tag’inin içinde data-from parametresinin değeri ödeme bilgilerinin alınacağı HTML formun ID"si olmalı. Değer "#formid" şeklinde verilmeli.
Eğer data-return_url parametresi kullanıyorsanır, Paynet-custom.js formun action adresi yerine return_url ile belirtilen adrese post işlemini yapar.
Formunuzda data-paynet attribute'u ile işaretlemediğiniz inputlar değişiklik olmadan post edilir.

data-paynet HTML form değerleri

Parametre İsmi
Zorunlu
Açıklama
number
Evet
Kredi kartı numarasının alınacağı html input'u işaretlemek için kullanılır.
installmentKey
Hayır
Seçilen taksitin ID’si
holderName
Evet
Kart sahibinin alınacağı html input'u işaretlemek için kullanılır.
exp-month
Evet
Kredi kartı son kullanma tarihinin ay bilgisinin alınacağı html input'u işaretlemek için kullanılır.
exp-year
Evet
Kredi kartı son kullanma tarihinin yıl bilgisinin alınacağı html input'u işaretlemek için kullanılır.
cvv
Evet
Kredi kartı CVC bilgisinin alınacağı html input'u işaretlemek için kullanılır.
desc
Hayır
Ödeme ile ilgili açıklama bilgisinin alınacağı html input'u işaretlemek için kullanılır.
email
Hayır
Ödeme yapan kişinin e-posta bilgisinin alınacağı html input'u işaretlemek için kullanılır.
phone
Hayır
Ödeme yapan kişinin telefon bilgisinin alınacağı html input'u işaretlemek için kullanılır.
do3D
Hayır
3D'li ya da 3D'siz ödemeyi kullanıcıların tercihine bırakmak istediğinizde HTML checkboxı işaretlemek için kullanılır.
save_card
Hayır
Kart saklamayı kullanıcının tercihine bırakmak istediğinizde HTML checkbox'ı işaretlemek için kullanılır.
save-card-desc
Hayır
Kart saklamada kart açıklamasının alınacağı HTML input'u işaretlemek için kullanılır.

3.Adım : Ödemeyi onaylama

Form action adresi ya da data-return_url ile belirtiğiniz adrese session_id ve token_id parametreleri post edildikten sonra ödeme işlemini "Ödeme Onaylama" servisi ile onaylamalısınız. Bakınız
Ödeme onaylama servisini başarılı şekilde çalıştırmazsanız kredi kartından tahsilat işlemi yapılmaz.

Event parametre ve Servisler

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