پس از برقراری تماس روش refund
، نتیجه بازپرداخت را به Google اطلاع دهید.
بازپرداخت باید به طور همزمان در طول تماس روش refund
انجام شود، اما این روش در صورتی که تماس همزمان پس از انجام عمل انجام نشد اما قبل از اینکه بتواند نتیجه را بازگرداند، یک سیگنال پشتیبان سریع به Google ارائه می دهد. این امر از تأخیر ایجاد شده توسط Google برای برنامه ریزی مجدد برای زمان آینده جلوگیری می کند.
مقدار refundResult
برای این refundRequestId
فاقد قدرت است، بنابراین نمیتوان مقدار آن را با فراخوانی بعدی به این روش تغییر داد.
اگر نقطه پایانی هنگام پردازش درخواست با خطا مواجه شود، پاسخ این نقطه پایانی از نوع
خواهد بود.ErrorResponse
اگر این روش یک HTTP 200 را برنگرداند، ممکن است پاسخهای این عبارت خالی باشد. بدنه پاسخ در شرایطی که میتوان از یک
با توضیح واضح برای کمک به مهاجم برای درک شناسه حساب یکپارچهساز پرداخت سایر ادغامکنندهها استفاده کرد، خالی است. در این شرایط، که یا کلید امضا مطابقت ندارد، شناسه یکپارچه پرداخت پیدا نشد، یا کلید رمزگذاری ناشناخته بود، این روش یک HTTP 404 را با بدنه خالی برمی گرداند. اگر امضای درخواست تأیید شود، اطلاعات اضافی در مورد خطا در بدنه پاسخ بازگردانده می شود.ErrorResponse
یک نمونه درخواست به نظر می رسد:
{
"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 | الزامی : شناسه حساب یکپارچه کننده پرداخت که بازپرداخت روی آن انجام شده است. |
refundRequestId | الزامی است : شناسه منحصر به فرد برای این بازپرداخت، که توسط فیلد |
refundResult | الزامی : نتیجه این بازپرداخت. |
paymentIntegratorRefundId | REQUIRED : این شناسه مخصوص یکپارچه ساز است و توسط یکپارچه ساز تولید می شود. این شناسهای است که ادغامکننده این بازپرداخت را با آن میداند. برای راحتی، این شناسه در جزئیات حواله گنجانده شده است |
بدن پاسخگو
شی پاسخ برای روش refundResultNotification
.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "responseHeader": { object ( |
زمینه های | |
---|---|
responseHeader | مورد نیاز : هدر مشترک برای همه پاسخ ها. |
result | الزامی : نتیجه این تماس. |
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 | اعلان نتیجه بازپرداخت با موفقیت انجام شد. |