Hazır Form

Paynet ile ödeme almanın en kolay yolu Paynet.js’i ödeme formunuza eklemektir. 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 web uygulamanızdaki formunuza yerleştirirsiniz. Bu script sayfanıza bir ödeme butonu yerleştirir.

  • Müşterileriniz ödeme butonuna basıp, kart bilgilerini girip, ödemeyi tamamladıklarında sizin sunucunuza sadece token_id bilgisi gönderilir. Sizde sunucu tarafında bu ödemeyi onaylarsınız.

Hazır 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. Bknz.

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

Paynet.js’i aşağıdaki şekilde sayfanıza ekleyebilirsiniz.

<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-button_label="Ödeme Yap">
</script>
</form>

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 formunuzdaki diğer input'lar ile beraber action adresine formu post eder.

Post işleminden sonra formunuza eklediğiniz diğer parametreler ile beraber session_id ve token_id bilgisi sunucunuza ulaşır. Bu değerler ile ödemeyi onaylayabilirsiniz.

Paynet.js Parametreleri

Data attribute

Zorunlu

Açıklama

data-key

Evet

Publishable key'iniz.

data-amount

Evet

Kredi kartından çekilecek tutar. Ödeme tutarının yüz ile çarpılmış hali. “10.00 TL” => “1000” olarak gönderilmeli.

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-image

Hayır

Hazır ödeme formunda gösterilecek logo.

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ı. Tekil (unique) bir veri olmalı. ( örn: sipariş 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-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.

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, card_owner_id ya da user_unique_id değerlerinden en az birini göndermeniz zorunlu.

data-card_owner_id

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-user_unique_id

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-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-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-amount parametresi ile karttan çekilecek tutarı 100 ile çarpılmış ve ondalık ayracı olmadan göndermelisiniz.

2. Adım: Ödemeyi onaylama

Paynet.js tarafından form action sayfanıza post edilen token_id ve session_id değerlerini kullanarak ödemeyi onaylamanız gerekmektedir. Ödeme onaylama servisi ile daha detaylı bilgi için tıklayınız.

Ödeme onaylama servisini başarılı şekilde çalıştırmazsanız kredi kartından tahsilat işlemi yapılmaz.

Paynet.js method ve eventler

Paynet.js javascript kütüphanesi içerisinde aşağıdaki evet ve methodları uygulamanızı özelleştirmek için kullanabilirsiniz.

Paynet.onPaymentClick

Sayfanıza eklenen ödeme butonuna tıklama sonrasında uygulamanızın ihtiyaçlarına yönelik kredi kartı formu açılmadan önce kontrol etmenize olanak sağlayan event. Aşağıdaki şekilde kullanabilirsiniz.

Paynet.onPaymentClick(function () {
if (koşul) {
/// do something
return true;
} else{
alert("Uyarı");
return false;
} });

Geri dönüş değeri "true" dönmeniz durumunda ödeme formu açılır ve akış devam eder. "false" dönmeniz durumunda ödeme formu açılmaz ve akış sonlanır.

Paynet.updateAmount

Bu method ile "data-amount" ile belirtiğiniz kredi kartından çekilecek tutarı ve "data-ratio_code" ile belirtiğiniz oran tablosunu güncelleyebilirsiniz. Aşağıdaki şekilde kullanabilirsiniz.

Paynet.updateAmount(amount);
Paynet.updateAmount(amount,ratioCode);

Paynet.updateAddCommToAmount

Bu parametre ile "data-add_commission_amount" ile belirtiğiniz komisyonun kredi kartından çekilecek tutara eklenip/eklenmeyeceğini güncelleyebilirsini.

Paynet.updateAddCommToAmount(true);
Paynet.updateAddCommToAmount(false);