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:
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. Bakınız.
Sistem | URL |
Canlı Sistem | |
Test Sistemi |
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 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.
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.updateAddCommToAmount
Bu parametre ile "data-add_commission_amount" ile belirtiğiniz komisyonun kredi kartından çekilecek tutara eklenip/eklenmeyeceğini güncelleyebilirsini.
Last updated