ارسال دیتا
شما می بایست پارامترهای موجود در جدول زیر را با توجه به نوع داده ها و نام فیلد به وسیله متد
POST به آدرس مشخص شده ارسال نمایید.
به این نکته توجه داشته باشید که درگاه اسپانسر یک مرحله ای بوده و در صورت صحیح بودن اطلاعات و
معتبر بودن توکن پرداخت انجام شده و کد راهگیری بازگشت داده میشود.
نکته: تمامی داده های بازگشتی به صورت json میباشد.
پارامتر:
فیلد | نوع | توضیحات |
---|---|---|
apiKey | String | API Key دریافتی از پنل کاربری شما که بعد از تایید درخواست درگاه صادر میشود. |
token | String | توکن دریافتی از کاربر |
amount | Integer | مبلغ تراکنش به تومان و بزرگتر یا مساوی 100 |
description | String | توضیحات (حداکثر 250 کاراکتر) |
mobile | String | شماره موبایل (اختیاری) |
factorNumber | String | شماره فاکتور شما (اختیاری) |
HTTP 200 OK { "status" : 1, "amount" : مبلغ تراکنش, "token" : توکن, "transId" : شماره تراکنش, "description" : توضیحات, "mobile" : شماره موبایل, "factorNumber" : شماره فاکتور شما, "message" : OK }
HTTP 422 Error { "status" : 0, "errorCode" : کد خطا, "errorMessage" : متن پیغام خطا }
کد خطا | توضیح علت خطا |
---|---|
-1 | ارسال api الزامی می باشد. |
-2 | ارسال token الزامی می باشد. |
-3 | مبلغ اجباری است و باید بزرگتر یا مساوی 100 باشد. |
-4 | توضیحات اجباری است. |
-5 | api ارسالی یافت نشد و یا غیر فعال می باشد. |
-6 | token ارسالی معتبر نمیباشد و یا منقضی شده است. |
-7 | token مبلغ توکن با مبلغ ارسالی برابر نمیباشد. |
-100 | تراکنش با خطا مواجه شده است. |
راهنمای API آزمایشی
جهت تست درگاه در لوکال و بدون نیاز به API Key عملیاتی فقط کافیست بعد از پیاده سازی وب سرویس
درگاه پرداخت، مقدار فیلد api را برابر با عبارت test قرار دهید.
نکته: transId بازگشتی در حالت API آزمایشی صرفا جهت تست بوده و فاقد اعتبار است.
در وضعیت تست جهت انجام تراکنش صحیح و خطا کافیست از مقادیر جدول زیر برای token ارسالی استفاده نمایید:
مقدار توکن | مقدار بازگشتی |
---|---|
true | انجام تست صحت اطلاعت ارسالی و انجام صحیح فرآیند پرداخت |
false | انجام تست غلط بودن اطلاعات ارسالی و بروز خطا در فرآیند پرداخت (در این حالت کد خطای -6 بازگشت داده میشود.) |
نمونه کد PHP
<?php include_once("functions.php"); $apiKey = 'YOUR-API-KEY'; $amount = "مبلغ به تومان (بزرگتر یا مساوی 100)"; $token = "توکن دریافتی از کاربر"; $description = "توضیحات"; $mobile = "شماره موبایل (اختیاری)"; $factorNumber = " شماره فاکتور شما (اختیاری)"; $result = payment($apiKey, $amount, $token, $description, $mobile, $factorNumber); $result = json_decode($result); if ($result->status) { echo $result->message; } else { echo $result->errorMessage; }
<?php function payment($apiKey, $amount, $token, $description, $mobile = null, $factorNumber = null) { return curl_post('https://spanser.ir/api/gateway', [ 'apiKey' => $apiKey, 'amount' => $amount, 'token' => $token, 'description' => $description, 'mobile' => $mobile, 'factorNumber' => $factorNumber, ]); } function curl_post($url, $params) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params)); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', ]); $res = curl_exec($ch); curl_close($ch); return $res; }