راهنمای پیادهسازی
تعریف محصول
برای تعریف محصول خود، از پنل همدست در منوی کسب درآمد > محصولات استفاده کنید.
باز کردن صورت حساب
برای نمایش پاپآپ پرداخت در اپ فرانتاند ابزارک خود، باید از کد زیر استفاده کنید:
window.hamdast.payment.pay({
product_key: "xxxxx",
payload: null
})
Field | Type | Description |
---|---|---|
product_key | String | شناسه محصول |
payload | Object | میتوانید دیتایی را ارسال کنید تا بعد پرداخت موفق همان 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") {
// پرداخت ناموفق
}
Field | Type | Description |
---|---|---|
event | String | نوع رویداد |
payload | Object | دیتای payload داده شده. |
product_key | String | شناسه محصول |
message | String | پیام خطا (در صورتی که پرداخت ناموفق باشد) |
receipt_id | String | شناسه صورت حساب (در صورتی که پرداخت موفق باشد) |
تاید پرداخت
در صورتی که پرداخت موفق باشد، باید از رویدادهای زیر برای تایید پرداخت استفاده کنید:
- اپ فرانتاند
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,
}
})