يمكنك إشعار Google بنتيجة عملية ردّ الأموال بعد إجراء استدعاء لطريقة refund.
يجب معالجة عمليات ردّ الأموال بشكل متزامن أثناء طلب طريقة refund، إلا أنّ هذه الطريقة تزوّد Google بإشارة احتياطية سريعة في حال تعذُّر الاتصال المتزامن بعد تنفيذ الإجراء، ولكن قبل أن يتم عرض نتيجة. يؤدي ذلك إلى تجنُّب التأخير الذي بسبب جدولة Google لإعادة المحاولة لوقت لاحق.
قيمة refundResult ثابتة لـ refundRequestId هذه، لذا لا يمكن تغيير قيمتها عن طريق استدعاء لاحق لهذه الطريقة.
إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، سيكون الرد من نقطة النهاية هذه من النوع .ErrorResponse
قد تكون الردود على هذا الطلب فارغة إذا لم تعرض هذه الطريقة رمز HTTP 200. يكون نص الاستجابة فارغًا في الحالات التي قد يتم فيها استخدام مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب شركة تكامل الدفع الخاص بالجهات المدمَجة الأخرى. في هذه الحالات، عندما يكون مفتاح التوقيع غير متطابق أو لم يتم العثور على معرّف وحدة تكامل الدفع أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 بدون نص. وإذا توفّرت إمكانية التحقّق من صحة توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.ErrorResponse
إليك مثال على الطلب:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1481855928301"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
"paymentIntegratorRefundId": "invisi/Id::xx__1243",
"refundResult": "SUCCESS"
}
يبدو الرد كمثال:
{
"responseHeader": {
"responseTimestamp": "1481855928376"
},
"result": "SUCCESS"
}
طلب HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID
نص الطلب
يحتوي نص الطلب على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "requestHeader": { object ( |
| الحقول | |
|---|---|
requestHeader |
مطلوب: عنوان مشترك لجميع الطلبات. |
paymentIntegratorAccountId |
مطلوب: معرّف حساب شركة تكامل الدفعات الذي تم ردّ الأموال عليه. |
refundRequestId |
مطلوب: المعرّف الفريد لعملية ردّ الأموال هذه، والذي يتم إنشاؤه من خلال الحقل |
refundResult |
مطلوب: نتيجة عملية ردّ الأموال هذه. |
paymentIntegratorRefundId |
مطلوب: هذا المعرّف خاص بالشركة المدمَجة ويتمّ إنشاؤه بواسطة الشركة المدمَجة. هذا هو المعرّف الذي تعرف شركة الدمج عملية ردّ الأموال هذه من خلاله. ولتسهيل الأمر، يتم تضمين هذا المعرّف في تفاصيل الحوالة المالية. |
نص الاستجابة
عنصر الاستجابة لطريقة refundResultNotification
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
| تمثيل JSON |
|---|
{ "responseHeader": { object ( |
| الحقول | |
|---|---|
responseHeader |
مطلوب: عنوان مشترك لجميع الردود. |
result |
REQUIRED: نتيجة هذه المكالمة. |
RefundResultCode
يتم ردّ رموز النتائج الفريدة.
| عمليات التعداد | |
|---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية على الإطلاق. |
SUCCESS |
تم ردّ الأموال بنجاح. |
NO_MONEY_LEFT_ON_TRANSACTION |
تعذّر ردّ الأموال لأنّ العملية لم تتبقَّ أي أموال. يمثّل ذلك عادةً خطأً بين شركة الدمج و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 |
لا يمكن معالجة عملية ردّ الأموال لأنّ الطلب خارج الفترة المسموح بها لردّ الأموال. |
RefundResultNotificationResultCode
رموز النتائج لطريقة refundResultNotification.
| عمليات التعداد | |
|---|---|
UNKNOWN_RESULT |
لا تضبط هذه القيمة التلقائية على الإطلاق. |
SUCCESS |
تم بنجاح إشعار نتيجة رد الأموال. |