Method: asynchronousCapture

تؤدي إلى بدء عملية نقل الأموال بين حساب العميل وشركة الدمج. ويجب أن يوافق مسؤول الدمج على الطلب ويتخذ الإجراءات المطلوبة لإكمال عملية الالتقاط (مثل جمع رقم التعريف الشخصي من المستخدم). ستُعلِم عملية الدمج Google بنتيجة الالتقاط النهائية من خلال استدعاء واجهة برمجة التطبيقات CaptureResultNotification.

إنّ إضافة requestId في العنوان وpaymentIntegratorAccountId هي مفتاح تحديد الهوية وتحدّد هذه المعاملة بشكل فريد. تعمل جميع التغييرات في هذه المعاملة (عمليات ردّ الأموال) على تعبئة قيمة requestId في الحقل captureRequestId.

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

يبدو الرد كمثال:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

طلب HTTP

POST https://www.integratorhost.example.com/v1/asynchronousCapture

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field fopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  },
  "tokenizedInstrumentDetails": {
    object (TokenizedInstrumentDetails)
  }
  // End of list of possible types for union field fopDetails.
}
الحقول
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

transactionDescription

string

مطلوب: هذا هو وصف المعاملة التي يمكن إدراجها في كشف العميل. مترجَمة إلى لغة userLocale المتوفّرة في requestHeader. ويمكن تغيير هذا التنسيق بدون إشعار ويجب عدم تحليله أبدًا.

currencyCode

string

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

amount

string (Int64Value format)

مطلوب: مبلغ الشراء بالمايكرو لوحدة العملة.

حقل الاتحاد fopDetails.

يمكن أن يكون fopDetails واحدًا فقط مما يلي:

upiDetails

object (UpiDetails)

اختياري: تفاصيل الدفع الخاصة بأدوات UPI.

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

اختياري: تفاصيل الدفع الخاصة بالآلات المحوَّلة إلى رموز مميّزة

نص الاستجابة

كائن الاستجابة لطريقة الالتقاط

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

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

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

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

result

enum (AsynchronousCaptureResultCode)

مطلوب: نتيجة استدعاء الالتقاط غير المتزامن.

UpiDetails

تفاصيل حول حساب UPI المطلوب تحصيل رسومه منه

تمثيل JSON
{
  "vpa": string
}
الحقول
vpa

string

مطلوب: عنوان الدفع الافتراضي (VPA) للمستخدم المستخدَم لنقل الأموال باستخدام بروتوكول UPI. على سبيل المثال foo@icici.

TokenizedInstrumentDetails

تفاصيل حول الحساب الذي تريد التقاط الصور منه.

تمثيل JSON
{
  "googlePaymentToken": string
}
الحقول
googlePaymentToken

string

مطلوب: هذا هو الرمز المميّز الذي ستستخدمه الشركتان لتحديد حساب عمليات الشراء بينهما.

AsynchronousCaptureResultCode

رموز نتائج الالتقاط غير المتزامن.

عمليات التعداد
UNKNOWN_RESULT لا تضبط هذه القيمة التلقائية على الإطلاق.
ACKNOWLEDGED تمّ طلب التقاط الصورة وسينفّذ مسؤول الدمج خطوات إضافية لتحديد ما إذا كان الالتقاط ناجحًا أو مرفوضًا. عندما يعرف مسؤول عملية الدمج نتيجة الالتقاط، سيبلغ Google بالنتيجة من خلال طلب واجهة برمجة تطبيقات captureResultNotification.
ACCOUNT_CLOSED

تم إغلاق حساب المستخدم لدى جهة الدمج.

سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

تم إغلاق حساب المستخدم لدى جهة الدمج، ويُشتبه في الاستيلاء على الحساب.

سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى.

ACCOUNT_ON_HOLD الحساب معلّق.
ACCOUNT_CLOSED_FRAUD

تم إغلاق حساب المستخدم التابع لجهة الدمج بسبب عملية احتيال.

سيؤدي عرض هذه القيمة إلى إغلاق وسيلة المستخدم مع Google. سيضطر المستخدم إلى إضافة أداة جديدة من خلال إجراء عملية الربط مرة أخرى.