Method: refundResultNotification

يمكنك إشعار Google بنتيجة عملية ردّ الأموال بعد إجراء استدعاء لطريقة refund.

يجب معالجة عمليات ردّ الأموال بشكل متزامن أثناء طلب طريقة refund، إلا أنّ هذه الطريقة تزوّد Google بإشارة احتياطية سريعة في حال تعذُّر الاتصال المتزامن بعد تنفيذ الإجراء، ولكن قبل أن يتم عرض نتيجة. يؤدي ذلك إلى تجنُّب التأخير الذي بسبب جدولة Google لإعادة المحاولة لوقت لاحق.

قيمة refundResult ثابتة لـ refundRequestId هذه، لذا لا يمكن تغيير قيمتها عن طريق استدعاء لاحق لهذه الطريقة.

إذا واجهت نقطة النهاية خطأً أثناء معالجة الطلب، سيكون الرد من نقطة النهاية هذه من النوع ErrorResponse.

قد تكون الردود على هذا الطلب فارغة إذا لم تعرض هذه الطريقة رمز HTTP 200. يكون نص الاستجابة فارغًا في الحالات التي قد يتم فيها استخدام ErrorResponse مع وصف واضح لمساعدة المهاجم على فهم معرّف حساب شركة تكامل الدفع الخاص بالجهات المدمَجة الأخرى. في هذه الحالات، عندما يكون مفتاح التوقيع غير متطابق أو لم يتم العثور على معرّف وحدة تكامل الدفع أو كان مفتاح التشفير غير معروف، ستعرض هذه الطريقة خطأ HTTP 404 بدون نص. وإذا توفّرت إمكانية التحقّق من صحة توقيع الطلب، سيتم عرض معلومات إضافية بشأن الخطأ في نص الاستجابة.

إليك مثال على الطلب:


{
  "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": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
الحقول
requestHeader

object (RequestHeader)

مطلوب: عنوان مشترك لجميع الطلبات.

paymentIntegratorAccountId

string

مطلوب: معرّف حساب شركة تكامل الدفعات الذي تم ردّ الأموال عليه.

refundRequestId

string

مطلوب: المعرّف الفريد لعملية ردّ الأموال هذه، والذي يتم إنشاؤه من خلال الحقل requestId عند طلب طريقة refund.

refundResult

enum (RefundResultCode)

مطلوب: نتيجة عملية ردّ الأموال هذه.

paymentIntegratorRefundId

string

مطلوب: هذا المعرّف خاص بالشركة المدمَجة ويتمّ إنشاؤه بواسطة الشركة المدمَجة. هذا هو المعرّف الذي تعرف شركة الدمج عملية ردّ الأموال هذه من خلاله.

ولتسهيل الأمر، يتم تضمين هذا المعرّف في تفاصيل الحوالة المالية.

نص الاستجابة

عنصر الاستجابة لطريقة refundResultNotification

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
الحقول
responseHeader

object (ResponseHeader)

مطلوب: عنوان مشترك لجميع الردود.

result

enum (RefundResultNotificationResultCode)

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 تم بنجاح إشعار نتيجة رد الأموال.