Method: asynchronousCapture

شروع عملیات جابجایی پول بین حساب مشتری و یکپارچه ساز را آغاز می کند. ادغام کننده باید درخواست را تأیید کند و هر اقدامی را که برای تکمیل ضبط لازم است انجام دهد (مثلاً یک پین از کاربر جمع آوری کند). ادغام کننده با تماس با CaptureResultNotification API نتیجه نهایی ضبط را به گوگل اطلاع می دهد.

ترکیبی از requestId در هدر و paymentIntegratorAccountId کلید idempotency است و این تراکنش را به طور منحصربه‌فرد شناسایی می‌کند. تمام جهش‌ها در این تراکنش (بازپرداخت) مقدار 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 )

اختیاری : جزئیات پرداخت ویژه ابزارهای Tokenized.

بدن پاسخگو

شی پاسخ برای روش ضبط.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
زمینه های
responseHeader

object ( ResponseHeader )

مورد نیاز : هدر مشترک برای همه پاسخ ها.

paymentIntegratorTransactionId

string

REQUIRED : این شناسه مخصوص یکپارچه ساز است و توسط یکپارچه ساز تولید می شود. این شناسه ای است که ادغام کننده این تراکنش را با آن می شناسد.

برای راحتی، این شناسه در جزئیات حواله گنجانده شده است

result

enum ( AsynchronousCaptureResultCode )

مورد نیاز : نتیجه تماس ضبط ناهمزمان.

UpiDetails

جزئیات مربوط به حساب UPI برای گرفتن از.

نمایندگی JSON
{
  "vpa": string
}
زمینه های
vpa

string

مورد نیاز : آدرس پرداخت مجازی کاربر (VPA) که برای جابجایی پول با استفاده از پروتکل UPI استفاده می شود. به عنوان مثال foo@icici .

TokenizedInstrumentDetails

جزئیات مربوط به حسابی که باید از آن عکس بگیرید.

نمایندگی JSON
{
  "googlePaymentToken": string
}
زمینه های
googlePaymentToken

string

مورد نیاز : این نشانه ای است که هر دو شرکت برای شناسایی حساب برای خرید بین یکدیگر استفاده می کنند.

AsynchronousCaptureResultCode

کدهای نتیجه برای AsynchronousCapture.

Enums
UNKNOWN_RESULT هرگز این مقدار پیش فرض را تنظیم نکنید!
ACKNOWLEDGED ضبط درخواست شده است و ادغام‌کننده مراحل بیشتری را برای تعیین موفقیت یا عدم موفقیت ضبط انجام می‌دهد. هنگامی که ادغام کننده از نتیجه گرفتن مطلع شد، با فراخوانی captureResultNotification API نتیجه را به گوگل اطلاع خواهد داد.
ACCOUNT_CLOSED

حساب کاربری که با یکپارچه نگه داشته شده است بسته شده است.

بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

حساب کاربر با ادغام کننده بسته شده است، حساب مشکوک به کنترل است.

بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند.

ACCOUNT_ON_HOLD حساب در حالت انتظار است.
ACCOUNT_CLOSED_FRAUD

حساب کاربری که در ادغام کننده نگهداری می شود به دلیل کلاهبرداری بسته شده است.

بازگرداندن این مقدار باعث می شود که ابزار کاربر با Google بسته شود. کاربر مجبور خواهد شد با گذراندن مجدد جریان ارتباط، ابزار جدیدی اضافه کند.