الاسترداد

أعِد للعميل كامل مبلغ عملية دفع ناجحة أو جزءًا منه.

يمكنك استرداد أي عملية دفع حالتها succeeded، كاملةً أو على عدة دفعات جزئية، حتى يُسترد المبلغ كله. يعود المبلغ إلى وسيلة الدفع التي استخدمها العميل.

إنشاء استرداد

POST /v1/payments/:id/refunds

المعاملالنوعمطلوبالوصف
amountعدد صحيحلاالمبلغ المراد استرداده بالوحدات الصغرى. لا ترسله لاسترداد كل ما لم يُسترد بعد.
reasonنصلاrequested_by_customer (الافتراضي) أو duplicate أو fraudulent أو other.

أرسل جسم JSON مع الترويسة Content-Type: application/json. الكائن الفارغ ({}) يسترد كل ما لم يُسترد بعد، وطلب POST بلا جسم إطلاقًا يُعامَل بالطريقة نفسها.

استرداد كامل

curl https://api.teyra.co/v1/payments/pay_01JBX4T9W2/refunds \
  -H "Authorization: Bearer $TEYRA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: refund-order-1042" \
  -d '{}'

استرداد جزئي

استرداد 5.000 د.ك من عملية دفع قيمتها 12.500 د.ك:

curl https://api.teyra.co/v1/payments/pay_01JBX4T9W2/refunds \
  -H "Authorization: Bearer $TEYRA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: refund-order-1042-item-3" \
  -d '{ "amount": 5000, "reason": "requested_by_customer" }'

الاستجابة 201 Created مع كائن Refund. تزيد قيمة amount_refunded في عملية الدفع بمقدار المبلغ المسترد، وتبقى status بالقيمة succeeded.

كائن Refund

{
  "id": "re_01JBX6M1QK",
  "object": "refund",
  "livemode": false,
  "payment_id": "pay_01JBX4T9W2",
  "amount": 5000,
  "currency": "KWD",
  "status": "pending",
  "reason": "requested_by_customer",
  "created_at": "2026-10-29T09:12:00.000Z",
  "succeeded_at": null,
  "failure_message": null
}
الحالةالمعنى
pendingتم قبوله وقيد المعالجة.
succeededالمبلغ في طريقه إلى العميل. يُرسل إشعار refund.succeeded.
failedتعذّر إتمام الاسترداد. راجع failure_message. يُرسل إشعار refund.failed، ويمكن استرداد المبلغ مجددًا.
canceledأُلغي الاسترداد قبل اكتماله.

تعتمد المدة التي يظهر فيها المبلغ في كشف حساب العميل على بنكه ووسيلة الدفع.

يُخصم المبلغ المسترد من رصيدك، ولا تُعاد عمولة تيرا باي على عملية الدفع الأصلية. وفي بعض الحسابات يجب أن تنتهي مبالغ الاسترداد الجزئي بالعملات ذات المنازل الثلاث (KWD وBHD وOMR وJOD) بصفر، مثل مبالغ الدفع: راجع وسائل الدفع وحسابك.

القواعد والأخطاء

الحالةالخطأ
عملية الدفع ليست succeeded (مثل failed أو expired)422 payment_not_refundable
amount أكبر من amount ناقص amount_refunded، أو لم يتبقَّ شيء للاسترداد422 refund_exceeds_amount (تحمل details.remaining المبلغ المتبقي)
amount صفر أو سالب أو ليس عددًا صحيحًا، أو reason ليست إحدى القيم أعلاه422 validation_error
عملية الدفع غير موجودة (أو تخص الوضع الآخر)404 payment_not_found

جلب الاستردادات وعرضها

curl https://api.teyra.co/v1/refunds/re_01JBX6M1QK \
  -H "Authorization: Bearer $TEYRA_SECRET_KEY"

curl -G https://api.teyra.co/v1/refunds \
  -H "Authorization: Bearer $TEYRA_SECRET_KEY" \
  -d payment_id=pay_01JBX4T9W2

معرّف الاسترداد غير الموجود يعيد 404 refund_not_found.

يمكنك أيضًا الاسترداد من لوحة التحكم: افتح عملية الدفع واضغط استرداد.

الاعتراضات

الاعتراض (أو استرجاع المبلغ، Chargeback) هو أن يطلب حامل البطاقة من بنكه عكس عملية دفع بالبطاقة أو Apple Pay أو Google Pay، مثلًا لأنه لا يتعرّف عليها أو يقول إن الطلب لم يصله. وهو ليس استردادًا بدأته أنت: بنك حامل البطاقة يفتحه، وشبكة البطاقات تقرّر النتيجة.

يعتمد ظهور الاعتراضات في لوحة التحكم على حسابك. وفي الحسابات التي تظهر فيها، ومنها الحسابات الإماراتية:

  • يتلقى كل مالك للحساب رسالة "تم الاعتراض على دفعة" فيها المبلغ المعترض عليه ومعرّف الدفعة وreference الخاص بك والسبب وآخر موعد للرد.
  • تعرض الاستردادات ← الاعتراضات في لوحة التحكم كل اعتراض بمبلغه وسببه وآخر موعد للرد وحالته، ويعرض السجل الزمني للدفعة وقت فتحه وكل تحديث وكيف أُغلق.
  • يُحجز المبلغ المعترض عليه حتى يُبتّ في الاعتراض. وتبقى status لعملية الدفع succeeded ولا تتغير amount_refunded.
حالة الاعتراضالمعنى
needs_responseفُتح الاعتراض. أرسل أدلتك قبل آخر موعد للرد.
under_reviewأُرسلت الأدلة، وبنك حامل البطاقة يقرّر.
wonحُسم لصالحك. يُفرج عن المبلغ المحجوز لك.
lostحُسم لصالح حامل البطاقة. يُسترد المبلغ المعترض عليه من رصيدك.
closedأُغلق دون حسم بالربح أو الخسارة، مثلًا إذا سحبه حامل البطاقة.

وفي الحسابات الأخرى يتواصل معك فريق دعم تيرا باي عند الاعتراض على إحدى مدفوعاتك.

ما تفعله:

  • أجب قبل آخر موعد للرد. راسل support@teyra.co مع ما يثبت الطلب: الفاتورة، وإثبات التسليم أو تقديم الخدمة، ومراسلاتك مع العميل. وتقدّمها تيرا باي إلى شبكة البطاقات نيابةً عنك.
  • لا تسترد عملية دفع عليها اعتراض. فإذا كسب حامل البطاقة الاعتراض أيضًا، يُعاد إليه المبلغ مرتين.
  • قلّل الاعتراضات: استخدم description واضحًا (يظهر في صفحة الدفع)، واسمًا تجاريًا يعرفه عملاؤك، واسترد المبلغ بسرعة عندما يطلب العميل ذلك.

الاعتراضات غير متاحة في واجهة /v1 ولا تُرسل أحداث Webhook حتى الآن؛ تابعها من لوحة التحكم.