کار با پرداخت درون برنامه‌ای - REST

نکته: در صورتی که با مفهوم REST و سرویس‌های سمت سرور و یا با دستور curl آشنایی ندارید، به آشنایی با REST مراجعه کنید.

در ادامه سرویس‌های مختلفی که سرویس درون پرداخت امن بکتوری برای کار با کافه بازار به صورت REST در اختیار شما قرار می‌دهد، را آورده‌ایم.

پیش‌نیازها

  1. در صورتی که با سرویس درون پرداخت امن آشنایی ندارید، به معرفی سرویس درون پرداخت امن مراجعه کنید.
  2. در صورتی که هنوز در پنل توسعه‌دهنده خود سرویس پرداخت درون برنامه‌ای را راه‌اندازی نکرده‌اید، به تنظیمات پنل مراجعه کنید.
  3. در صورتی که با راه‌اندازی ‌REST در پلتفرم‌های مختلف آشنایی ندارید، به راه‌اندازی REST در پلتفرم‌های مختلف مراجعه کنید.

بررسی صحت انجام شدن خرید

همان‌طور که در مستندات کافه بازار مطالعه کرده‌اید، محصولات کافه بازار به دو دسته تقسیم می‌شوند:

اگر پس از خرید محصول خریدنی از کافه بازار، می‌خواهید صحت‌سنجی (verify) کنید که خرید با موفقیت انجام شده است یا خیر، می‌توانید از درخواست زیر استفاده کنید:

curl -X GET \
     --header 'Accept: application/json' \
     --header 'X-Backtory-Game-Id: <game-Id>' \
     https://api.backtory.com/game/iap-clients/packages/<packageName>/inapp/<productId>/purchases/<purchaseToken>/is-purchased?metadata=<metaData>

این درخواست REST یک درخواست با متد GET هست و بنابراین نیازی به بدنه‌ی درخواست ندارد. اما در url آن پارامترهایی وجود دارد که بدین شرح هستند:

در صورتی که فراخوانی آدرس بالا موفقیت آمیز باشد، بدنه‌ی پاسخ یک json مشابه زیر خواهد بود:

{
    status: true,
    metaData, "<Webhook-response>"
}

کلیدهای این json عبارتند از:

بررسی صحت مصرف شدن خرید

اگر پس از خرید محصول خریدنی قابل مصرف از کافه بازار، می‌خواهید صحت‌سنجی (verify) کنید که خرید با موفقیت مصرف شده است یا خیر، می‌توانید از درخواست زیر استفاده کنید:

curl -X GET \
     --header 'Accept: application/json' \
     --header 'X-Backtory-Game-Id: <game-Id>' \
     https://api.backtory.com/game/iap-clients/packages/<packageName>/inapp/<productId>/purchases/<purchaseToken>/is-consumed?metadata=<metaData>

این درخواست REST نیز یک درخواست با متد GET هست و پارامترهای url آن مشابه قبلی هستند. هم‌چنین، در صورتی که فراخوانی این آدرس موفقیت آمیز باشد، ساختار response body نیز مشابه سابق است.

بررسی صحت فعال بودن اشتراک

اگر پس از خرید محصول اشتراکی از کافه بازار (سالانه یا ماهانه، فرقی نمی‌کند)، می‌خواهید صحت‌سنجی (verify) کنید که اشتراک فعال هست یا خیر، می‌توانید از درخواست زیر استفاده کنید:

curl -X GET \
     --header 'Accept: application/json' \
     --header 'X-Backtory-Game-Id: <game-Id>' \
     https://api.backtory.com/game/iap-clients/packages/<packageName>/subscriptions/<subscriptionId>/purchases/<purchaseToken>/is-active?metadata=<metaData>

این درخواست REST نیز یک درخواست با متد GET است و پارامترهای url آن مشابه قبلی هستند؛ تنها تفاوت در پارامتر subscriptionId است. این پارامتر شناسه‌ی کالای اشتراکی را که در پنل کافه بازار تعریف کرده‌اید، نشان می‌دهد. در پروژه‌ی نمونه‌ی TrivialDrive به عنوان مثال infinite_gas یک شناسه‌ی کالای اشتراکی است. به علاوه، در صورتی که فراخوانی این آدرس موفقیت آمیز باشد، ساختار response body نیز مشابه سابق است.

به این ترتیب شما با امکانات بکتوری برای صحت‌سنجی پرداخت‌های انجام شده با کافه بازار به طور کامل آشنا شدید.