إنتقل إلى المحتوى الرئيسي

إنشاء عملية استرداد

تقوم بإصدار استرداد لمبلغ تم تحصيله. يمكنك تحديد مبلغ استرداد مخصص أو تجاهله لإرجاع الرصيد بالكامل. تقوم 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سلسلة نصيةتُرسل تعليمات الدفع اليدوي إلى عنوان البريد الإلكتروني هذا إذا كانت طريقة الدفع الخاصة بالعميل لا تدعم عمليات الاسترداد بشكل أصلي.