Başlangıç
DigiliraPay, entegrasyon sayfalarına hoş geldiniz. Web sitenizden kripto paralarla ödeme alabilmek için DigiliraPay REST API ile sayfanıza entegrasyon işlemlerini tamamlamanız gerekmektedir.
Test ve canlı ortam için kullanacağınız end pointlere ve bilgilerine bu sayfalardan ulaşabilirsiniz.
Entegrasyon sürecinizle alakalı olarak herhangi bir problem yaşamanız halinde (destek@digilirapay.com) üzerinden teknik destek ekibimize ulaşabilirsiniz. En kısa sürede sorununuz çözüme ulaştırılacaktır.
Yetkilendirme
API_USER
veAPI_KEY
yazan yerleri mağaza panelinden alacağınız bilgilerle değiştirmeyi unutmayın.
$ch = curl_init("https://server1.digilirapay.com/v7/users/authenticate");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['username' => 'API_USER','password' => 'API_KEY']));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_exec($ch);
curl_close($ch);
curl -i https://server1.digilirapay.com/v7/users/authenticate
-H "Accept: application/json"
-H "Content-Type:application/json"
-X POST --data '{"username" : API_USER, "password" : "API_KEY"}'
İstek sonucu dönen cevap örneği
[
{
"_id": "7ba2a703-a86e-4r81-t992-f8e6683e79ae"",
"username" : "eff0da26-7a71-4e05-9d73-de9bc1c23bc9",
"firstName" : "Kuzey",
"lastName" : "Yüzer",
"tcno" : "11111111111",
"tel" : "5555555555",
"mail" : "[email protected]",
"createdDate" : "2021-02-06T13:04:05.978Z",
"token": "eyJhbGciOiLOPzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmEyYTkwMy1hODZlLTRmODUt9jk5Mi2mOGU2NjgzZTc5YWUiLCJkZWYiOjUsIn0iOiJ1IiwiaWF0IjoxNjEyODY2NTExLCJleHAiOjE2MTI5NTI5MTF9.ImoOOpS_YiKRPT94Qf_KQgw9g6zFufb2WTMlSn_7qG8"
},
]
merchant.digilirapay.com mağaza panelinizden ulaşacağınız API USER ve API KEY ile DigiliraPay isteklerinizi yapabilirsiniz. Eğer bir API KEY ve API USER' a sahip değilseniz yapacağınız tüm istekler hata olarak dönecektir.
Başarılı isteğin ardından dönen cevapta token
, sipariş oluşturma vb. istekleri oluştururken Bearer Token kullanılacaktır.
TEST
POST https://server1.digilirapay.com/v4/users/authenticate
LIVE
POST https://server1.digilirapay.com/v7/users/authenticate
Sipariş Oluşturma
QR Ödeme Oluşturma
#açıklamalarda verilen bilgilerle oluşturulan sipariş bilgileri
$orderArray = [];
$ch = curl_init("https://server1.digilirapay.com/v7/checkout/create/order");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($orderArray));
curl_setopt($ch1, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer BEARER_TOKEN'));
curl_exec($ch);
curl_close($ch);
curl -i https://server1.digilirapay.com/v7/checkout/create/order \
-H "Accept: application/json"
-H "Content-Type:application/json"
-H "Authorization: bearer 00000000-4cd9-4bc6-90da-5d43a155f30e"
-X POST --data '{
"merchant": "magazam",
"order_ref": "TKURUNKODU22",
"order_shipping": 9.99,
"conversationId": "1ZL3F3DCJ9BIJ3IXC1F5",
"ip": "127.0.0.1",
"paidPrice": 190.00,
"totalPrice": 199.99,
"callbackSuccess": "https://www.magazam.com/basariliCallback",
"callbackFailure": "https://www.magazam.com/basarisizCallback",
"successUrl" : "https://www.magazam.com/basarili",
"failureUrl" : "https://www.magazam.com/basarisiz",
"products": [
{
"order_pname": "Test Product",
"order_pcode": "ITEM20010101",
"order_price": 9.99,
"order_qty": 2
}
],
"billing": {
"bill_name": "Kuzey",
"bill_surname": "Yüzer",
"bill_tcknvkn": 11111111111,
"bill_email": "[email protected]",
"bill_phone": "+90 500 400 30 20",
"bill_fax": "",
"bill_address1": "Yeniköy Mah. Taşsütü sk",
"bill_address2": "No: 34 D:1",
"bill_zipcode": "26000",
"bill_city": "Eskişehir",
"bill_country": "Türkiye",
"bill_state": "Tepebaşı"
},
"delivery": {
"dlv_name": "Kuzey",
"dlv_surname": "Yüzer",
"dlv_tcknvkn": 11111111111,
"dlv_email": "[email protected]",
"dlv_phone": "+90 500 400 30 20",
"dlv_fax": "N/A",
"dlv_address1": "Yeniköy Mah. Taşsütü sk",
"dlv_address2": "No: 34 D:1",
"dlv_zipcode": "26000",
"dlv_city": "Eskişsehir",
"dlv_country": "Türkiye",
"dlv_state": "Tepebaşı"
}
}'
Yukarıdaki istek sonucu dönen cevap:
[
{
"fiat": 259.99,
"uuid": "09DEE532B78283D9C093D882FE353EC65B29D41A148F18AF2B393DFBA5A6493D",
"version": "ehfTRdU5gx2RyF35M0O6hTTYWbhgR2zZ3jq0HgMVj0RY",
"qrcode" : "09DEE132B78283D9C095D882FE353EC65B29D41A148F18AF2B393DFBA5A6493D",
"message": "İşlem Başarılı",
"code": 200,
"signature" : "364E5929F5D0D6475865842206B0592EBCD10F930EAEAA4DA314EC443C8EC2F8"
}
]
Bu end point, ödeme sayfasında siparişin DigiliraPay'e gönderilmesi ve dönen cevap ile birlikte bir ödeme QR'ı oluşturulmasını sağlar. Authorization olarak Bearer Token kullanılmaktadır. (Bkz: Yetkilendirme)
HTTP İstek
TEST
POST https://server1.digilirapay.com/v4/checkout/create/order
LIVE
POST https://server1.digilirapay.com/v7/checkout/create/order
İstek Parametreleri
Parameter | Tip | Zorunlu | Açıklama |
---|---|---|---|
merchant | string |
* | Mağaza Adı |
order_ref | string |
* | Sisteminizde üretilen eşsiz sipariş numarası |
order_shipping | float |
* | Sipariş kargo bedeli. Yoksa 0.00 olarak gönderilmelidir. |
conversationId | string |
* | Bkz: Açıklama 1 |
ip | string |
* | Sipariş veren kullanıcı IP |
paidPrice | float |
* | ör: 1150.00 |
totalPrice | float |
* | ör: 1250.00 |
callbackFailure | string |
* | Başarısız ödeme sonucu bilgisinin gönderileceği url |
callbackSuccess | string |
* | Başarılı ödeme sonucu bilgisinin gönderileceği url |
successUrl | string |
* | Başarılı ödeme sonrası mağazada yönlendirilecek url. |
failureUrl | string |
* | Başarısız ödeme sonrası mağazada yönlendirilecek url |
products | array |
* | Bkz: Tablo 1 |
billing | array |
Bkz: Tablo 2 | |
delivery | array |
Bkz: Tablo 3 |
Tablo 1
Parameter | Tip | Zorunlu | Açıklama |
---|---|---|---|
order_pname | string |
* | Ürün adı |
order_pcode | string |
* | Ürün kodu (unique) |
order_price | float |
* | Ör: 159.90 |
order_qty | integer |
* | Ürün adedi |
Tablo 2
Parameter | Tip | Zorunlu | Açıklama |
---|---|---|---|
bill_name | string |
* | Fatura Kişi Adı |
bill_surname | string |
* | Fatura Kişi Soyadı |
bill_tcknvkn | integer |
* | Fatura Kişi TC No |
bill_email | string |
* | Fatura Kişi E-mail |
bill_phone | string |
* | Fatura Kişi Telefon |
bill_fax | string |
* | Fatura Kişi Faks |
bill_address1 | string |
* | Fatura Kişi Adres |
bill_address2 | string |
* | Fatura Kişi Adres (devamı) |
bill_zipcode | integer |
* | Fatura Kişi Posta Kodu |
bill_city | string |
* | Fatura Kişi Şehir |
bill_country | string |
* | Fatura Kişi Ülke |
bill_state | string |
* | Fatura Kişi Bölge |
Tablo 3
Parameter | Tip | Zorunlu | Açıklama |
---|---|---|---|
dlv_name | string |
* | Kargo Kişi Adı |
dlv_surname | string |
* | Kargo Kişi Soyadı |
dlv_tcknvkn | integer |
* | Kargo Kişi TC No |
dlv_email | string |
* | Kargo Kişi E-mail |
dlv_phone | string |
* | Kargo Kişi Telefon |
dlv_fax | string |
* | Kargo Kişi Faks |
dlv_address1 | string |
* | Kargo Kişi Adres |
dlv_address2 | string |
* | Kargo Kişi Adres (devamı) |
dlv_zipcode | integer |
* | Kargo Kişi Posta Kodu |
dlv_city | string |
* | Kargo Kişi Şehir |
dlv_country | string |
* | Kargo Kişi Ülke |
dlv_state | string |
* | Kargo Kişi Bölge |
Açıklama 1
conversationId örnek PHP
#Açıklama 1
#Conversation ID oluşturma
$totalPrice = #.##;
$order_shipping = #.##;
$hash_str = $ip . $totalPrice . $order_shipping . base64_encode(json_encode($products));
$conversationId=base64_encode(hash_hmac('sha256', $hash_str . API_USER, API_KEY, true));
QR Görüntüleme
QR oluşturma end pointine yapılan istek sonucu dönen cevapta QR code parametresi QR görüntülemede kullanılmaktadır.
Eğer yaptığınız istekler doğru ise aşağıda gösterilen QR ödeme şablonuna erişebileceksiniz.
TEST Modu
GET https://server1.digilirapay.com/v4/checkout/pay/QRHASH
PROD Modu
GET https://server1.digilirapay.com/v7/checkout/pay/QRHASH
$qrcode = "";
echo "<iframe src='https://server1.digilirapay.com/v7/checkout/pay/".$qrcode."' frameborder='0' scrolling='no' style='width: 100%; height: 600px'>";
Callback
Başarılı İşlem CallBack
Başarılı tamamlanan bir siparişin ardından, DigiliraPay sipariş oluştururken gönderdiğiniz callbackSuccess adresine
hash_str
conversationId
order_ref
parametrelerini POST request olarak gönderir.
Başarısız İşlem CallBack
Başarısız sonuçlanan bir siparişin ardından, DigiliraPay sipariş oluştururken gönderdiğiniz callbackFailure adresine
hash_str
conversationId
order_ref
parametrelerini POST request olarak gönderir.
$secFla = base64_encode(hash_hmac('sha256', $hash . API_USER, API_KEY, true));
header('Content-Type: application/json');
if ($secFla == $_POST["conversationId"]) {
#veritabanına siparişin başarılı olduğu yazılır
$res = array('verification'=>"true");
#mobil uygulamaya başarılı bildirimi gönderir.
echo(json_encode($res, true));
}