راهنمای توسعهدهندگان
مستندات پیشرفته API
نمونههای کامل اتصال برای PHP، Python و Java، ساخت فاکتور، مدیریت Secret، Callback و وضعیت تراکنش.
ایجاد فاکتور
POST https://pay.msersr.ir/api/create-payment.phpهدر: Content-Type: application/json و X-API-Key: SECRET
{"order_id":"order-1001","amount":10000,"description":"سفارش آزمایشی","callback_url":"https://shop.example.com/payment/callback"}پاسخ شامل payment_url با قالب زیر است:
https://pay.msersr.ir/port/pay.php?tokin=TOKENنمونه PHP
$payload = [
"order_id" => "order-1001",
"amount" => 10000,
"description" => "سفارش آزمایشی",
"callback_url" => "https://shop.example.com/payment/callback"
];
$ch = curl_init("https://pay.msersr.ir/api/create-payment.php");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: " . getenv("PAY_SECRET")
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10
]);
echo curl_exec($ch);
curl_close($ch);Python
import os, requests
response = requests.post(
"https://pay.msersr.ir/api/create-payment.php",
headers={"X-API-Key": os.environ["PAY_SECRET"]},
json={"order_id":"order-1001","amount":10000,
"description":"Test order",
"callback_url":"https://shop.example.com/payment/callback"},
timeout=10
)
print(response.status_code, response.json())Java 11+
import java.net.URI;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
public class CreatePayment {
public static void main(String[] args) throws Exception {
String key = System.getenv("PAY_SECRET");
String body = "{\"order_id\":\"order-1001\",\"amount\":10000,\"description\":\"Test order\",\"callback_url\":\"https://shop.example.com/payment/callback\"}";
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://pay.msersr.ir/api/create-payment.php"))
.header("Content-Type","application/json")
.header("X-API-Key",key)
.POST(HttpRequest.BodyPublishers.ofString(body, StandardCharsets.UTF_8))
.build();
HttpResponse res = HttpClient.newHttpClient().send(req,HttpResponse.BodyHandlers.ofString());
System.out.println(res.statusCode()+" "+res.body());
}
} نمونهها فقط درخواست فاکتور را میسازند. تا وقتی ارائهدهنده پرداخت واقعی متصل نشده، پرداخت موفق یا Callback موفق صادر نمیشود.