روابط الدفع
روابط قابلة للمشاركة يدفع بها العملاء مبلغًا محددًا، تُنشأ من لوحة التحكم أو من الـ API دون أي برمجة لصفحة الدفع.
رابط الدفع هو عنوان URL ترسله عبر واتساب أو الرسائل النصية أو البريد الإلكتروني أو وسائل التواصل، أو تطبعه كرمز QR. عندما يفتحه العميل يرى المبلغ والوصف واسم نشاطك التجاري، ثم يدفع في صفحة دفع تيرا باي.
روابط الدفع مثالية للفواتير والعربون والاستشارات والتبرعات والبيع عبر وسائل التواصل دون موقع إلكتروني.
كيف يعمل
- تنشئ رابطًا بمبلغ وعملة ووصف.
- تشارك قيمة
urlالخاصة به، مثلhttps://api.teyra.co/l/Xk29aQ. - يفتح العميل الرابط ويضغط ادفع. تنشئ تيرا باي عملية دفع تكون فيها
channelبالقيمةpayment_linkوpayment_link_idبمعرّف الرابط، ثم تفتح صفحة الدفع. - تستلم إشعار
payment.succeededالمعتاد لتلك العملية. لا تحمل مدفوعات الروابطreturn_url، فبعد الدفع يرى العميل صفحة النتيجة في تيرا باي.
يمكن دفع الرابط عدة مرات (مثل خدمة بسعر ثابت) أو مرة واحدة فقط باستخدام single_use.
فواتير لعميل واحد
لمبلغ مستحق على عميل واحد، أنشئ فاتورة من الفواتير ← إنشاء فاتورة بدلًا من الرابط. الفاتورة عملية دفع واحدة ببيانات العميل. وعندما تُدخل بريد العميل ترسل تيرا باي الفاتورة إليه مع زر ادفع الآن، ويصله إيصال بعد الدفع. راجع رسائل الفواتير والإيصالات.
إنشاء رابط من لوحة التحكم
افتح روابط الدفع ← رابط جديد، وأدخل المبلغ والعملة والوصف، واختر إن كان الرابط للاستخدام مرة واحدة وإن كانت له مدة صلاحية، ثم اضغط إنشاء. انسخ الرابط أو نزّل رمز QR الخاص به.
إنشاء رابط عبر الـ API
POST /v1/payment-links
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
amount | عدد صحيح | نعم | المبلغ بالوحدات الصغرى. |
currency | نص | نعم | رمز العملة (ISO) مثل KWD. |
description | نص | نعم | ما يدفع العميل مقابله، حتى 500 حرف. يظهر في صفحة الرابط وصفحة الدفع. |
single_use | منطقي | لا | القيمة true تجعل الرابط قابلًا للدفع مرة واحدة فقط، إذ يُعطَّل بعد أول دفعة ناجحة. الافتراضي false. راجع الروابط أحادية الاستخدام. |
expires_at | نص | لا | وقت بصيغة ISO 8601 مع المنطقة الزمنية (مثل Z) يتوقف بعده الرابط عن قبول المدفوعات، ويجب أن يكون في المستقبل. الافتراضي: لا ينتهي. |
curl https://api.teyra.co/v1/payment-links \
-H "Authorization: Bearer $TEYRA_SECRET_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: invoice-2026-118" \
-d '{
"amount": 5000,
"currency": "KWD",
"description": "Consultation",
"single_use": true,
"expires_at": "2026-11-30T21:00:00Z"
}'كائن PaymentLink
{
"id": "plink_01JBX5R7DE",
"object": "payment_link",
"livemode": false,
"url": "https://api.teyra.co/l/Xk29aQ",
"amount": 5000,
"currency": "KWD",
"description": "Consultation",
"single_use": true,
"active": true,
"expires_at": "2026-11-30T21:00:00.000Z",
"payments_count": 3,
"paid_count": 1,
"created_at": "2026-10-28T14:07:00.000Z"
}يحسب payments_count كل عمليات الدفع التي بدأت من الرابط، ويحسب paid_count الناجحة منها فقط.
إدارة الروابط
| الطلب | الغرض |
|---|---|
GET /v1/payment-links | عرض الروابط (بترقيم الصفحات). |
GET /v1/payment-links/:id | جلب رابط واحد. |
POST /v1/payment-links/:id/deactivate | إيقاف قبول المدفوعات. تصبح active بالقيمة false، ولا تتأثر المدفوعات السابقة. |
لمعرفة المدفوعات التي تمت عبر رابط، اعرض المدفوعات وطابق قيمة payment_link_id، أو اقرأها من بيانات الـ Webhook.
الروابط أحادية الاستخدام
يُدفع الرابط أحادي الاستخدام مرة واحدة على الأكثر، حتى لو فتحه عدة أشخاص في الوقت نفسه:
- عندما يبدأ عميل الدفع، تحجز عمليته الرابط. وما دامت هذه العملية ناجحة أو قيد المعالجة أو لا تزال قابلة للدفع (لم تنتهِ صلاحيتها)، يرى كل من يفتح الرابط غيره رسالة "تم استخدام رابط الدفع هذا مسبقاً" بدلًا من صفحة الدفع، دون خصم أي مبلغ منه.
- إذا ألغى العميل الدفع فأصبحت العملية ملغاة، أو انتهت صلاحيتها، يعود الرابط متاحًا من جديد.
- بعد أول دفعة ناجحة يُعطَّل الرابط (تصبح
activeبالقيمةfalse) وتصبح قيمةpaid_countمساوية لـ1.
ما يراه العملاء عند فتح رابط مغلق
| حالة الرابط | الصفحة المعروضة بدل صفحة الدفع |
|---|---|
معطّل أو منتهي الصلاحية (مضى expires_at) | "رابط الدفع هذا لم يعد فعالاً" |
| أحادي الاستخدام ومدفوع مسبقًا، أو يدفعه شخص آخر | "تم استخدام رابط الدفع هذا مسبقاً" (HTTP 409) |
| حسابك موقوف | الرابط غير متاح |