iqmoney admini, üye işyeri web sitesinden yapılan ödemenin Non-Secure mi yoksa 3D mi yapılması gerektiğine karar verecektir. Aşağıdaki istek, üye iş yeri web sitesinden iqmoney ödeme entegrasyon sistemine gönderilmelidir. CURL post isteği, aşağıdaki parametrelerle iqmoney'de alınmalıdır:
Method | URL | İçertik-Türü |
---|---|---|
POST | application/x-www-form-urlencoded |
Tür | Parametreler | Data Türü | Şart |
---|---|---|---|
Key | merchant_key | string | Zorunlu |
Key | invoice | string | Zorunlu |
Key | currency_code | string | Zorunlu |
Key | name | string | Zorunlu |
Key | surname | string | Zorunlu |
Key | bill_address1 | string | Opsiyonel |
Key | bill_address2 | string | Opsiyonel |
Key | bill_city | string | Opsiyonel |
Key | bill_postcode | string | Opsiyonel |
Key | bill_state | string | Opsiyonel |
Key | bill_country | string | Opsiyonel |
Key | bill_email | string | Opsiyonel |
Key | bill_phone | string | Opsiyonel |
Key | max_installment | int | Opsiyonel |
Key | sale_web_hook_key | string | Opsiyonel |
Tür | Parametreler | Data Türü | Şart |
---|---|---|---|
Key | order_type | string | Zorunlu |
Key | recurring_payment_number | Integer | Zorunlu |
Key | recurring_payment_cycle | String | Zorunlu |
Key | recurring_payment_interval | Integer | Zorunlu |
Key | recurring_web_hook_key | Integer | Zorunlu |
merchant_key merchant_key Üye iş yerine atanan benzersiz bir anahtardır. Üye iş yeri web sitesinden gönderilmelidir.
invoice invoice öğe adı, miktar ve birim fiyat vb. listesiyle birleştirilmiş bir json formatlı dizedir.
Örneğin, üç ürün varsa,
Ürün 1 #
İsim: Ürün1, Adet: 2, Birim Fiyat: 200
Ürün 2 #
İsim: Ürün2, Adet: 1, Birim Fiyat: 100
Ürün 3 #
İsim: Ürün3, Adet: 2, Birim Fiyat: 400
invoice dizesi şu dizinin json dizgisini gösterecektir:
$invoice['invoice_id'] = “345345535”; // One unique id which will be available in the return or cancel URL
$invoice['invoice_description'] = “ INVOICE TEST DESCRIPTION” ;
$invoice['total'] = 1300
$invoice[discount] = 220 //The amount of coupon code or discount value
$invoice[coupon] = “3XY8P” //couponn code in case applicable
$invoice['return_url'] = “https://<your_success_url>”
$invoice['cancel_url'] = “https://<your_fail_or_cancel_url>”
$invoice['items'] = array(
array(“name”=>”Item1”,”price”=>200,”qnantity”=>2,”description”=>”item1 description”),
array(“name”=>”Item2”,”price”=>100,”qnantity”=>1,”description”=>”item2 description”),
array(“name”=>”Item3”,”price”=>400,”qnantity”=>2,”description”=>”item3 description”),
);
//billing info
$invoice['bill_address1'] = 'Address 1'; //should not more than 100 characters
$invoice['bill_address2'] = 'Address 2'; //should not more than 100 characters
$invoice['bill_city'] = 'Istanbul';
$invoice['bill_postcode'] = '1111';
$invoice['bill_state'] = 'Istanbul';
$invoice['bill_country'] = 'TURKEY';
$invoice['bill_phone'] = '008801777711111';
$invoice['bill_email'] = 'demo@iqmoney.com.tr';
$invoice['sale_web_hook_key'] = 'sale_web_hook_key';// Bu anahtar iqmoney Üye işyeri Panel'de atanmalıdır
//Recurring info
$invoice['order_type'] = 1; //yinelenen ödeme için order type 1
$invoice[' recurring_payment_number'] = 2; //integer olmalı
$invoice[' recurring_payment_cycle'] = 'M'; // D, M, Y
$invoice[' recurring_payment_interval'] = 2; //integer olmalı
$invoice[' recurring_web_hook_key'] = ‘key_name’; // Bu anahtar iqmoney üye işyeri panelinde atanmalıdır.
Tüm vergiler ve gönderim ücretleri invoice items dizisinde madde olarak eklenecektir.
Öğe adları, sırasıyla miktar 1 ile birlikte “Tax” ve “Shipping Charge” olmalıdır.
currency_code
currency_code para biriminin kodu. Örneğin USD, TRY, EUR vb.
name
name Müşterinin adı. Örneğin, ürünü alan kişinin adı “John Dao” ise, adı “John” olmalıdır
surname
surname Müşterinin soyadı. Örneğin, ürünü alan kişinin adı “John Dao” ise, soyadı “Dao” olmalıdır
sale_web_hook_key
sale_web_hook_key, isteğe bağlı bir anahtardır. Bir satın alma talebi tamamlandığında, iqmoney bir gönderi talebi gönderir. Böylece üye işyeri kendi sitesinde bir etkinlik gerçekleştirebilir. iqmoney, bu anahtarın veritabanında bulunması gerektiğini doğrular. Üye işyeri, bu anahtara karşı iqmoney Üye işyeri Panelinde bir Satış web kancası URL'si atamalıdır.
transaction_type
Ön provizyon/Pre-authorization işlemi yapabilmek için "PreAuth" değeri ile transaction_type parametresi eklenmelidir, ödemenin 20 gün içinde tamamlanması veya iptal edilmesi gerekir, aksi takdirde otomatik olarak iptal edilir.
order_type
Eğer order_type=1 ise, iqmoney ödemenin yinelenen ödeme olacağını doğrular. Sonrasında recurring_payment_number, recurring_payment_cycle, recurring_payment_interval anahtarlarının(key) boş olmaması gerekir.
recurring_payment_number
recurring_payment_number taksit sayısını tanımlar. Örneğin tutar 100 $ ve recurring_payment_number 5 ise, tutar her işlem için 100 $ / 5 = 20 $ olarak düşülecektir.
recurring_payment_cycle
recurring_payment_cycle , recurring_payment_interval parametresinin birim türünü tanımlar. Olası değerler: D/M/Y e.g: D: Days (Günler), M: Months (Aylar), Y: Years (Seneler)
recurring_payment_interval
recurring_payment_interval aralık değerini tanımlar. Eğer recurring_payment_interval = 2 ise ve recurring_payment_cycle = “D” ise işlem her 2 günde bir gerçekleşir.
recurring_web_hook_key recurrent_web_hook_key, üye iş yeri tekrar eden web kancası url'sini tanımlar. Bu anahtara karşı iqmoney Üye işyeri Panel'de bir URL atanmalıdır. iqmoney, bu anahtarın veritabanında bulunması gerektiğini doğrular ve ödeme tekrarlandığında gerekli bir değerdir.
max_installment
Kullanıcıya gösterilmek istenen maksimum taksit sayısını ifade eder.
transaction_type
transaction_type “PreAuth” için sistemde bekleyen bir işlem oluşturulur. Ancak daha sonra üye iş yerinin onayı ile Tamamlandı'ya dönüştürülür.
Başarılı bir istekten sonra, sunucu CURL göndericisine bir link sağlayacaktır. Üye iş yeri web sitesinin ödeme yapmak için siteye yönlendirilmesi gerekir.
Tür | Parametreler | Data Türü |
---|---|---|
Key | status | string |
Key | success_message | string |
Key | link | string |
status
status API isteğinin sonucudur. Başarılı için “true” ve başarısız için “false”
success_message
success_message isteğin durumunu tanımlayan bir dizedir
link
link Üye iş yeri web sitesinin markalı 2d / 3d ödeme işlemleri için yönlendirmesi gereken URL'dir.
Ödeme işleminden sonra son kullanıcı, aşağıda verilen parametreler kullanılarak üye işyeri web sitesine yönlendirilir.
Yanıt doğrulaması için bir hash_key parametresi gönderilir. Üye iş yeri istek parametresini hash_key değeriyle karşılaştırabilir.
$params = [
'payment_status' => $status,
'order_no' => $order_id,
'invoice_id' => invoice_id,
'status_code' => $error_code,
'status_description' => $status_message,
'payment_method' => $payment_type,
'transaction_type' => $transaction_type,
'error_code' => $error_code,
'error' => $status_message,
'hash_key' => $hash_key,
];
payment_status
payment_status = 0/1
0=Başarısız, 1=Tamamlandı
order_id
order_id is iqmoney'in order id değeri.
invoice_id
invoice_id is üye iş yerinin invoice_id değeri
KEY | Açıkalaması |
---|---|
payment_status | payment_staus 1 veya 0 olabilir. 1=başarılı, 0=başarısız |
order_no | iqmoney sipariş numarası |
invoice_id | üye iş yeri fatura id'si |
status_code | iqmoney Status code, 100 başarılı işlem kodudur |
status_description | işlem açıklaması |
transaction_type | transaction_type == “Auth” //işlem tutarı anında karttan düşülür. transaction_type == “Pre-Authorization” işlem tutarı daha sonra karttan düşülecektir. |
payment_method | 1= kredi kartı, 2= mobil, 3= Wallet/cüzdan |
error_code | status_code değerinin parametresi |
error | status_description parametresinin değeri |
hash_key | iqmoney'den gelen talebi doğrulamak için |
Durum 1 : payment_status == 1 ve transaction_type == “Auth” // İşlem başarılıdır ve işlem tutarı anında karttan düşülür.
Durum 2 : payment_status == 1 ve transaction_type == “Pre-Authorization” // İşlem başarılı olup, işlem tutarı daha sonra karttan düşülecektir.
Durum 3 : payment_status == 0 // İşlem başarısız.
Hash_key, isteğin iqmoney'den geldiğini doğrulamak için üye iş yeri tarafında doğrulanmalıdır. Ayrıca İşlem Durumu servisi işlemin başarılı veya Başarısız olduğunu onaylar.