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

وظائف واجهة برمجة تطبيقات استرداد الأموال

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

ينشئ عملية استرداد رسوم تم إنشاؤها بالفعل ولكن لم يتم استردادها بعد. يمكن تحديد المبلغ الذي سيتم استرداده، أو يمكن استرداد مبلغ الرسوم بالكامل من خلال عدم تحديد مبلغ. سيتم إنشاء عملية استرداد الأموال بنفس عملة الرسوم وبنفس طريقة الدفع التي تم بها استرداد الرسوم.

** لا يمكن استرداد رسوم أكثر من مرة واحدة.** إذا حاولت استرداد رسوم تم استردادها بالفعل، فسيتم إرجاع خطأ. سيحدث هذا أيضًا إذا حاولت استرداد أكثر من مبلغ الشحن الأصلي.

نقطة النهاية: https://api.stripe.com/v1/refunds

العملية: POST

أمثلة

cURL Example:

curl -X POST https://api.stripe.com/v1/refunds \
-u <YOUR_SECRET_KEY>: \
-d "charge=ch_1NirD82eZvKYlo2CIvbtLWuY"

الردود

ستُرجع الردود رموزًا قياسية.

200: موافق

{
"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: طلب سيء

{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "عدد صحيح غير صالح: <عدد صحيح>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}

401: غير مصرح به

{
"error": {
"type": "invalid_request_error",
"message": "مفتاح API غير صالح المقدم: sk_test_********************1234"
}
}

المعلمات

معلمات الجسم
المعلمةالنوعالوصف
amountintegerالمبلغ المطلوب رده، بالسنت. إذا لم يتم تحديده، سيتم رد مبلغ الرسوم بالكامل.
chargestring(مطلوب) معرف الرسوم المطلوب ردها.
currencystringرمز عملة ISO المكون من ثلاثة أحرف، بأحرف صغيرة. يجب أن تكون عملة مدعومة. إذا لم يتم تحديدها، سيتم استخدام عملة الرسوم.
expand[]array of stringsيحدد الحقول التي يجب توسيعها في الاستجابة.
customerstringمعرف العميل الذي تنتمي إليه الرسوم.
reasonstringسبب الاسترداد. إذا تم تعيينها، فإن القيم المحتملة هي duplicate، fraudulent، أو requested_by_customer. إذا تم تعيينها على أنها fraudulent، فستتم إضافة البطاقة والبريد الإلكتروني المرتبطين بالرسوم إلى قوائم الحظر الخاصة بك، وسيساعد ذلك في تحسين اكتشاف الاحتيال في Stripe.
payment_intentstringمعرف PaymentIntent لاستردادها.
refund_application_feebooleanيشير إلى ما إذا كان ينبغي استرداد رسوم التطبيق. إذا تم استرداد المبلغ بالكامل، فسيتم استرداد رسوم التطبيق أيضًا. خلاف ذلك، سيتم رد رسوم التطبيق بالتناسب مع المبلغ المسترد. يمكن أن يكون رسم التطبيق هو فقط التطبيق الذي أنشأ الرسوم.
originstringأصل المبلغ المسترد.
reverse_transferbooleanيشير إلى ما إذا كان ينبغي عكس التحويل. يتم عكس التحويل بشكل متناسب مع المبلغ المسترد (استرداد كامل أو جزئي).
instructions_emailstringيستخدم عنوان البريد الإلكتروني للعميل لتعليمات استرداد الأموال عندما يتم استخدام طريقة الدفع بدون دعم استرداد الأموال.

تحديث استرداد الأموال

تحديث المبلغ المسترد المحدد عن طريق تعيين قيم المعلمات التي تم تمريرها. سيتم ترك أي معلمات لم يتم توفيرها دون تغيير. هذا مفيد لتخزين معلومات إضافية حول المبلغ المسترد.

نقطة النهاية: https://api.stripe.com/v1/refunds/{id}

العملية: POST

أمثلة

cURL Example:

curl -X POST `https://api.stripe.com/v1/refunds/{id}` \
-u <YOUR_SECRET_KEY>: \
-d "metadata[order_id]=6735"

الردود

ستُرجع الردود رموزًا قياسية.

200: موافق

{
"id": "re_1Nispe2eZvKYlo2Cd31jOCgZ",
"object": "refund",
"amount": 1000,
"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": {
"order_id": "6735"
},
"payment_intent": "pi_1GszsK2eZvKYlo2CfhZyoZLp",
"reason": null,
"receipt_number": null,
"source_transfer_reversal": null,
"status": "succeeded",
"transfer_reversal": null
}

400: طلب سيء

{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "عدد صحيح غير صالح: <عدد صحيح>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}

401: غير مصرح به

{
"error": {
"type": "invalid_request_error",
"message": "مفتاح API غير صالح المقدم: sk_test_********************1234"
}
}

المعلمات

معلمات الجسم
المعلمةالنوعالوصف
metadataobjectمجموعة من أزواج المفاتيح-القيم التي يمكنك إرفاقها بكائن. يمكن أن يكون هذا مفيدًا لتخزين معلومات إضافية حول الكائن بتنسيق منظم.
expand[]array of stringsيحدد الحقول التي يجب توسيعها في الاستجابة.
متغيرات المسار
الاسمالنوعمطلوبالوصف
idstringمطلوبمعرف المسترد المطلوب تحديثه.

استرداد مبلغ مسترد

استرداد تفاصيل عملية استرداد أموال محددة.

نقطة النهاية: https://api.stripe.com/v1/refunds/{id}

العملية: GET

أمثلة

cURL Example:

curl -X GET https://api.stripe.com/v1/refunds/re_1Nispe2eZvKYlo2Cd31jOCgZ \
-u <YOUR_SECRET_KEY>:

الردود

ستعيد الردود رموزًا قياسية.

200: موافق

{
"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: طلب سيء

{
"error": {
"code": "parameter_invalid_integer",
"doc_url": "https://stripe.com/docs/error-codes/parameter-invalid-integer",
"message": "عدد صحيح غير صالح: <عدد صحيح>",
"param": "amount",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_UQf6XBwBl9yk66?t=1734829676",
"type": "invalid_request_error"
}
}

401: غير مصرح به

{
"error": {
"type": "invalid_request_error",
"message": "مفتاح API غير صالح المقدم: sk_test_********************1234"
}
}

المعلمات

معلمات الاستعلام
المعلمةالنوعالوصف
expand[]array of stringsيحدد الحقول التي يجب توسيعها في الاستجابة.
متغيرات المسار
الاسمالنوعمطلوبالوصف
idstringمطلوبمعرف المسترد المطلوب استرداده.

سرد جميع المبالغ المستردة

إرجاع قائمة بالمبالغ المستردة الحالية. يتم إرجاع المبالغ المستردة بترتيب مرتب، مع ظهور أحدث المبالغ المستردة أولاً. يتم إرجاع أحدث 10 مبالغ مستردة بشكل افتراضي.

نقطة النهاية: https://api.stripe.com/v1/refunds

العملية: GET

أمثلة

cURL Example:

curl -X GET https://api.stripe.com/v1/refunds \
-u <YOUR_SECRET_KEY>:

الردود

ستعيد الردود رموزًا قياسية.

200: موافق

{
"object": "list",
"url": "/v1/refunds",
"has_more": false,
"data": [
{
"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: طلب سيء

{
"error": {
"code": "resource_missing",
"doc_url": "https://stripe.com/docs/error-codes/resource-missing",
"message": "لا يوجد مثل هذه الشحنة: 'ch_1NirD82eZvKYlo2CIvbtLWuY'",
"param": "charge",
"request_log_url": "https://dashboard.stripe.com/test/logs/req_HIH2jWkJGecwCk?t=1754504399",
"type": "invalid_request_error"
}
}

401: غير مصرح به

{
"error": {
"type": "invalid_request_error",
"message": "تم توفير مفتاح API غير صالح: sk_test_********************1234"
}
}

المعلمات

المعلمةالنوعالوصف
chargestringمعرف التكلفة لاسترداد المبالغ المستردة. إذا لم يتم تحديده، سيتم إرجاع جميع المبالغ المستردة.
createddictionaryإرجاع المبالغ المستردة التي تم إنشاؤها فقط خلال فترات التاريخ المحددة. يمكن أن يكون هذا قاموسًا بالمفاتيح التالية: gt، gte، lt، lte.
ending_beforestringمؤشر للاستخدام في ترقيم الصفحات. استخدم معرف الكائن ending_before لتحديد مكانك في القائمة. إذا قمت بإجراء طلب قائمة وتلقيت 100 نتيجة، تبدأ بـ obj_bar، يمكن أن يتضمن استدعاؤك اللاحق ending_before=obj_bar لجلب الصفحة السابقة من القائمة.
limitintegerحد لعدد الكائنات التي سيتم إرجاعها. يمكن أن يتراوح الحد بين 1 و100. الافتراضي هو 10.
payment_intentstringمعرف PaymentIntent لاسترداد المبالغ المستردة. إذا لم يتم تحديده، سيتم إرجاع جميع المبالغ المستردة.
starting_afterstringمؤشر للاستخدام في ترقيم الصفحات. استخدم معرف الكائن starting_after لتحديد مكانك في القائمة. إذا قمت بإجراء طلب قائمة وتلقيت 100 نتيجة، تنتهي بـ obj_foo، يمكن أن يتضمن استدعاؤك اللاحق starting_after=obj_foo لجلب الصفحة التالية من القائمة.
expand[]array of stringsيحدد الحقول التي يجب توسيعها في الاستجابة.