راهنمای اتصال به درگاه پرداخت اینترنتی اسپانسر
ارسال دیتا

شما می بایست پارامترهای موجود در جدول زیر را با توجه به نوع داده ها و نام فیلد به وسیله متد POST به آدرس مشخص شده ارسال نمایید.
به این نکته توجه داشته باشید که درگاه اسپانسر یک مرحله ای بوده و در صورت صحیح بودن اطلاعات و معتبر بودن توکن پرداخت انجام شده و کد راهگیری بازگشت داده میشود.
نکته: تمامی داده های بازگشتی به صورت json می‌باشد.

https://spanser.ir/api/gateway
پارامتر:
فیلد نوع توضیحات
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 آزمایشی صرفا جهت تست بوده و فاقد اعتبار است.

apiKey=test

در وضعیت تست جهت انجام تراکنش صحیح و خطا کافیست از مقادیر جدول زیر برای 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;
}