Method: refundResultNotification

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

بازپرداخت باید به طور همزمان در طول تماس روش refund انجام شود، اما این روش در صورتی که تماس همزمان پس از انجام عمل انجام نشد اما قبل از اینکه بتواند نتیجه را بازگرداند، یک سیگنال پشتیبان سریع به Google ارائه می دهد. این امر از تأخیر ایجاد شده توسط Google برای برنامه ریزی مجدد برای زمان آینده جلوگیری می کند.

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

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

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

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


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

درخواست HTTP

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

درخواست بدن

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

نمایندگی JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
زمینه های
requestHeader

object ( RequestHeader )

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

paymentIntegratorAccountId

string

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

refundRequestId

string

الزامی است : شناسه منحصر به فرد برای این بازپرداخت، که توسط فیلد requestId هنگام فراخوانی روش refund ایجاد شده است.

refundResult

enum ( RefundResultCode )

الزامی : نتیجه این بازپرداخت.

paymentIntegratorRefundId

string

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

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

بدن پاسخگو

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

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

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

object ( ResponseHeader )

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

result

enum ( RefundResultNotificationResultCode )

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

RefundRefundCode

بازپرداخت کدهای نتیجه منحصر به فرد.

Enums
UNKNOWN_RESULT هرگز این مقدار پیش فرض را تنظیم نکنید!
SUCCESS بازپرداخت با موفقیت انجام شد.
NO_MONEY_LEFT_ON_TRANSACTION بازپرداخت انجام نشد، هیچ پولی در تراکنش باقی نمانده است. به طور معمول این نشان دهنده اشکال بین ادغام کننده و 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 بازپرداخت قابل پردازش نیست زیرا درخواست خارج از دوره مجاز بازپرداخت است.

RefundResultNotificationResultCode

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

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