Ödeme İsteği Gönderme (Tekrarlı/Tek Sefer)
- Ödeme isteği gönderme işlemi için gerekli parametreleri doldurup Payfula istek atılınca, Payfull ilgili müşterilere E-mail veya Sms yoluyla
belirlediğiniz kriterlerin hazır olduğu ödeme sayfasına ait linki gönderir.
- Oluşturulan linkler özel linklerdir, belirledğiniz kriterler ile oluşturulmuş bir ödeme sayfasına yönlendirme yapar.
Tek yapılması gereken kart bilgilerinin girilmesi ve ödeme talimatı verilmesidir.
- İki çeşit ödeme isteği bulunmaktadır. Tekrarlı ödemeler demek belirlenen tarihlerde ilgili kişinin kartından aynı ücret otomatik olarak tahsil edilir.
Bir diğer yöntemi ise tek seferlik ödemelerdir.
- Toplam tutar değeri istek oluşturulurkende üretilebilir yada Payful hesabından ödeme kalemi oluşturularakta üretilebilir.
- Tekrarlı ödeme isteği günlük, aylık yada yıllık olarak seçilebilir.
- Tekrar sayısı ve başlam tarihi seçilebilir.
Gerekli Parametreler
- merchant: ZORUNLU
- Payfull hesabınız içerisinde(Ayarlar->Apı Hesapları) tanımladığınız Apı hesabına ait "Üye İşyeri Adı" alanına girilen değerdir.
- type: ZORUNLU
- İşlem tipi Set olmalıdır.
- set_param: ZORUNLU
- Parametre değeri Request olmaldır.
- language: ZORUNLU
- Satış işlemi sonrası gelecek olan cevabın dil seçeneğini belirlemekte kullanılır. İki seçenek vardır. en / tr
- client_ip: ZORUNLU
- İşlemi yapacak olan kişiye ait IP bilgisi gönderilmelidir.
- title: ZORUNLU
- Her satış işlemine ait belirlenmesi gereken işlem başlığıdır. Örnek olarak: Çay Bardağı 6'lı Set
- recipient_first_name: optional
- Müşterilerin İsim
- recipient_last_name: optional
- Müşterilerin Soyadı
- recipient_email: required
- Müşterilerin e-mail adresleri
- recipient_phone: optional
- üşterilerin telefon numarası, eğer belirtilmez ise ülke kodu Türkiye için 0090 olmalıdır
- recipient_code: optional
- Ödeme talebinde kayıtlı bayi kodu ile gönderim sağlanır ise, email adresi ve telefon bilgisi otomatik olarak algılanır. Bu parametrelerin gönderilmesine gerek kalmaz.
- start_date: ZORUNLU
- Ödem işleminin başlangıç tarihi
- end_date: ZORUNLU
- Bitiş tarihi
- changeable_quantity: ZORUNLU
- Müşterinizin miktarı değiştirebilmesini sağlayan parametredir 0 / 1 olabilir. 1 olması müşterinizin miktarı değiştirebileceği anlamına gelir.
- predefined_payment: ZORUNLU
- Toplam değeri için payful içeriisnde oluşturulan bir ödeme kalemi kullanılabilmesi için gerekli parametredir.
- payment_item: OPSİYONEL
- Eğer predefined_payment = 1 olarak ayarlanmış ise ZORUNLU hangi ödeme kaleminin kullanılacağını belirlemek için kullanılır.
- payment_free_amount: OPSİYONEL
- Eğer predefined_payment = 0 olarak ayarlanmış ise ZORUNLU hale helir. Alınacak ücreti belirlememiz gerekir.
- payment_free_title: OPSİYONEL
- Eğer predefined_payment = 0 olarak ayarlanmış ise ZORUNLU hale gelir. Ödemenin ismini belirlemek gerekir.
- quantity: ZORUNLU
- Ürün miktarı
- currency: ZORUNLU
- Desteklenen para birimleri şunlardır. TRY/USD/EUR/GBP
- kdv: ZORUNLU
- KDV değerinin olabileceği değerler. 0% / 1% / 8% / 18%
- via_email_sms: ZORUNLU
- Ödeme isteğinin yollları belirlenir. 3 seçenek vardır. 0:email / 1:sms / 2:email+sms
- email_text: OPSİYONEL
- Eğer via_email_sms = 0 or 2 değerlerinden biri ise ZORUNLU olur. SMS içeriği belirlenmelidir.
Bazı taglar önemli bilgileri göndermenizde yardımcı olacaktır.- [email or name-surname]: Kayıtlı değilse e-mail bilgisi yada isim soyisim bilgisi
- [PRDATE]: Oluşturulma tarihi
- [PRNAME]: Gönderilme tarihi
- [TOTAL]: istenen toplam ücret
- [LASTPAYMENTDATE]: Bitiş tarihi
- sms_text: OPSİYONEL
- eğer via_email_sms = 1 or 2 değerlerinden biri ise ZORUNLU olur. E-mail içeriği belirlenmelidir.
Bazı taglar önemli bilgileri göndermenize yardımcı olur.- [email or name-surname]: Kayıtlı değilse e-mail bilgisi yada isim soyisim bilgisi
- [PRDATE]: Oluşturulma tarihi
- [PRNAME]: Gönderilme tarihi
- [TOTAL]: istenen toplam ücret
- [LASTPAYMENTDATE]: Bitiş tarihi
- [LINK]: Ödeme Linki
- request_type: ZORUNLU
- İstek tipi tekrarlı yada tek seferlik olabilir. normal or recurring
- request_action_type: OPSİYONEL
- Bu parametre iki değer alabilir. manual or auto, Eğer request_type = recurring olarak seçilirse ZORUNLU hale gelir.
- request_period: OPSİYONEL
- Tekrarlı Ödeme periodları seçilebilir. 1:day / 2:week / 3:month / 4:year, Eğer request_type = recurring olarak seçildiyse ZORUNLU hale gelir.
- repetition_count: OPSİYONEL
- Tekrarlı ödemeler için tekrar sayısı seçilebilir, Eğer request_type = recurring olarak seçildiyse ZORUNLU hale gelir.
- extra_field_: OPSİYONEL
- To provide extra data with payment request, you can add more fields to the request, those fields should start with prefix extra_field_, then the field machine name come after, Example: extra_field_invoiceid, where the field invoiceid is created from UI side before.
- extra_field_: OPSİYONEL
- Ekstra alan bilgisi ödeme talebinde ek bilgi gsağlamak amacı ile kullanılır. Bu parametre panelde oluşturulan ekstra alan entegrasyon bilgisi ile kullanılır. Örn : extra_field_faturaid, faturaid ekstra alanı Payfull panelinde oluşturulmuş olmaldır.
- hash: ZORUNLU
- İşlemin hangi api kullanıcısına ait olduğunu anlamamız ve güvenlik için kullanılan Güvenlik kodu parametresidir. Nasıl oluşturulacağı aşağıda anlatılmış olup sayfanın sağ tarafındaki örnekte php örneği olarak gösterilmiştir.
- - Bütün parametrelerin oluşturulduğundan emin olun. Her senaryo için Güvenlik kodu (hash) oluşturma işlemi son işlem ve son parametreniz olmalıdır.
- - Parametreleri alfabetik olarak A'dan Z'ye sıralayınız.
- - Bir string değeri($siraliParametreler) oluşturup teker teker her parametrenizin uzunluğunu ve kendisini yanyana ekleyiniz.
- - sha256 hash kodu üretici fonksiyon ile parametrelerinizden oluşturduğunuz ($siraliParametreler) string değerinizi ve Payfull hesabınızda belirlenen "Üye İşyeri Şifresi" ni kullanarak bir Güvenlik kodu üretiniz.
- - Parametreleriniz içerisine parametre ismi "hash", değeri ise şimdi oluştuduğunuz Güvenlik kodunu yerleştirerek Api isteğinizi Endpoint Url'inize gönderiniz.
Güvenlik kodu (hash) değerini oluşturmak için aşağıdaki işlemler sırası ile gerçekleştirilmelidir;
İstek Örneği
merchant: api_merch
type: Set
set_param: Request
language: tr
client_ip: 192.168.1.1
title: payment title here
recipient_first_name: Muhammed
recipient_last_name: Salih
recipient_email: MuhammedSalihTestEmail@payfull.com
recipient_phone: 00905..........
start_date: 01-09-2016',
end_date: 01-01-2030'
changeable_quantity: 0
predefined_payment: 0
payment_item: 0
payment_free_amount: 12.25
payment_free_title: Item Title here
quantity: 1
currency: TRY
kdv: 1
via_email_sms: 0
email_text: email text come here
sms_text: sms text come here
request_type: recurring
request_action_type: auto
request_period: 1
repetition_count: 2
hash: 14339MjuG01015018
Cevap Örneği
{
"status":1,
"ErrorMSG":"",
"ErrorCode":"00",
{
"status":1,
"ErrorMSG":"",
"ErrorCode":"00",
"data":{ "approved":true, paymentRequestHash:token_value, "paymentRequestLink":"https://yourDomain.payfull.com/tahsilat-sayfasi/token_value"}
}
Php Örneği