ردّ جزء من المعاملة التي تمّ بدؤها من خلال capture
أو كاملها. إنّ الجمع بين requestId
في العنوان وpaymentIntegratorAccountId
هو مفتاح تحديد الهوية الذي يعرّف هذه المعاملة بشكل فريد.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، يجب أن يكون نص الاستجابة من نقطة النهاية هذه من النوع
.ErrorResponse
إليك مثال على الطلب:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
يبدو الرد كمثال:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
طلب HTTP
POST https://www.integratorhost.example.com/v1/refund
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
تمثيل JSON |
---|
{
"requestHeader": {
object ( |
الحقول | |
---|---|
requestHeader |
مطلوب: عنوان مشترك لجميع الطلبات. |
paymentIntegratorAccountId |
مطلوب: يشير إلى رقم تعريف حساب جهة تكامل الدفعات الذي يحدد القيود التعاقدية المتعلّقة بهذه المعاملة. |
captureRequestId |
مطلوبة: معرّف فريد لهذه المعاملة هذا هو |
currencyCode |
مطلوب: رمز العملة المكوَّن من 3 أحرف وفقًا لمعيار ISO 4217 |
refundAmount |
مطلوب: مبلغ الأموال المردودة، وهو عدد موجب من المبالغ الصغيرة لوحدة العملة. |
نص الاستجابة
عنصر الردّ الخاص بطريقة ردّ الأموال
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
تمثيل JSON |
---|
{ "responseHeader": { object ( |
الحقول | |
---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
paymentIntegratorRefundId |
اختياري: هذا المعرّف خاص بشركة الدمج ويتمّ إنشاؤه بواسطة الشركة المدمَجة. هذا هو المعرّف الذي تعرف شركة الدمج عملية ردّ الأموال هذه من خلاله. ولتسهيل الأمر، يتم تضمين هذا المعرّف في تفاصيل الحوالة المالية. |
result |
مطلوب: نتيجة عملية ردّ الأموال هذه. |
rawResult |
OPTIONAL: النتيجة الأولية لعملية ردّ الأموال هذه. تُستخدَم هذه السمة للمساعدة في إعلام محرّك بحث Google بشأن المخاطر والتحليلات. في حالات ربط الرموز البرمجية والرفض، يتم فقدان البيانات أحيانًا. يمكن أن تختار شركة الدمج منح Google رمزًا أوليًا. على سبيل المثال، يمكن لبوابة بطاقة الائتمان (شركة الدمج) استخدام هذا الحقل لإبلاغ Google برمز الرفض الذي تم استلامه من شبكة VISA. في هذه الحالة، ستكون القيمة هذه القيمة مطلوبة إذا لم تكن قيمة السمة |
RefundResultCode
يتم ردّ رموز النتائج الفريدة.
عمليات التعداد | |
---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية على الإطلاق. |
SUCCESS |
تم ردّ الأموال بنجاح. |
NO_MONEY_LEFT_ON_TRANSACTION |
تعذّر تنفيذ الإجراء v1.refund، لم يتبق أي مبلغ مالي للمعاملة. يمثّل ذلك عادةً خطأً بين شركة الدمج وGoogle. يجب ألا تطلب Google رد مبلغ أكبر من المبلغ الذي تم التقاطه الأصلي. |
ACCOUNT_CLOSED |
تم إغلاق الحساب الخاص بشركة الدمج. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
تم إغلاق حساب المستخدم لدى جهة الدمج، ويُشتبه في الاستيلاء على الحساب. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |
ACCOUNT_CLOSED_FRAUD |
تم إغلاق حساب المستخدم التابع لجهة الدمج بسبب عملية احتيال. سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى. |
ACCOUNT_ON_HOLD |
حساب المستخدم معلّق حاليًا ولا يمكنه قبول ردّ الأموال، ولكن قد يتمكّن حساب المستخدم من قبول عملية ردّ الأموال في وقت لاحق. ويمكن أن تطلب Google ردّ أموال أخرى في المستقبل، ولكنّها ستنفّذ ذلك باستخدام requestId جديد، لذا يُعتبَر هذا الطلب مكتملاً. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
لا يمكن معالجة عملية ردّ الأموال في الوقت الحالي، لأنّ ذلك سيؤدي إلى تجاوز رصيد المستخدم للحد الأقصى المسموح به. ويمكن أن تطلب Google ردّ أموال أخرى في المستقبل، ولكنّها ستنفّذ ذلك باستخدام requestId جديد، لذا يُعتبَر هذا الطلب مكتملاً. |
REFUND_WINDOW_EXCEEDED |
لا يمكن معالجة عملية ردّ الأموال لأنّ الطلب خارج الفترة المسموح بها لردّ الأموال. |