Method: asynchronousCapture

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

إنّ الجمع بين 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 API.
ACCOUNT_CLOSED

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

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

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

تم إغلاق حساب المستخدم مع الشركة المتعهّدة، وعملية الاستحواذ على الحساب مشبوهة.

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

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

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

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