NAV navbar
bash php

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 ve API_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&quot",
      "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));
 }