Method: refund

ردّ جزء من المعاملة التي تمّ بدؤها من خلال 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": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
الحقول
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

captureRequestId

string

مطلوبة: معرّف فريد لهذه المعاملة هذا هو requestId الذي أنشأته Google أثناء استدعاء capture الذي يرتبط به هذا الطلب.

currencyCode

string

مطلوب: رمز العملة المكوَّن من 3 أحرف وفقًا لمعيار ISO 4217

refundAmount

string (Int64Value format)

مطلوب: مبلغ الأموال المردودة، وهو عدد موجب من المبالغ الصغيرة لوحدة العملة.

نص الاستجابة

عنصر الردّ الخاص بطريقة ردّ الأموال

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

تمثيل JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorRefundId": string,
  "result": enum (RefundResultCode),
  "rawResult": {
    object (RawResult)
  }
}
الحقول
responseHeader

object (ResponseHeader)

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

paymentIntegratorRefundId

string

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

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

result

enum (RefundResultCode)

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

rawResult

object (RawResult)

OPTIONAL: النتيجة الأولية لعملية ردّ الأموال هذه. تُستخدَم هذه السمة للمساعدة في إعلام محرّك بحث Google بشأن المخاطر والتحليلات. في حالات ربط الرموز البرمجية والرفض، يتم فقدان البيانات أحيانًا. يمكن أن تختار شركة الدمج منح Google رمزًا أوليًا. على سبيل المثال، يمكن لبوابة بطاقة الائتمان (شركة الدمج) استخدام هذا الحقل لإبلاغ Google برمز الرفض الذي تم استلامه من شبكة VISA. في هذه الحالة، ستكون القيمة scope هي "فيزا" وكانت بطاقة rawCode تعرض كل ما تعرضه شبكة VISA.

هذه القيمة مطلوبة إذا لم تكن قيمة السمة result هي SUCCESS.

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 لا يمكن معالجة عملية ردّ الأموال لأنّ الطلب خارج الفترة المسموح بها لردّ الأموال.