إنشاء فاتورة
/invoicesيعيد 201 مع فاتورة جديدة، أو 200 مع الفاتورة الموجودة إذا استُخدم order_id سابقاً.
| الحقل | الوصف |
|---|---|
amountstring · مطلوب | المبلغ بالدولار من 1 إلى 100000. |
order_idstring · مطلوب | رقم الطلب الفريد عندك. أحرف وأرقام و _ - : . فقط، حتى 100 حرف. |
descriptionstring · اختياري | يظهر للعميل في صفحة الدفع. |
customer_refstring · اختياري | رقم العميل عندك، مثل tg:55123. |
customer_emailstring · اختياري | بريد العميل للإيصالات. |
return_urlurl · اختياري | وجهة زر «العودة للمتجر» بعد الدفع. |
methodstring · اختياري | حدد العملة مسبقاً وتخطَّ شاشة الاختيار، مثل usdt_trc20. راجع /currencies. |
metadataobject · اختياري | حتى 20 زوج مفتاح/قيمة لاستخدامك. |
curl -X POST https://scarabpay.com/pay/api/v1/invoices \
-H "Authorization: Bearer $SCARABPAY_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "20.00",
"order_id": "order-1001",
"description": "Gold plan",
"customer_ref": "tg:55123",
"return_url": "https://your-site.com/thanks"
}'
$ch = curl_init('https://scarabpay.com/pay/api/v1/invoices');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('SCARABPAY_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'amount' => '20.00',
'order_id' => 'order-1001',
'description' => 'Gold plan',
]),
]);
$invoice = json_decode(curl_exec($ch), true)['data'];
header('Location: ' . $invoice['checkout_url']);
const res = await fetch("https://scarabpay.com/pay/api/v1/invoices", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.SCARABPAY_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ amount: "20.00", order_id: "order-1001" }),
});
const { data } = await res.json();
// redirect the customer to data.checkout_url
import os, requests
r = requests.post(
"https://scarabpay.com/pay/api/v1/invoices",
headers={"Authorization": f"Bearer {os.environ['SCARABPAY_KEY']}"},
json={"amount": "20.00", "order_id": "order-1001", "customer_ref": "tg:55123"},
timeout=15,
)
invoice = r.json()["data"]
# Telegram bot: send invoice["checkout_url"] as a URL button
{
"data": {
"id": "inv_8f2k1m0q7x3c9v5b4n6z",
"order_id": "order-1001",
"status": "pending",
"amount": "20.00",
"currency": "USD",
"paid_amount": "0.00",
"description": "Gold plan",
"customer_ref": "tg:55123",
"method": null,
"coin": null,
"network": null,
"address": null,
"coin_amount": null,
"checkout_url": "https://scarabpay.com/pay/i/inv_8f2k1m0q7x3c9v5b4n6z",
"sandbox": false,
"expires_at": "2026-10-19T12:30:00+00:00",
"paid_at": null,
"created_at": "2026-10-19T12:00:00+00:00"
}
}