انتقل إلى المحتوى

API

إنشاء مفتاح API

مفتاح ال API يعطيك الصلاحية للتفاعل مع نهايات البنك الرقمي برمجياً لتحصيل دفعات مالية نقدية أو رقمية من زبائنك.
بعد أن يتم تاكيد طلب اشتراكك في خدمة الدفع الإلكتروني ستظهر لك خيارات جديدة لإدارة الشركة ضمن حسابك في البنك الرقمي. بعدها يمكنك الذهاب إلى قسم مفاتيح API وإنشاء مفتاح جديد من هناك.

طلب دفعة من زبون

POST https://digibankar.com/api/v1/payment/request

تتيح لك هذه النهاية تقديم طلب تحصيل دفعة من زبون عن طريق البنك الرقمي. سيرد المخدم بمعرّف الطلب وتاريخ انتهاء الصلاحية. وفي نفس الوقت يرسل البنك الرقمي إشعار للزيون مرفقاً بكود تأكيد.

المدخلات

 المدخل الوصف
amount الكمية المراد تحصيلها من الزبون
currency العملة النقديةأو الرقمية بالأحرف الكبيرة ك USD, USDT, BTC, ETH
customerNo رقم حساب الزبون في البنك الرقمي
apiKey مفتاح API الخاص بك

أمثلة

curl -v -XPOST -H "Content-type: application/json" -d '{
"apiKey":"[Your api key]",
"customerNo":"[Customer number]",
"amount":10,
"currency":"USDT"
}' 'https://digibankar.com/api/v1/payments/request'
var url = "https://digibankar.com/api/v1/payments/request";

var xhr = new XMLHttpRequest();
xhr.open("POST", url);

xhr.setRequestHeader("Content-type", "application/json");

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
  }};

var data = `{
"apiKey":"[Your key]",
"customerNo":"[Customer number]",
"amount":10,
"currency":"USDT"
}`;

xhr.send(data);
var url = "https://digibankar.com/api/v1/payments/request";

var httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Method = "POST";

httpRequest.Headers["Content-type"] = "application/json";

var data = @"{
""apiKey"":""[Your key]"",
""customerNo"":""[Customer number]"",
""amount"":10,
""currency"":""USDT""
}";

using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
{
  streamWriter.Write(data);
}

var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
}

// في حال النجاح
{
  "code": 0, // كود الإستحابة ويكون إما 0 للنجاح أو 1 للفشل
  "result": {
    "expireyDate": "2022-01-06T12:24:46.132473Z", // تاريخ انتهاء صلاحية الطلب
    "requestId": "458b86fc-fe1e-41d3-9468-e3f5292aea81" // معّرف الطلب في البنك الرقمي
  }
}
// في حال الفشل
{
  "code": 1, // كود الإستحابة ويكون إما 0 للنجاح أو 1 للفشل
  "erorr": ["مفتاح غير صحيح"] // رسائل الخطأ
}

تأكيد الدفعة

POST https://digibankar.com/api/v1/payments/finalize

بعد تقديم طلب الدفعة وإرسال كود التأكيد إلى الزبون، تستطيع إرسال طلب تأكيد الدفعة مرفقاً بكود التأكيد ومعرّف الطلب ومفتاح API. في حال كانت المعلومات صحيحة سيتم تحويل الدفعة من حساب الزبون إلى حسابك.

المدخلات

 المدخل الوصف
requestId معرّف طلب الدفعة
confirmationCode كود التأكيد الذي تم إرساله إلى الزبون
apiKey مفتاح API الخاص بك
refNo رقم مرجعي ليدل على العملية في تطبيقك، ستظهر للزبون ضمن قيود البنك الرقمي
note ملاحظة، ستظهر للزبون ضمن قيود البنك الرقمي

أمثلة

curl -v -XPOST -H "Content-type: application/json" -d '{
  "apiKey":"[Your key]",
  "requestId":"5188b957-b27a-4899-a7bf-ffa8ae949c38",
  "confirmationCode":"761342"
}' 'https://digibankar.com/api/v1/payments/finalize'
var url = "https://digibankar.com/api/v1/payments/finalize";

var xhr = new XMLHttpRequest();
xhr.open("POST", url);

xhr.setRequestHeader("Content-type", "application/json");

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
  }};

var data = `{
  "apiKey":"[Your key]",
  "requestId":"5188b957-b27a-4899-a7bf-ffa8ae949c38",
  "confirmationCode":"761342"
}`;

xhr.send(data);
var url = "https://digibankar.com/api/v1/payments/finalize";

var httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Method = "POST";

httpRequest.Headers["Content-type"] = "application/json";

var data = @"{
  ""apiKey"":""[Your key]"",
  ""requestId"":""5188b957-b27a-4899-a7bf-ffa8ae949c38"",
  ""confirmationCode"":""761342""
}";

using (var streamWriter = new StreamWriter(httpRequest.GetRequestStream()))
{
  streamWriter.Write(data);
}

var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
}

// في حال النجاح
{
  "code": 0, // كود النجاح
  "result": {
    "receiptId": 781 // معرّف الدفعة في البنك الرقمي
  }
}
// في حال الفشل
{
    "code": 4, // كود الفشل
    "error": ["Already fullfilled"] // رسائل الفشل
}

لائحة الدفعات السابقة

GET https://digibankar.com/api/v1/payment/list

تتيح لك هذه النهاية جلب قائمة الدفعات السابقة التي قمت بتحصيلها من زبائنك.

المدخلات

 المدخل الوصف
apiKey مفتاح API الخاص بك
pageNo رقم الصفحة المراد جلبها
pageSize عدد العناصر في الصفحة المراد جلبها. 50 على الأكثر
from جلب عناصر بداية من تاريخ محدد
to جلب عناصر حتى نهاية تاريخ محدد
paidBy رقم حساب الزبون في البنك الرقمي الذي قام بالدفع
refNo الرقم المرجعي للدفعة في تطبيقك

أمثلة

curl -v -XGET -H "Content-type: application/json" 'https://digibankar.com/api/v1/payments/list?apiKey=[Your API key]&pageNo=1&pageSize=10&from=10-10-2021&to=01-01-2022&paidBy=[Customer number]&refNo=30'
var url = "https://digibankar.com/api/v1/payments/list?apiKey=[Your API key]&pageNo=1&pageSize=10&from=10-10-2021&to=01-01-2022&paidBy=[Customer number]&refNo=30";

var xhr = new XMLHttpRequest();
xhr.open("GET", url);

xhr.setRequestHeader("Content-type", "application/json");

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4) {
      console.log(xhr.status);
      console.log(xhr.responseText);
  }};

xhr.send();
var url = "https://digibankar.com/api/v1/payments/list?apiKey=[Your API key]&pageNo=1&pageSize=10&from=10-10-2021&to=01-01-2022&paidBy=[Customer number]&refNo=30";

var httpRequest = (HttpWebRequest)WebRequest.Create(url);

httpRequest.Headers["Content-type"] = "application/json";


var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
  var result = streamReader.ReadToEnd();
}

Console.WriteLine(httpResponse.StatusCode);

// في حال النجاح
{
  "code": 0, // كود النجاح
  "result": {
    "pageItems": [
      {
        "amount": 0.001, // الكمية المدفوعة
        "asset": "ETH", // العملة
        "id": 781, // معرّف الدفعة
        "paidBy": "xxx0000", // رقم حساب الزبون في البنك الرقمي
        "timestamp": "2022-01-02T09:18:05.868083" // تاريخ العملية
      },
      {
        "amount": 0.1,
        "asset": "LUNA",
        "id": 779,
        "paidBy": "xxx0000",
        "timestamp": "2022-01-02T09:16:21.5379961"
      },
      {
        "amount": 30,
        "asset": "USDT",
        "id": 382,
        "paidBy": "xxx0000",
        "timestamp": "2021-12-15T12:25:50.6067252"
      },
      {
        "amount": 10,
        "asset": "USD",
        "id": 381,
        "paidBy": "xxx0000",
        "timestamp": "2021-12-15T12:11:32.6031386"
      }
    ],
    "totalCount": 4 // العدد الكلي للعناصر
  }
}
// في حال الفشل
{
    "code": 1, // كود الفشل
    "error": ["Input error"] // رسائل الفشل
}