#ایجاد تراکنش
جهت استفاده تستی از وب سرویس میتوانید از پین sandbox
استفاده نمایید.
# مرحله اول : ارسال پارامتر
وب سرویس بر پایه ی POST می باشد.
آدرس وب سرویس
method: Post
URL: https://panel.aqayepardakht.ir/api/v2/create
از این وب سرویس برای ایجاد کد تراکنش استفاده می شود.
پارامتر های ورودی
نام پارامتر | اجباری / اختیاری | توضیحات |
---|---|---|
pin | اجباری | کد پین درگاه |
amount | اجباری | مبلغ تراکنش [ تومان ] بین 1,000 تا 200,000,000 تومان |
callback | اجباری | آدرس برگشت [ نتیجه پرداخت به این آدرس ارسال می شود ] |
card_number | اختیاری | شماره کارت مجاز به پرداخت |
invoice_id | اختیاری | شماره فاکتور |
mobile | اختیاری | ذخیره شماره کارت در درگاه برای پرداخت های بعدی |
اختیاری | ایمیل پرداخت کننده | |
description | اختیاری | توضیحات |
بعد از ارسال مقادیر بالا با متد POST خروجی به صورت زیر خواهد بود.
پاسخ دریافتی در صورت صحت اطلاعات ارسالی
HTTP/1.1 200 OK
{
"status" : "success",
"transid" : "TransId"
}
پاسخ دریافتی در صورت بروز خطا
HTTP/1.1 422 Error
{
"status" : "error",
"code" : "error code"
}
# مرحله دوم : انتقال کاربر به صفحه پرداخت
در صورتی که اطلاعات به صورت صحیح ارسال شود , کد تراکنش در پاسخ این وب سرویس دریافت می شود . بعد از آن نیاز است تا جهت انجام عملیات پرداخت , کاربر را به همراه کد تراکنش دریافت شده به مسیر زیر هدایت نمایید.
method: Get
URL: https://panel.aqayepardakht.ir/startpay/
{transid}
* درصورت استفاده از sandbox برای انتقال به صفحه پرداخت باید از آدرس زیر استفاده کنید.
method: Get
URL: https://panel.aqayepardakht.ir/startpay/sandbox/
{transid}
# مرحله سوم : بازگشت به سایت پذیرنده
درهنگام خروج کاربر از بانک و منتقل شدن به آدرس callback پارامتر های زیر به آدرس callback POST میشود.
پارامتر هایی که به آدرس callback شما POST میشود.
نام پارامتر | توضیحات |
---|---|
transid | کد تراکنش |
cardnumber | شماره کارت پرداخت کننده که درصورت موفق بودن تراکنش دریافت میکنید. |
tracking_number | شماره تراکنش |
invoice_id | شماره فاکتور ارسال شده در هنگام درخواست ایجاد تراکنش (در صورت ارسال) |
bank | نام بانک پرداخت |
status | وضعیت تراکنش که در صورت موفق بودن تراکنش 1، در غیر اینصورت 0 میباشد. |
نکته
جهت جلوگیری از درخواست اضافه برای وریفای تراکنش، میتوانید از پارامتر status استفاده کنید که درصورت ناموفق بودن تراکنش دیگر درخواست وریفای تراکنش را ارسال نکنید.
# مرحله چهارم : وریفای تراکنش
آدرس وب سرویس
method: Post
URL: https://panel.aqayepardakht.ir/api/v2/verify
پارامتر های ورودی
نام پارامتر | اجباری / اختیاری | توضیحات |
---|---|---|
pin | اجباری | کد پین درگاه |
amount | اجباری | مبلغ تراکنش [ تومان ] بین 1,000 تا 200,000,000 تومان |
transid | اجباری | کد تراکنش دریافت شده [ transid ] |
بعد از ارسال مقادیر بالا با متد POST خروجی به صورت زیر خواهد بود.
پاسخ دریافتی در صورت صحت اطلاعات ارسالی
HTTP/1.1 200 OK
{
"status" : "success",
"code" : "1"
}
پاسخ دریافتی در صورت بروز خطا
HTTP/1.1 422 Error
{
"status" : "error",
"code" : "error code"
}
# کد های خطا
وضعیت | کد | توضیحات |
---|---|---|
error | 0 | پرداخت انجام نشد |
success | 1 | پرداخت با موفقیت انجام شد |
error | 2 | تراکنش قبلا وریفای و پرداخت شده است |
{
'-1':'amount نمی تواند خالی باشد',
'-2':'کد پین درگاه نمی تواند خالی باشد',
'-3':'callback نمی تواند خالی باشد',
'-4':'amount باید عددی باشد',
'-5':'amount باید بین 1,000 تا 200,000,000 تومان باشد',
'-6':'کد پین درگاه اشتباه هست',
'-7':'transid نمی تواند خالی باشد',
'-8':'تراکنش مورد نظر وجود ندارد',
'-9':'کد پین درگاه با درگاه تراکنش مطابقت ندارد',
'-10':'مبلغ با مبلغ تراکنش مطابقت ندارد',
'-11':'درگاه درانتظار تایید و یا غیر فعال است',
'-12':'امکان ارسال درخواست برای این پذیرنده وجود ندارد',
'-13':'شماره کارت باید 16 رقم چسبیده بهم باشد',
'-14':'درگاه برروی سایت دیگری درحال استفاده است'
}
کد | توضیحات |
---|---|
1- | amount نمی تواند خالی باشد |
2- | کد پین درگاه نمی تواند خالی باشد |
3- | callback نمی تواند خالی باشد |
4- | amount باید عددی باشد |
5- | amount باید بین 1,000 تا 200,000,000 تومان باشد |
6- | کد پین درگاه اشتباه هست |
7- | transid نمی تواند خالی باشد |
8- | تراکنش مورد نظر وجود ندارد |
9- | کد پین درگاه با درگاه تراکنش مطابقت ندارد |
10- | مبلغ با مبلغ تراکنش مطابقت ندارد |
11- | درگاه درانتظار تایید و یا غیر فعال است |
12- | امکان ارسال درخواست برای این پذیرنده وجود ندارد |
13- | شماره کارت باید 16 رقم چسبیده بهم باشد |
14- | درگاه برروی سایت دیگری درحال استفاده است |
نمونه کد PHP
<?php // Send Parameter $data = [ 'pin' => 'Gateway Pin', 'amount' => 20000, 'callback' => 'https://mysite.com/verify.php', 'card_number' => '1111222233334444', 'mobile' => '09123456789', 'email' => 'test@test.com', 'invoice_id' => '123456', 'description' => 'Description' ]; $data = json_encode($data); $ch = curl_init('https://panel.aqayepardakht.ir/api/v2/create'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data)) ); $result = curl_exec($ch); curl_close($ch); $result = json_decode($result); if ($result->status == "success") { header('Location: https://panel.aqayepardakht.ir/startpay/' . $result->transid); } else { echo "خطا"; } // verify Transaction $data = [ 'pin' => 'Gateway Pin', 'amount' => 20000, 'transid' => $_POST['transid'] ]; $data = json_encode($data); $ch = curl_init('https://panel.aqayepardakht.ir/api/v2/verify'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data)) ); $result = curl_exec($ch); curl_close($ch); $result = json_decode($result); if ($result->code == "1") { // تراکنش موفق } else { // تراکنش ناموفق }