الاسترداد
أعِد للعميل كامل مبلغ عملية دفع ناجحة أو جزءًا منه.
يمكنك استرداد أي عملية دفع حالتها 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 حتى الآن؛ تابعها من لوحة التحكم.