پرش به محتویات

مستندات فنی ورژن دوم سرویس ضمانت خرید و پرداخت اقساطی

مستند زیر نحوه‌ی استفاده از APIها برای پیاده سازی سرویس ضمانت خرید و پرداخت اقساطی را توضیح می‌دهد. جهت پیاده سازی سرویس ضمانت خرید سما و فروش اقساطی برات، مشابه درگاه پرداخت بانکی، یک API برای درخواست ایجاد پرداخت و دیگری برای تایید پرداخت فراخوانی می شود.

دریافت توکن دسترسی به وب سرویس

جهت دسترسی به سرویس، فروشگاه نیازمند توکن احراز هویت (merchant_id) می‌باشد که بعد از ثبت درخواست فعالسازی درگاه، از اپ سما دریافت می‌کند.

بررسی صحت توکن و اتصال به وب سرویس

جهت بررسی صحت توکن می‌توان از API زیر استفاده کرد:

POST /api/pg/v2/payment/health.json/

نمونه کد درخواست

curl --request POST 'https://app.sama.ir/api/pg/v2/payment/health.json/' \
--header 'Content-Type: application/json'
--data-raw '{
    "merchant_id": "GXyXvV72.woCX6cvclOvIvFB0KkR5OUbLMadMlIqg"
}'
<?php

// 1. Example using curl:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://app.sama.ir/api/pg/v2/payment/health.json/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"merchant_id": "GXyXvV72.woCX6cvclOvIvFB0KkR5OUbLMadMlIqg"}');

$response = curl_exec($ch);

curl_close($ch);

// 2. Example using Guzzle:

require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client();

$response = $client->post( 'https://app.sama.ir/api/pg/v2/payment/health.json/', [
    'headers' => [
        'Content-Type'  => 'application/json'
    ]
    'json' => [
        'merchant_id' => 'GXyXvV72.woCX6cvclOvIvFB0KkR5OUbLMadMlIqg'
    ]
]);

هدرهای درخواست

Content-Type: application/json

پاسخ دریافتی از API:

بدنه پاسخ

Status code: 200
{
    "data": {
        "is_valid": true
    },
    "errors": []
}
Field Type Description
is_valid boolean وضعیت توکن

خطاها

خطای زیر به این معنی است که توکن احراز هویت شما دیگر اعتبار ندارد.

status_code=401
{
    "data": [],
    "errors": {
        "code": "not_authenticated",
        "message": "Authentication credentials were not provided.",
        "validations": []
    }
}