إنشاء عملية استرداد
تقوم بإصدار استرداد لمبلغ تم تحصيله. يمكنك تحديد مبلغ استرداد مخصص أو تجاهله لإرجاع الرصيد بالكامل. تقوم Stripe بإصدار الاستردادات بالعملة الأصلية وإرسالها مباشرةً إلى وسيلة الدفع الأصلية للعميل.
لا يمكنك استرداد مبلغ يتجاوز الرصيد الأولي. إذا حاولت استرداد مبلغ تم تسويته بالفعل أو تجاوزت المبلغ الإجمالي الأصلي، فستعرض Stripe رسالة خطأ.
POST https://api.stripe.com/v1/refunds
أمثلة
مثال على cURL:
cURL
curl -X POST https://api.stripe.com/v1/refunds \
-u <YOUR_SECRET_KEY>: \
-d "charge=ch_1NirD82eZvKYlo2CIvbtLWuY"
الردود
تُرجع الاستجابات رموزًا قياسية.
200: OK
Response
{
"id": "re_1Nispe2eZvKYlo2Cd31jOCgZ",
"object": "refund",
"amount": 212,
"balance_transaction": "txn_1Nispe2eZvKYlo2CYezqFhEx",
"charge": "ch_1NirD82eZvKYlo2CIvbtLWuY",
"created": 1692942318,
"currency": "usd",
"destination_details": {
"card": {
"reference": "123456789012",
"reference_status": "available",
"reference_type": "acquirer_reference_number",
"type": "refund"
},
"type": "card"
},
"metadata": {},
"payment_intent": "pi_1GszsK2eZvKYlo2CfhZyoZLp",
"reason": null,
"receipt_number": null,
"source_transfer_reversal": null,
"status": "succeeded",
"transfer_reversal": null
}
استجابات الأخطاء
400: Bad Request
Response
{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "Invalid integer: <integer>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}
401: Unauthorized
Response
{
"error": {
"type": "invalid_request_error",
"message": "Invalid API Key provided: sk_test_********************1234"
}
}
المعلمات
معلمات النص الأساسي
| المعلمة | النوع | الوصف |
|---|---|---|
amount | عدد صحيح | مبلغ الاسترداد بالسنتات. إذا تم حذف هذا البند، تقوم Stripe برد المبلغ الكامل. |
charge | سلسلة نصية | (مطلوب) معرّف عملية الدفع المراد استرداد قيمتها. |
currency | سلسلة نصية | رمز العملة ISO المكون من ثلاثة أحرف، بأحرف صغيرة. يجب أن تكون العملة مدعومة. في حالة حذفه، تتبنى Stripe عملة المعاملة الأصلية. |
expand[] | مصفوفة سلاسل نصية | يحدد كائنات الاستجابة المتداخلة لإثرائها وإرجاعها بشكل مضمن. |
customer | سلسلة نصية | معرف العميل الذي تخصه الرسوم. |
reason | سلسلة نصية | سبب الاسترداد. إذا تم تعيينه، فإن القيم الممكنة هي duplicate أو fraudulent أو requested_by_customer. إذا تم تعيينه على fraudulent، فإن Stripe تضيف البطاقة والبريد الإلكتروني المرتبطين إلى قوائم الحظر الخاصة بك. وهذا يساعد في تحسين الكشف عن الاحتيال. |
payment_intent | سلسلة نصية | معرف PaymentIntent المراد استرداد قيمته. |
refund_application_fee | قيمة منطقية | تحدد ما إذا كانت Stripe ستعيد رصيد رسوم المنصة إلى الحساب أم لا. في حالة الاستردادات الكاملة، تعيد Stripe الرسوم بالكامل. أما في حالة الاستردادات الجزئية، فتقوم Stripe بإعادة الحساب وإعادة المبلغ النسبي. ولا تنطبق رسوم المنصة إلا على المنصة التي أنشأت عملية الدفع. |
origin | سلسلة نصية | مصدر عملية الاسترداد. |
reverse_transfer | قيمة منطقية | تحدد ما إذا كانت Stripe ستسترد الأموال المحولة من الحساب المرتبط. تقوم Stripe بإلغاء التحويلات المرتبطة بما يتناسب مع مبلغ الاسترداد (استرداد كامل أو جزئي). |
instructions_email | سلسلة نصية | تُرسل تعليمات الدفع اليدوي إلى عنوان البريد الإلكتروني هذا إذا كانت طريقة الدفع الخاصة بالعميل لا تدعم عمليات الاسترداد بشكل أصلي. |