يصف هذا القسم alasafy واجهة برمجة تطبيقات بوابة الدفع
alasafy تُعد واجهة برمجة التطبيقات (API) سهلة الدمج في برنامج عملك. تستخدم واجهتنا روابط منظمة (URLs) بشكل جيد، تقبل طلبات CURL، وتُرجع استجابات بصيغة JSON
يمكنك استخدام واجهة برمجة التطبيقات في وضع الاختبار، والذي لا يؤثر على بياناتك المباشرة. يستخدم مفتاح واجهة برمجة التطبيقات لمصادقة الطلب ويحدد ما إذا كان الطلب صالحا أم لا. بالنسبة لوضع الاختبار، ما عليك سوى استخدام عنوان URL الخاص ب sandbox وفي حالة الوضع المباشر، استخدم عنوان URL المباشر من القسم بدء عملية الدفع .
الخاص بك API يشرح هذا القسم كيفكية الحصول على مفتاح
قم بتسجيل الدخول إلى alasafy حساب التاجر If you don't have any ? اضغط هنا
الخطوة التالية هي العثور على Api مفتاح القائمة في الشريط الجانبي للوحة المعلومات الخاصة بك . انقر فوق القائمة
وهي : API ستجد هناك مفاتيح المفتاح العلني و المفتاح السري API جديد من خلال النقر على زر إنشاء مفتاح API يمكنك في أي وقت إنشاء مفتاح APIاستخدم هذه المفاتيح لبدء طلب API إنشاء مفتاح زر, تذكر عدم مشاركة هذه المفاتيح مع أي شخص
يصف هذا القسم عملية بدء الدفع
API التالية في واجهة (Endpoints) لبدء عملية الدفع , اتبع نموذج الشيفرة بعناية و كن دقيقاً في استخدام المعايير , ستحتاج إلى إرسال الطلب إلى نقاط النهاية
نقطة النهاية للوضع الحقيقي https://alasafy.com/payment/initiate
نقطة النهاية لوضع الاختبار https://alasafy.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://alasafy.com/assets/images/logoIcon/logo.png',
'checkout_theme' => 'dark',
'customer_name' => 'John Doe',
'customer_email' => 'john@mail.com',
];
//live end point
$url = "https://alasafy.com/payment/initiate";
//test end point
$url = "https://alasafy.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 التالية في واجهة (Endpoints) لبدء عملية الدفع , اتبع نموذج الشيفرة بعناية و كن دقيقاً في استخدام المعايير , ستحتاج إلى إرسال الطلب إلى نقاط النهاية
نقطة النهاية رابط إشعار الدفع الفوري الخاص بتطبيق عملك
طريقة الطلب POST
ستحصل على المعايير التالية أدناه
اسم المعايير | وصف |
---|---|
status | حالة نجاح الدفع |
identifier | المعرّف: يستخدم بشكل أساسي لتحديد عملية الدفع من جانبك |
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
}
?>