ابزارک ها
راهنمای پیاده سازی

راهنمای پیاده‌سازی

تعریف محصول

برای تعریف محصول خود، از پنل همدست در منوی کسب درآمد > محصولات استفاده کنید.

باز کردن صورت حساب

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

window.hamdast.payment.pay({
    product_key: "xxxxx",
    payload: null
})
FieldTypeDescription
product_keyStringشناسه محصول
payloadObjectمی‌توانید دیتایی را ارسال کنید تا بعد پرداخت موفق همان payload به شما ارسال داده شود.(اختیاری)

پاپ‌آپ پرداخت برای کاربر نمایش داده خواهد شد.

اطلاع از وضعیت پرداخت و تایید

مثال استفاده از رویداد ها
const { event } = await window.hamdast.payment.pay({
    product_key: "xxxxx",
    payload: null
})
 
if (event === "HAMDAST_PAYMENT_SUCCESS") {
    // پرداخت موفق
} else if (event === "HAMDAST_PAYMENT_CANCEL") {
    // پرداخت لغو شد
} else if (event === "HAMDAST_PAYMENT_ERROR") {
    // پرداخت ناموفق
}
FieldTypeDescription
eventStringنوع رویداد
payloadObjectدیتای payload داده شده.
product_keyStringشناسه محصول
messageStringپیام خطا (در صورتی که پرداخت ناموفق باشد)
receipt_idStringشناسه صورت حساب (در صورتی که پرداخت موفق باشد)
تاید پرداخت

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

  • اپ فرانت‌اند
const { event, receipt_id } = await window.hamdast.payment.pay({
    product_key: "xxxxx",
    payload: null
})
 
if (event === "HAMDAST_PAYMENT_SUCCESS") {
    // پرداخت موفق
    // اینجا باید تایید پرداخت را انجام دهید.
    // ارسال به سرور برای تایید پرداخت
    // مثال:
    fetch("https://api.example.com/v1/payment/verify", {
        method: "POST",
        body: JSON.stringify({
            receipt_id: receipt_id,
        })
    })
} else if (event === "HAMDAST_PAYMENT_CANCEL") {
    // پرداخت لغو شد
} else if (event === "HAMDAST_PAYMENT_ERROR") {
    // پرداخت ناموفق
}
  • اپ بک‌اند(سرور)

در اپ بک‌اند باید براساس receipt_id تایید پرداخت را انجام دهید.

برای این منظور از وب‌سرویس زیر به همراه API Key همدست، App ID و receipt_id استفاده کنید:

fetch("https://hamdast.paziresh24.com/api/v1/apps/[app_id]/monetization/verify", {
    method: "POST",
    body: JSON.stringify({
        receipt_id: receipt_id,
    }),
    headers: {
        "x-api-key": `xxxxx` // API Key,
    }       
})