روابط الدفع

روابط قابلة للمشاركة يدفع بها العملاء مبلغًا محددًا، تُنشأ من لوحة التحكم أو من الـ API دون أي برمجة لصفحة الدفع.

رابط الدفع هو عنوان URL ترسله عبر واتساب أو الرسائل النصية أو البريد الإلكتروني أو وسائل التواصل، أو تطبعه كرمز QR. عندما يفتحه العميل يرى المبلغ والوصف واسم نشاطك التجاري، ثم يدفع في صفحة دفع تيرا باي.

روابط الدفع مثالية للفواتير والعربون والاستشارات والتبرعات والبيع عبر وسائل التواصل دون موقع إلكتروني.

كيف يعمل

  1. تنشئ رابطًا بمبلغ وعملة ووصف.
  2. تشارك قيمة url الخاصة به، مثل https://api.teyra.co/l/Xk29aQ.
  3. يفتح العميل الرابط ويضغط ادفع. تنشئ تيرا باي عملية دفع تكون فيها channel بالقيمة payment_link وpayment_link_id بمعرّف الرابط، ثم تفتح صفحة الدفع.
  4. تستلم إشعار 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"
  }'
{
  "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)
حسابك موقوفالرابط غير متاح