يصف هذا القسم الرفيق اولاين واجهة برمجة تطبيقات بوابة الدفع.
الرفيق اولاين يمكن تنفيذ API بسهولة في برنامج أعمالك. حيث تستخدم عناوين URL مهيكلة جيدًا، وتقبل طلبات cURL، وتعيد استجابات JSON.
يمكنك استخدام API في وضع الاختبار، والذي لا يؤثر على بياناتك الفعلية. يتم استخدام مفتاح API لمصادقة الطلب وتحديد ما إذا كان الطلب هو دفع صالح أم لا. لاختبار الوضع، استخدم فقط رابط Sandbox، وفي حالة الوضع الفعلي، استخدم رابط Live من القسم. بدء الدفع .
يشرح هذا القسم كيفية الحصول على مفتاح API الخاص بك.
سجّل الدخول إلى الرفيق اولاين حساب التاجر الخاص بك. If you don't have any ? انقر هنا
الخطوة التالية هي العثور على مفتاح API القائمة في الشريط الجانبي للوحة التحكم الخاصة بك. انقر على القائمة.
يمكن العثور على مفاتيح API هناك وهي المفتاح العام والمفتاح السري. استخدم هذه المفاتيح لبدء طلب API. يمكنك إنشاء مفتاح API جديد في أي وقت من خلال النقر على إنشاء مفتاح API الزر. تذكر عدم مشاركة هذه المفاتيح مع أي شخص.
يصف هذا القسم عملية بدء الدفع.
لبدء الدفع، اتبع كود المثال وكن حذرًا مع المعلمات. ستحتاج إلى تقديم طلب باستخدام نقاط نهاية API التالية.
نقطة النهاية الحية: https://alrafiq.market-yemeni.com/payment/initiate
نقطة النهاية الاختبارية: https://alrafiq.market-yemeni.com/sandbox/payment/initiate
بريد وضع الاختبار: test_mode@mail.com
رمز التحقق في وضع الاختبار: 222666
طريقة الطلب: POST
قم بإرسال الطلب إلى نقطة النهاية مع المعلمات التالية أدناه.
| اسم المعلمة | نوع المعلمة | الوصف |
|---|---|---|
| public_key | string (50) | إلزامي مفتاح API العام الخاص بك |
| identifier | string (20) | إلزامي المعرف يُستخدم بشكل أساسي لتحديد الدفع على نهايتك |
| currency | string (4) | إلزامي رمز العملة، يجب أن يكون بحروف كبيرة. مثل USD, EUR |
| amount | decimal | إلزامي مبلغ الدفع. |
| details | string (100) | إلزامي تفاصيل الدفع أو المعاملة. |
| ipn_url | string | إلزامي رابط إشعار الدفع الفوري. |
| success_url | string | إلزامي رابط إعادة التوجيه عند نجاح الدفع. |
| cancel_url | string | إلزامي رابط إعادة التوجيه عند إلغاء الدفع. |
| site_logo | string/url | إلزامي شعار موقع عملك. |
| checkout_theme | string | اختياري سمة نموذج الدفع داكن/فاتح. السمة الافتراضية هي الفاتحة. |
| customer_name | string (30) | إلزامي اسم العميل. |
| customer_email | string (30) | إلزامي بريد إلكتروني صالح للعميل. |
<?php
$parameters = [
'identifier' => 'DFU80XZIKS',
'currency' => 'USD',
'amount' => 100.00,
'details' => 'Purchase T-shirt',
'ipn_url' => 'http://example.com/ipn_url.php',
'cancel_url' => 'http://example.com/cancel_url.php',
'success_url' => 'http://example.com/success_url.php',
'public_key' => 'your_public_key',
'site_logo' => 'https://alrafiq.market-yemeni.com/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://alrafiq.market-yemeni.com/payment/initiate";
//test end point
$url = "https://alrafiq.market-yemeni.com/sandbox/payment/initiate";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
//$result contains the response back.
?>
//Error Response.
{
"error": "true",
"message": "Invalid api key"
}
//Success Response.
{
"success": "ok",
"message": "Payment Initiated. Redirect to url.",
"url":"http://example.com/initiate/payment/checkout?payment_id=eJSAASDxdrt4DASDASVNASJA7893232432cvmdsamnvASF"
}
يشرح هذا القسم عملية الحصول على إشعار الدفع الفوري الخاص بك.
لبدء الدفع، اتبع كود المثال وكن حذرًا مع المعلمات. ستحتاج إلى تقديم طلب باستخدام نقاط نهاية API التالية.
نقطة النهاية: عنوان URL الخاص بتطبيق عملك للإشعارات الفورية.
طريقة الطلب: POST
ستحصل على المعايير التالية أدناه.
| اسم المعلمة | الوصف |
|---|---|
| status | حالة نجاح الدفع. |
| identifier | Identifier is basically for identify payment at your end. |
| signature | توقيع تجزئة للتحقق من الدفع الخاص بك. |
| data | تحتوي البيانات على بعض المعلومات الأساسية مثل الرسوم، المبلغ، العملة، معرف المعاملة، إلخ. |
<?php
//Receive the response parameter
$status = $_POST['status'];
$signature = $_POST['signature'];
$identifier = $_POST['identifier'];
$data = $_POST['data'];
// Generate your signature
$customKey = $data['amount'].$identifier;
$secret = 'YOUR_SECRET_KEY';
$mySignature = strtoupper(hash_hmac('sha256', $customKey , $secret));
$myIdentifier = 'YOUR_GIVEN_IDENTIFIER';
if($status == "success" && $signature == $mySignature && $identifier == $myIdentifier){
//your operation logic
}
?>