بررسی اجمالی
بازپرداخت میتواند با یک اقدام فعال کاربر (فشردن دکمه «بازپرداخت») آغاز شود یا بهطور خودکار از طرف یک کاربر فعال شود. صرف نظر از راهاندازی، یک درخواست بازپرداخت از Google به ادغامکننده ارسال میشود.
جریان چگونه کار می کند
در اینجا یک نمونه جریان بازپرداخت است که توسط کاربر آغاز شده است:
جریان بازپرداخت
در اینجا لیستی از اشیاء در نمودار بالا آمده است:
- کاربر : این شخصی است که خواهان بازپرداخت کامل یا جزئی است.
- Google Server : سرور پشتیبان در Google که دستور بازپرداخت را به سرور Payment Integrator ارسال می کند.
- سرور یکپارچهساز پرداخت : سرور پشتیبان یکپارچهکننده که درخواست بازپرداخت را میپذیرد.
بازپرداخت در این مثال توسط کاربر آغاز می شود.
- کاربر بازپرداخت را به سرور Google آغاز می کند.
- Google Server نقطه پایان
Refund
را در سرور Payment Integrator فراخوانی می کند. - سرور Payment Integrator با موفقیت پاسخ می دهد.
- کاربر بازپرداخت دریافت می کند.
بهترین شیوه ها و ملاحظات دیگر
از آنجا که برخی از محصولات Google، مانند Adwords، تا زمانی که اعتبار در حساب وجود دارد، از بازپرداخت پشتیبانی میکنند، درخواستهای بازپرداخت تراکنش باید برای مدت نامحدودی پشتیبانی شوند. اگر محدودیت فنی وجود داشته باشد، دوره بازپرداخت باید تا زمانی باشد که پلتفرم شما اجازه می دهد.
اگر GPT منقضی شده باشد، بازپرداخت همچنان باید کار کند. بازپرداخت تنها در صورتی قابل رد است که موجودی تراکنش اصلی برای پوشش مبلغ بازپرداخت کافی نباشد، یا حساب بسته شده باشد یا در حالت تعلیق باشد و یکپارچهساز توانایی ارسال این پول را برای کاربر نداشته باشد.
بازپرداخت می تواند در عرض چند ثانیه پس از ضبط آغاز شود. زمان بازپرداخت در اختیار Google است.
بازپرداخت هرگز نباید به عنوان بازپرداخت کامل در نظر گرفته شود. هنگام بازپرداخت حساب باید همیشه قسمت refundAmount
در نظر گرفته شود.
بازپرداخت جزئی چندگانه باید پشتیبانی شود. برای مثال، فرض کنید یک تراکنش به ارزش 11.00 دلار رخ می دهد، و کاربر می تواند 4.00 دلار، 5.00 دلار و 1.00 دلار را از تراکنش اصلی بازپرداخت کند. در این حالت، هر سه بازپرداخت دارای merchantTransactionId
یکسان، اما مقادیر requestId
متفاوت خواهند بود. علاوه بر این، این تراکنش فقط 1.00 دلار روی آن باقی خواهد ماند.
حالا بیایید تصور کنیم که یک خرید 12 دلاری وجود دارد. برای این مثال، کاربر می تواند دو بازپرداخت، هر کدام 6.00 دلار انجام دهد. اگر این دو بازپرداخت مقادیر requestId
متفاوتی داشته باشند (و merchantTransactionId
یکسان) باید به عنوان بازپرداخت جداگانه در یک تراکنش تلقی شوند. در این حالت، پس از تکمیل این بازپرداخت، کاربر 0 دلار در تراکنش باقی خواهد ماند.