Method: captureResultNotification

پس از برقراری تماس با روش capture یا asynchronousCapture نتیجه یک عکس را به Google اطلاع دهید.

مقدار captureResult برای این captureRequestId بی قدرت است، بنابراین مقدار آن را نمی توان با فراخوانی بعدی به این روش تغییر داد.

اگر نقطه پایانی هنگام پردازش درخواست با خطا مواجه شود، پاسخ این نقطه پایانی از نوع ErrorResponse خواهد بود.

اگر این روش یک HTTP 200 را برنگرداند، ممکن است پاسخ‌های این عبارت خالی باشد. بدنه پاسخ در شرایطی که می‌توان از یک ErrorResponse با توضیح واضح برای کمک به مهاجم برای درک شناسه حساب یکپارچه‌ساز پرداخت سایر ادغام‌کننده‌ها استفاده کرد، خالی است. در این شرایط، که یا کلید امضا مطابقت ندارد، شناسه یکپارچه پرداخت پیدا نشد، یا کلید رمزگذاری ناشناخته بود، این روش یک HTTP 404 را با بدنه خالی برمی گرداند. اگر امضای درخواست تأیید شود، اطلاعات اضافی در مورد خطا در بدنه پاسخ بازگردانده می شود.

یک نمونه درخواست به نظر می رسد:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "awNaC510cefae3IJdNEvW2",
  "captureResult": {
    "captureResultCode": "SUCCESS"
  }
}

یک نمونه پاسخ به نظر می رسد:


{
  "responseHeader": {
    "responseTimestamp": "1481852928324"
  },
  "result": "SUCCESS"
}

درخواست HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/ :PIAID

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

نمایندگی JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "captureResult": {
    object (CaptureResult)
  },
  "paymentIntegratorTransactionId": string
}
فیلدها
requestHeader

object ( RequestHeader )

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

paymentIntegratorAccountId

string

مورد نیاز : شناسه حساب یکپارچه کننده پرداخت که در آن ضبط صورت گرفته است.

captureRequestId

string

مورد نیاز : یک شناسه منحصر به فرد برای این تراکنش. این requestId است که توسط Google در طول تماس capture یا asynchronousCapture ایجاد شده است که این درخواست با آن مرتبط است.

این یک رشته با حداکثر طول 100 کاراکتر است و فقط شامل کاراکترهای "az"، "AZ"، "0-9"، ":"، "-"، و "_" است.

captureResult

object ( CaptureResult )

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

paymentIntegratorTransactionId

string

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

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

بدن پاسخگو

شی پاسخ برای روش captureResultNotification .

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

نمایندگی JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (CaptureResultNotificationResultCode)
}
فیلدها
responseHeader

object ( ResponseHeader )

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

result

enum ( CaptureResultNotificationResultCode )

الزامی : نتیجه این تماس.

CaptureResult

اطلاعات در مورد نتیجه نهایی گرفتن.

نمایندگی JSON
{
  "captureResultCode": enum (CaptureResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string,
  "currentBalance": string
  // End of list of possible types for union field FailureDetail.
}
فیلدها
captureResultCode

enum ( CaptureResultCode )

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

rawResult

object ( RawResult )

اختیاری : نتیجه خام این عکسبرداری. برای کمک به اطلاع رسانی به موتور ریسک و تجزیه و تحلیل Google استفاده می شود. در موقعیت‌های نقشه‌برداری کد کاهشی، داده‌ها گاهی از دست می‌روند. یکپارچه‌ساز می‌تواند انتخاب کند که یک کد خام به Google بدهد. به عنوان مثال، یک دروازه کارت اعتباری (ادغام کننده) ممکن است از این فیلد برای برقراری ارتباط با Google کد رد دقیق دریافت شده از شبکه VISA استفاده کند. در آن صورت، scope «ویزا» و rawCode هر چیزی است که شبکه VISA برگرداند.

اگر result SUCCESS نباشد، این مقدار مورد نیاز است.

فیلد اتحادیه FailureDetail .

FailureDetail می تواند تنها یکی از موارد زیر باشد:

transactionMaxLimit

string ( Int64Value format)

اختیاری : اگر captureResultCode CHARGE_EXCEEDS_TRANSACTION_LIMIT باشد، این مقدار حداکثر تراکنش مجاز است. این برای پیام‌رسانی ساختاریافته و رو به رو کاربر و تحلیل نرخ کاهش استفاده می‌شود.

این مقدار میکرو همان currencyCode است که فراخوانی روش capture یا asynchronousCapture اصلی است.

transactionMinLimit

string ( Int64Value format)

اختیاری : اگر captureResultCode CHARGE_UNDER_TRANSACTION_LIMIT باشد، این مقدار حداقل تراکنش مجاز است. این برای پیام‌رسانی ساختاریافته و رو به رو کاربر و تحلیل نرخ کاهش استفاده می‌شود.

این مقدار میکرو همان currencyCode است که فراخوانی روش capture یا asynchronousCapture اصلی است.

currentBalance

string ( Int64Value format)

اختیاری : اگر نتیجه INSUFFICIENT_FUNDS باشد، این موجودی موجود فعلی در حساب کاربر است (بر حسب میکرو ). این برای پیام رسانی ساختاریافته و رو به رو کاربر استفاده می شود.

این مقدار باید به همان واحد پولی باشد که currencyCode در درخواست وجود دارد.

CaptureResultCode

کدهای نتیجه برای عکس گرفتن

Enums
UNKNOWN_RESULT هرگز این مقدار پیش فرض را تنظیم نکنید!
SUCCESS عکسبرداری با موفقیت انجام شد.
CHARGE_UNDER_TRANSACTION_LIMIT مقدار جذب درخواستی با حداقل مقدار هر تراکنش ادغام کننده مطابقت ندارد. اگر از این کد استفاده می‌شود، قسمت transactionMinLimit را با حداقل مبلغ تراکنش برای اهداف پیام‌رسانی کاربر پر کنید.
CHARGE_EXCEEDS_TRANSACTION_LIMIT مقدار جذب درخواستی از حداکثر حد مجاز برای هر تراکنش فراتر می رود. اگر از این کد استفاده می‌شود، قسمت transactionMaxLimit با محدودیت تراکنش برای اهداف پیام‌رسانی کاربر پر کنید.
CHARGE_EXCEEDS_DAILY_LIMIT در حال حاضر نمی توان از حساب کاربر برای خرید استفاده کرد زیرا از محدودیت روزانه خود فراتر رفته است.
CHARGE_EXCEEDS_MONTHLY_LIMIT در حال حاضر نمی توان از حساب کاربر برای خرید استفاده کرد زیرا از محدودیت ماهانه خود فراتر رفته است.
INSUFFICIENT_FUNDS این حساب سرمایه کافی برای تضمین این ضبط را ندارد.
SUSPECTED_FRAUD ادغام کننده دلایلی برای مشکوک بودن این تراکنش دارد.
ACCOUNT_CLOSED حساب کاربری که با ادغام کننده نگهداری می شود بسته شده است. این مقدار بازگشتی باعث می‌شود که ابزار کاربر با Google بسته شود. کاربر مجبور می شود یک ابزار جدید اضافه کند.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER حساب کاربر با یکپارچه بسته شده است، حساب مشکوک به تصرف در می آید. این مقدار بازگشتی باعث می‌شود که ابزار کاربر با Google بسته شود. کاربر مجبور می شود یک ابزار جدید اضافه کند.
ACCOUNT_CLOSED_FRAUD حساب کاربری که نزد integrator نگهداری می شود به دلیل کلاهبرداری بسته شده است. این مقدار بازگشتی باعث می‌شود که ابزار کاربر با Google بسته شود. کاربر مجبور می شود یک ابزار جدید اضافه کند.
ACCOUNT_ON_HOLD حساب کاربری در حالت تعلیق است.
OTP_NOT_MATCHED OTP با آنچه که ادغام کننده ارسال کرد مطابقت نداشت.
OTP_ALREADY_USED OTP قبلاً استفاده شده بود.
CAPTURE_REQUEST_EXPIRED مدت زیادی طول کشید تا ادغام کننده بتواند وجوه کاربر را جذب کند. Google با این کاهش به‌عنوان یک وضعیت نهایی برخورد می‌کند، بنابراین یکپارچه‌ساز باید اطمینان حاصل کند که وجوه کاربر بعداً تسخیر نمی‌شود یا در صورت موفقیت‌آمیز بودن ضبط، به طور خودکار به کاربر بازپرداخت می‌شود.
INVALID_PIN کاربر یک پین نامعتبر ارائه کرده است.
OS_LOCK_FAILED این جریان پرداخت به چالش قفل سیستم عامل نیاز دارد و کاربر نتوانست قفل دستگاه را باز کند.
PIN_ENTRY_ATTEMPTS_EXHAUSTED این جریان پرداخت نیاز به وارد کردن پین کاربر دارد. کاربر به قدری موفق به وارد کردن پین نشد که تلاش‌های مجددش تمام شد.
USER_EXITED_PAYMENT_FLOW کاربر تمام تلاش پرداخت را لغو کرد (چه در قفل سیستم عامل یا در صفحه ورود پین).
MONTHLY_FREQUENCY_LIMIT_EXCEEDED حساب کاربر در حال حاضر نمی تواند برای خرید استفاده شود زیرا از حد مجاز تراکنش ماهانه خود فراتر رفته است.
DECLINED_BY_ISSUER

این کد کاهش هرگز نباید در حالت ثابت استفاده شود. این به عنوان یک کد catch-all موقت برای استفاده زمانی است که یکپارچه ساز با یک کد رد ناشناخته از صادرکننده اصلی ابزار کاربر مواجه می شود. این کد نتیجه را می توان در حالی استفاده کرد که ادغام کننده کد نتیجه مناسب تری را برای استفاده تعیین می کند یا درباره افزودن یک کد نتیجه جدید به این مشخصات مذاکره می کند.

نکته مهم این است که این کد کاهش بسیار یک کاهش واقعی است. تا آنجا که به گوگل مربوط می شود، این یک کاهش دائمی است. اگر ادغام‌کننده این را برگرداند، این به آن‌ها بستگی دارد که معنای واقعی کد صادرکننده را ردیابی کنند و در صورتی که مشخص شود این کد واقعاً به معنای SUCCESS است، وجه را به کاربر بازپرداخت کند.

اگر این کد رد برای همان کد رد کردن زیربنایی بیش از تعداد معینی از روز استفاده شود، Google آن را به‌عنوان یک اشکال در نظر می‌گیرد و مطابق با هر گونه مجازات قراردادی در مورد رفع اشکال، آن را پیگیری می‌کند.

RawResult

شیء نتیجه خام.

نمایندگی JSON
{
  "scope": string,
  "rawCode": string
}
فیلدها
scope

string

اختیاری : محدوده rawCode، می تواند خالی باشد.

rawCode

string

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

CaptureResultNotificationResultCode

کدهای نتیجه برای روش captureResultNotification .

Enums
UNKNOWN_RESULT هرگز این مقدار پیش فرض را تنظیم نکنید!
SUCCESS اعلان نتیجه ضبط با موفقیت پردازش شد.