Cara Menyambung Prodamus
Untuk menyambung Prodamus, anda memerlukan URL borang pembayaran dan kunci rahsia.
URL borang pembayaran disediakan selepas pendaftaran. Contoh:
demo.payform.ru
Anda boleh mendapatkan kunci rahsia dalam akaun Prodamus anda. Anda juga perlu menentukan URL tempat pemberitahuan pembayaran akan dihantar.

Arahan terperinci tentang cara mengkonfigurasi ini
URL Pemberitahuan:
https://chatter.mavibot.ai/prodamus_callback/result
URL ini mesti dinyatakan di dua tempat dalam tetapan.
Pada halaman tetapan utama, anda boleh memilih mod operasi borang pembayaran:
- Mod demo tanpa pembayaran sebenar
- Mod langsung untuk menerima pembayaran

URL pemberitahuan mesti dinyatakan dalam dua bahagian tetapan sistem pembayaran:
- Dalam tab Tetapan Borang untuk pembayaran sekali sahaja
- Dalam tab Langganan untuk pembayaran langganan

URL Pemberitahuan:
https://chatter.mavibot.ai/prodamus_callback/result
Untuk mengkonfigurasi pembayaran langganan, buka tab Langganan dan masukkan URL pemberitahuan:
https://chatter.mavibot.ai/prodamus_callback/result

Penting: Selepas memasukkan URL, pastikan anda klik Simpan.
Untuk menyambung Prodamus dalam Mavibot, buka bahagian Pemerolehan.

Kemudian masukkan URL borang pembayaran dan kunci rahsia dalam medan yang sepadan.

Penting: Jangan sertakan
https://semasa memasukkan URL borang pembayaran.
Sambungan kini selesai. Seterusnya, mari kita lihat cara menggunakan fungsi ini.
Mencipta Pautan Pembayaran
Butang Pembayaran
Pautan pembayaran boleh dijana menggunakan butang dengan fungsi Pembayaran.
Lihat panduan untuk mencipta butang pembayaran:
/docs/chatbot-builder-buttons-payment-button
Bahagian di bawah menerangkan semua tetapan butang yang tersedia.
Parameter Diperlukan
Untuk menjana pautan pembayaran, medan berikut diperlukan:
- Jumlah
- Nama Produk
- Produk untuk Resit (diperlukan hanya jika anda tidak mempunyai daftar tunai dalam talian sendiri dan mahu Prodamus menjana resit fiskal)
Apabila pelanggan membuka halaman pembayaran, maklumat produk dan harga telah diisi. Pelanggan hanya perlu memasukkan butiran hubungan mereka.
Jika e-mel dan/atau nombor telefon pelanggan dinyatakan dalam tetapan butang, ia juga akan diisi terlebih dahulu pada halaman pembayaran.

Tetapan Butang
Teks – Teks yang dipaparkan pada butang pembayaran.
Fungsi – Pilih Pembayaran untuk menjana pautan pembayaran.
Sistem Pembayaran – Memaparkan sistem pembayaran yang disambungkan ke projek.
Jika tiada sistem pembayaran disambungkan, jenis butang ini tidak tersedia.
Nama Produk (diperlukan) – Nyatakan nama produk yang tepat.
Contohnya, daripada:
Telefon
gunakan:
Telefon Pintar Xiaomi, Model ...
Nota: Tanda petik berganda (
") tidak dibenarkan dalam nama produk. Alih keluar atau gantikan dengan tanda petik tunggal.
Jumlah (diperlukan) – Jumlah pembayaran.
Parameter Tambahan
Klik Maklumat Tambahan untuk mengkonfigurasi medan pilihan:
- Penerangan pesanan
- Diskaun (RM)
- Pembolehubah e-mel pelanggan
- Pembolehubah telefon pelanggan
- Tarikh tamat pautan
- ID produk langganan
- Produk untuk resit
Maklumkan pada Klik – Dayakan pilihan ini jika anda mahu menerima pemberitahuan dalam perbualan pelanggan apabila mereka mengklik butang pembayaran.

Pemberitahuan ini boleh digunakan untuk membina logik chatbot tambahan.
Banyak penyedia pembayaran menyokong daftar tunai awan yang diperlukan untuk pematuhan cukai. Semak dokumentasi penyedia pembayaran anda untuk maklumat tentang penjanaan resit dan fiskalisasi.
Halaman pembayaran yang dibuka oleh butang kelihatan seperti ini:

Tetapan Pautan Pembayaran Tambahan

Penerangan Pesanan – Teks yang dimasukkan dalam medan ini dipaparkan pada halaman pembayaran dalam bahagian Maklumat Tambahan.
Diskaun – Nyatakan jumlah diskaun dalam RM. Nilai perpuluhan disokong menggunakan noktah sebagai pemisah (contohnya, 50.99).
Pada halaman pembayaran, diskaun digunakan secara automatik. Harga asal dicoret, dan jumlah diskaun dipaparkan sebagai jumlah pembayaran.
Pembolehubah E-mel Pelanggan (pilihan jika nombor telefon disediakan) – Alamat e-mel pelanggan atau pembolehubah yang mengandunginya, contohnya:
#{email}
Pembolehubah Telefon Pelanggan (pilihan jika alamat e-mel disediakan) – Pembolehubah yang mengandungi nombor telefon pelanggan dalam format:
79000000000
Contohnya:
#{phone}
Sama ada alamat e-mel atau nombor telefon mesti disediakan.
Tarikh Tamat Pautan – Nyatakan tarikh tamat dalam format:
dd.MM.yyyy HH:mm
Contoh:
25.01.2021 11:00
Anda juga boleh menggunakan pembolehubah, contohnya:
#{link_expired}
ID Produk Langganan – Masukkan ID produk langganan untuk mencipta pembayaran berulang.
Untuk maklumat tentang mencipta produk langganan, lihat dokumentasi Prodamus.
Jika ID produk langganan dinyatakan:
- jumlah pembayaran diabaikan;
- maklumat produk dimuatkan daripada produk langganan dalam Prodamus;
- nombor telefon pelanggan diperlukan untuk pengurusan langganan;
- panggilan balik mengandungi ID produk langganan selepas pembayaran berjaya.
Produk untuk Resit (bersyarat diperlukan) – Diperlukan untuk fiskalisasi pembayaran melalui Prodamus jika anda tidak menggunakan daftar tunai dalam talian sendiri.
Nyatakan penerangan produk, harga, dan pautan ke kandungan yang dibeli.
Contoh:
Kursus "Fotografi Lanjutan", harga 3000 RM,
https://example.com/course
Tingkah Laku Tamat Pautan
Jika anda menentukan tarikh tamat pautan, butang pembayaran berkelakuan berbeza bergantung pada sama ada pautan masih sah.
Pautan Tamat
Jika pelanggan membuka pautan pembayaran selepas ia tamat, pembayaran tidak dapat diselesaikan, dan mereka akan melihat mesej berikut:

Nota: Tarikh tamat mestilah lewat daripada tarikh semasa. Jika tidak, pelanggan tidak akan dapat menyelesaikan pembayaran.
Butang Pembayaran Tidak Aktif
Jika pelanggan meminta butang pembayaran selepas pautan telah tamat, butang tidak dipaparkan.
Sebaliknya, pembolehubah pelanggan berikut dicipta:
error_payment_button
Nilai:
Ralat: Tarikh tamat pautan mestilah lewat daripada tarikh semasa.
Kami mengesyorkan mengendalikan situasi ini dalam aliran chatbot anda.
Buat syarat yang menyemak:
error_payment_button == "Ralat: Tarikh tamat pautan mestilah lewat daripada tarikh semasa."
Jika syarat dipenuhi, hantar mesej seperti:
Maaf, anda tidak dapat menyelesaikan pembayaran tepat pada masanya. Pautan pembayaran telah tamat.


Pembolehubah Pelanggan Dicipta oleh Butang Pembayaran
Apabila pelanggan menerima mesej yang mengandungi butang Pembayaran, Mavibot secara automatik mencipta pembolehubah berikut.
__payments
Pembolehubah sistem yang menyimpan jumlah pembayaran dan pengecam pautan pembayaran yang dijana. Ia digunakan untuk memadankan panggilan balik yang diterima daripada sistem pembayaran.
Penting: Jangan ubah suai atau padamkan pembolehubah sistem
__payments.
error_payment_button
Pembolehubah ini dicipta secara automatik jika ralat berlaku semasa menjana butang pembayaran.
Ia mengandungi sama ada mesej ralat yang dijana oleh Mavibot atau ralat yang dikembalikan oleh sistem pembayaran.
Nilai pembolehubah tersedia selepas chatbot bergerak ke blok seterusnya.
Memproses Keputusan Pembayaran
Pembayaran Berjaya
Selepas pembayaran berjaya, Mavibot secara automatik menerima panggilan balik berikut:
<first_10_characters_of_secret_key>_success <payment_amount>
Contoh:
ovg58keefc_success 44
Di mana:
-
ovg58keefc— 10 aksara pertama kunci rahsia Prodamus. -
_success— menunjukkan pembayaran berjaya. -
44— jumlah pembayaran.
Pelanggan tidak pernah melihat panggilan balik pembayaran. Ia hanya kelihatan dalam bahagian Pelanggan dan boleh digunakan untuk membina logik chatbot.
Contoh
Langkah 1
Buat blok yang mengandungi butang Pembayaran.
Langkah 2
Buat blok Pencetus atau konfigurasikan anak panah yang menuju ke blok seterusnya.
Tampal panggilan balik pembayaran ke dalam pencetus atau syarat padanan.
Panggilan balik yang sama juga boleh dikonfigurasikan dalam blok Keadaan Awal jika chatbot anda memerlukan pemprosesan pembayaran global.
Penting: Gunakan sama ada Padanan tepat atau Mengandungi kata kunci sebagai jenis padanan.
Nota: Jika anda memproses panggilan balik pada anak panah tertentu, pastikan pelanggan masih berada dalam blok yang mengandungi anak panah itu apabila panggilan balik tiba. Jika tidak, peralihan tidak akan berlaku. Untuk aliran chatbot di mana pelanggan boleh bergerak antara blok, adalah disyorkan untuk memproses panggilan balik dalam blok Keadaan Awal sebaliknya.

Pembayaran Langganan Berjaya
Untuk produk langganan, format panggilan balik adalah:
<first_10_characters_of_secret_key>_success <subscription_product_id>
Contoh:
214009eefc_success 618117
Di mana:
-
214009eefc— 10 aksara pertama kunci rahsia. -
_success— pembayaran berjaya. -
618117— ID produk langganan.

Pembayaran Gagal
Jika pembayaran gagal, Mavibot menerima panggilan balik berikut:
<first_10_characters_of_secret_key>_fail <payment_amount>
Contoh:
ovg58keefc_fail 44
Di mana:
-
ovg58keefc— 10 aksara pertama kunci rahsia. -
_fail— pembayaran gagal. -
44— jumlah pembayaran.
Nota: Tidak semua penyedia pembayaran menghantar panggilan balik untuk pembayaran gagal.
Ketidakpadanan Jumlah Pembayaran
Jika jumlah yang dibayar berbeza daripada jumlah yang dinyatakan dalam butang pembayaran, Mavibot menerima panggilan balik berikut:
<first_10_characters_of_secret_key>_different_amounts <payment_id>
Contoh:
ovg58keefc_different_amounts 123456
Di mana:
-
ovg58keefc— 10 aksara pertama kunci rahsia. -
_different_amounts— menunjukkan bahawa jumlah yang dibayar berbeza daripada jumlah yang dijangkakan. -
123456— ID pembayaran unik.
Fungsi Kalkulator get_prodamus_payment_url
Anda boleh menjana pautan pembayaran menggunakan fungsi get_prodamus_payment_url dalam blok Kalkulator.
Tetapkan hasil fungsi kepada mana-mana pembolehubah.
Anda boleh memilih sebarang nama pembolehubah. Tangkapan skrin di bawah menggunakan nama pembolehubah contoh.
Pautan pembayaran yang dijana disimpan dalam pembolehubah dan boleh digunakan dalam mesej atau dilampirkan pada butang.
Contoh pautan pembayaran:
https://payform.ru/7p3JR8/
Contoh

Sintaks Fungsi
pembolehubah_anda = get_prodamus_payment_url(
jumlah,
nama_produk,
tamat_tempoh,
telefon_pelanggan,
emel_pelanggan,
diskaun,
penerangan,
parameter_tambahan,
produk_untuk_resit
)
Parameter
| Parameter | Penerangan |
|---|---|
amount |
Wajib. Jumlah pembayaran. Menerima nilai integer atau perpuluhan (contohnya, 25 atau 52.5). |
product_name |
Wajib. Nama produk. |
expired |
Tarikh luput pautan pembayaran. Format yang disokong: dd.MM.yyyy atau dd.MM.yyyy HH:mm. Anda juga boleh menggunakan pembolehubah atau ungkapan seperti current_date + 2. Hantar '', "", atau None untuk melangkau parameter ini. |
customer_phone |
Nombor telefon pelanggan. Pilihan jika customer_email disediakan. Hantar '' atau "" untuk melangkau. |
customer_email |
Alamat emel pelanggan. Pilihan jika customer_phone disediakan. Hantar '' atau "" untuk melangkau. |
discount |
Jumlah diskaun. Menerima nilai integer atau perpuluhan (contohnya, 25 atau 63.5). Hantar '' atau "" untuk melangkau. |
description |
Penerangan produk. Jika ditinggalkan, Prodamus secara automatik menggunakan Payment for order order_id. Hantar '' atau "" untuk melangkau. |
extra_params |
Parameter API Prodamus tambahan yang tidak termasuk dalam hujah fungsi. Hantar '', "", atau None untuk melangkau. |
products_for_receipt |
Data resit dalam format "penerangan produk - harga - URL kandungan yang dibeli". Diperlukan jika anda menggunakan fiskalisasi Prodamus tanpa daftar tunai dalam talian anda sendiri. |
Contoh Tarikh Luput
Luput selepas dua hari:
tamat_tempoh = current_date + 2
Luput dalam 30 minit:
masa = current_time + 30
tamat_tempoh = "#{current_date} #{masa}"
Contoh extra_params
parameter_tambahan = {
"payments_limit": "3",
"payment_method": "vsegdada_installment_0_0_6"
}
Lihat dokumentasi API REST Prodamus untuk senarai penuh parameter yang disokong.
Contoh
parameter_tambahan = {
"payments_limit": "3"
}
produk_untuk_resit = "Kursus Fotografi, harga 4999 RUB, https://example.com/course"
pautan_pembayaran = get_prodamus_payment_url(4999, "Kursus Fotografi", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "Kursus fotografi terbaik", parameter_tambahan, produk_untuk_resit)
Dalam contoh ini:
-
extra_paramsmengandungi parameter pembayaran tambahan. -
products_for_receiptmengandungi maklumat resit fiskal. -
payment_linkmenyimpan URL pembayaran yang dijana.
Jika berbilang fungsi pautan pembayaran digunakan dalam blok Kalkulator yang sama dan salah satu daripadanya gagal, ralat ditulis ke dalam pembolehubah
error_payment_func. Hanya ralat fungsi terakhir yang disimpan.
Menjana Pautan Pembayaran Menggunakan payment_sum
Nota: Nilai
payment_sumdigunakan selepas semua pembolehubah pilihan sepertipayment_description,product_name, dan lain-lain.
Daripada memanggil get_prodamus_payment_url(), anda boleh menjana pautan pembayaran hanya dengan memberikan nilai kepada pembolehubah payment_sum dalam blok Kalkulator.
Selepas payment_sum diberikan, Mavibot secara automatik mencipta pembolehubah prodamus_pay_url yang mengandungi pautan pembayaran.
Contoh:
https://payform.ru/7p3JR8/
Anda boleh memaparkan pembolehubah ini dalam mesej atau menggunakannya sebagai URL butang.
Pembolehubah Pilihan
Pembolehubah berikut boleh ditakrifkan sebelum memberikan payment_sum.
| Pembolehubah | Penerangan |
|---|---|
product_name |
Nama produk. Jika ditinggalkan, nilai lalai ialah Payment for order order_id. |
payment_description |
Penerangan produk yang dipaparkan pada halaman pembayaran. |
discount_value |
Jumlah diskaun. Contoh: 25 atau 50.25. |
customer_phone |
Nombor telefon pelanggan. |
customer_email |
Alamat emel pelanggan. |
link_expired |
Tarikh luput pautan pembayaran. |
currency |
Mata wang pembayaran. Nilai yang disokong: rub, usd, eur, kzt. Mesti dalam huruf kecil. |
payment_title |
Tajuk pembayaran (sehingga 127 aksara). Lalai kepada Payment payment_id. |
locale |
Bahasa halaman pembayaran (contohnya, ru-RU, en-US, fr-FR). |
products_for_receipt |
Maklumat resit. Diperlukan jika anda menggunakan fiskalisasi Prodamus tanpa daftar tunai dalam talian anda sendiri. |
payment_sum |
Wajib. Jumlah pembayaran. |
Luput Pautan
Anda boleh menentukan tarikh luput dalam beberapa cara.
Tarikh tertentu:
25.01.2021
Tarikh dan masa tertentu:
25.01.2021 12:23
Menggunakan pembolehubah:
masa = current_time + 30
link_expired = "#{current_date} #{masa}"
Atau:
link_expired = current_date + 2
Contoh
Pertama, tetapkan jumlah pembayaran.

Kemudian gunakan pembolehubah prodamus_pay_url yang dijana di mana-mana sahaja anda perlu menghantar pautan pembayaran.

Kaedah Pembayaran Tersedia
Pembolehubah prodamus_available_payment_methods mesti ditakrifkan sebelum payment_sum.
Nilai yang disokong termasuk:
| Nilai | Penerangan |
|---|---|
AC |
Kad bank Rusia |
ACkz |
Kad bank Kazakhstan |
ACf |
Kad bank CIS (tidak termasuk Rusia) |
ACEURNMBX |
Kad EUR (tidak termasuk Rusia dan Belarus) |
SBP |
Sistem Pembayaran Lebih Pantas (Rusia) |
QW |
Dompet QIWI |
PC |
YooMoney |
GP |
Terminal pembayaran |
sbol |
Sberbank Online |
invoice |
Pembayaran invois |
installment |
Ansuran Prodamus |
credit |
Kredit T-Bank |
monetaworld |
Kad antarabangsa (tidak termasuk Rusia) |
Beberapa kaedah pembayaran boleh ditentukan dengan memisahkannya dengan palang menegak (|).
Contoh:
prodamus_available_payment_methods = "AC|PC|QW"
Mata Wang
Anda boleh menentukan mata wang pembayaran menggunakan pembolehubah prodamus_currency.
Nilai yang disokong:
kztusdeur
Halaman pembayaran yang dijana akan memaparkan jumlah dalam mata wang yang dipilih.
Semasa memproses panggil balik payment_callback, perhatikan medan berikut:
currencycurrency_sum
Ini mengandungi mata wang pembayaran dan jumlah yang dibayar.
Jika tiada kaedah pembayaran ditentukan, halaman pembayaran tidak akan memaparkan sebarang kaedah pembayaran yang tersedia. Dayakan kaedah pembayaran yang diperlukan dalam akaun Prodamus anda terlebih dahulu.
Memproses Keputusan Pembayaran
Panggil Balik Pembayaran
Selepas pembayaran berjaya atau gagal, Mavibot menerima panggil balik yang boleh digunakan untuk menentukan status pembayaran.
Panggil balik muncul dalam perbualan sebagai mesej sistem. Pelanggan tidak pernah melihat atau menghantar mesej ini.
Contoh:
Pembayaran berjaya:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success
Pembayaran gagal:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail
Selepas pembayaran berjaya, pembolehubah pelanggan berikut dibuat secara automatik:
prodamus_payment_completed = True
Nota: Panggil balik diterima dengan sedikit kelewatan. Selepas menghantar pautan pembayaran, adalah disyorkan untuk memberitahu pelanggan bahawa pengesahan pembayaran mungkin mengambil masa beberapa saat.
Contoh mesej:
Selepas melengkapkan pembayaran, sila tunggu pengesahan pembayaran.
Format Panggil Balik
Pautan pembayaran yang dijana sama ada oleh butang Pembayaran atau fungsi get_prodamus_payment_url() mengembalikan panggil balik berikut selepas pembayaran berjaya:
<kunci_rahasia>_success
Contoh:
ovg58keefc_success
Di mana:
-
<kunci_rahasia>ialah kunci rahsia Prodamus anda. -
_successmenunjukkan pembayaran berjaya.
Contoh
Buat pencetus atau blok bersyarat yang menunggu panggil balik dan kemudian meneruskan aliran chatbot.

Penting: Gunakan Padanan tepat sebagai jenis padanan.
Jika anda ingin menjana pautan pembayaran lain selepas pembayaran berjaya, tetapkan semula maklumat pembayaran sedia ada terlebih dahulu.
Tetapkan:
payment_sum = 0
Kemudian berikan nilai baharu kepada payment_sum untuk menjana pautan pembayaran baharu.
Panggil Balik Langganan
Prodamus juga menghantar panggil balik yang berkaitan dengan status langganan.
Contoh termasuk:
- Langganan dibatalkan oleh pelanggan
- Langganan diaktifkan semula oleh pelanggan
- Langganan dinyahaktifkan selepas beberapa percubaan pembayaran gagal

Langganan Dibatalkan
Dihantar apabila pelanggan membatalkan langganan mereka secara manual.
Tempoh pengebilan berbayar semasa mungkin masih kekal aktif.
Anda boleh menggunakan panggil balik ini untuk:
- mengabaikan peristiwa;
- memberitahu pasukan anda;
- menghantar mesej pengekalan kepada pelanggan.
Langganan Diaktifkan Semula
Dihantar apabila pelanggan memulihkan langganan yang telah dibatalkan sebelumnya.
Bergantung pada logik perniagaan anda, anda boleh mengabaikan panggil balik ini atau mengalih keluar pelanggan daripada aliran kerja pengekalan.
Langganan Dinyahaktifkan
Dihantar selepas beberapa percubaan pembayaran berulang yang tidak berjaya.
Menyimpan Data Panggil Balik
Selepas pembayaran berjaya, muatan panggil balik penuh disimpan dalam pembolehubah berikut:
payment_callback
Ia mengandungi semua maklumat pembayaran yang dikembalikan oleh Prodamus.
Contoh:
{
"date": "2021-03-30T11:44:43+03:00",
"order_id": "757679",
"sum": "14.50",
"customer_phone": "+77777777777",
"customer_extra": "Produk",
"payment_status": "success"
}
Jika anda menyatakan product_name dan payment_description semasa menjana pautan pembayaran, anda boleh mengambilnya daripada panggil balik.
Contoh:
produk = get(payment_callback, "products[0][name]")
penerangan = get(payment_callback, "customer_extra")
Ambil jumlah pembayaran:
jumlah = get(payment_callback, "sum")
Nota: Nilai
payment_sumsentiasa diberikan selepas pembolehubah pilihan sepertipayment_descriptiondanproduct_name.
Panggil Balik Tersedia
Selain panggil balik pembayaran berjaya, Prodamus menghantar pelbagai panggil balik sistem yang boleh digunakan untuk mengautomasikan chatbot anda.
Peristiwa Langganan
- Langganan dibatalkan oleh pelanggan
- Langganan diaktifkan semula oleh pelanggan
- Langganan tamat tempoh
Peristiwa Kegagalan Pembayaran
Bergantung pada penyedia pembayaran, anda mungkin menerima panggil balik dengan sebab kegagalan, contohnya:
- Pembayaran gagal – Dana tidak mencukupi
- Pembayaran gagal – Kad tamat tempoh
- Pembayaran gagal – Had kad melebihi
- Pembayaran gagal – Kad dilaporkan hilang
- Pembayaran gagal – Ralat sistem
- Pembayaran gagal – Transaksi ditolak oleh bank pengeluar
- Pembayaran gagal – Transaksi ditolak oleh bank
Peristiwa Lain
- Pemberitahuan pembayaran berulang yang akan datang
- Permohonan ansuran diluluskan
- Permohonan ansuran dibatalkan
- Permohonan ansuran ditolak
Anda boleh mencipta aliran chatbot yang bertindak balas kepada mana-mana panggil balik ini.
Sebagai contoh, anda boleh memberitahu pelanggan secara automatik apabila pembayaran berulang gagal.
Untuk memproses sebab kegagalan tertentu, buat pencetus yang sepadan dengan panggil balik yang sepadan.

Untuk memproses semua pembayaran gagal tanpa mengira sebab, gunakan syarat yang menyemak sama ada panggil balik mengandungi:
Pembayaran gagal

Mana-mana panggil balik yang mengandungi teks Pembayaran gagal akan mencetuskan tindakan chatbot yang dikonfigurasikan.
Pembayaran Langganan
Mencipta Langganan
Sebelum menerima pembayaran langganan, buat produk langganan di akaun Prodamus anda.
Untuk arahan terperinci, lihat dokumentasi Prodamus.
Selepas mencipta produk langganan, salin ID Produk Langganan.

Tetapkan ID Produk Langganan kepada pembolehubah berikut:
prodamus_subscription
Mavibot secara automatik menjana pembolehubah berikut:
prodamus_pay_url
URL yang dijana boleh dipaparkan dalam mesej atau dilampirkan pada butang.
Contoh:
https://payform.kz/7p3JR8/
Pembayaran langganan diproses dengan cara yang sama seperti pembayaran sekali.
Selepas pembayaran langganan berjaya, nombor telefon pelanggan secara automatik disimpan dalam pembolehubah customer_phone.
Jika
customer_emailtidak disediakan,customer_phonediperlukan untuk pengurusan langganan.
get_prodamus_subscription_url
Anda juga boleh menjana pautan pembayaran langganan menggunakan Kalkulator.
Fungsi:
get_prodamus_subscription_url(
subscription_id,
product_name,
expired,
customer_phone,
customer_email,
discount,
description,
extra_params,
products_for_receipt
)
Contoh

Parameter
| Parameter | Penerangan |
|---|---|
subscription_id |
Wajib. ID Produk Langganan daripada akaun Prodamus anda. |
product_name |
Wajib. Nama produk. |
expired |
Tarikh luput pautan pembayaran. Menyokong dd.MM.yyyy atau dd.MM.yyyy HH:mm. Pembolehubah juga disokong. |
customer_phone |
Nombor telefon pelanggan. Pilihan jika customer_email dinyatakan. |
customer_email |
Alamat e-mel pelanggan. Pilihan jika customer_phone dinyatakan. |
discount |
Jumlah diskaun. |
description |
Penerangan produk. |
extra_params |
Parameter API Prodamus tambahan. |
products_for_receipt |
Maklumat resit. Diperlukan apabila menggunakan fiskalisasi Prodamus tanpa daftar tunai dalam talian sendiri. |
Contoh
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Langganan Kursus Fotografi, 2000 RUB/bulan, https://example.com/course"
subscription_link = get_prodamus_subscription_url(618988, "Kursus Fotografi", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "Langganan Premium", extra_params, products_for_receipt)
Jika berbilang fungsi pautan pembayaran dilaksanakan dalam blok Kalkulator yang sama dan salah satu daripadanya gagal, ralat disimpan dalam pembolehubah
error_payment_func.
Mengurus Status Langganan
Pengurusan langganan hanya tersedia untuk langganan aktif. Ia tidak disokong dalam mod demo kerana tiada kad pembayaran dipautkan.
Untuk mengurus langganan, sekurang-kurangnya satu daripada parameter berikut mesti tersedia:
customer_phonecustomer_email
Untuk membatalkan atau mengaktifkan semula langganan, gunakan fungsi berikut:
delete_subscription_prodamus
Contoh parameter:
{
"customer_phone": "#{customer_phone}",
"id_subscription": "#{prodamus_subscription}",
"url": "https://demo.payform.ru/",
"secret_key": "453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",
"switcher": "0",
"profile_id": "12345"
}
Parameter
| Parameter | Penerangan |
|---|---|
url |
URL borang pembayaran yang dikonfigurasikan dalam Mavibot. |
secret_key |
Kunci rahsia Prodamus anda. |
id_subscription |
ID Produk Langganan. |
customer_phone |
Nombor telefon pelanggan. |
switcher |
Tindakan langganan: 0 – nyahaktifkan, 1 – aktifkan semula. |
profile_id |
ID profil pelanggan dalam Prodamus. |
Jika ID profil dikembalikan oleh Prodamus, ia secara automatik disimpan dalam pembolehubah
profile_id. Anda boleh menggunakan pembolehubah ini dan bukannyacustomer_phoneataucustomer_emailsemasa mengurus langganan.
Contoh:

Fungsi mengembalikan nilai status.
Jika operasi berjaya:
status = ok
prodamus_subscription_switch_status
Anda juga boleh mengurus langganan menggunakan Kalkulator.
prodamus_subscription_switch_status(
subscription_id,
switcher,
customer_phone,
customer_email,
profile_id
)
Parameter
| Parameter | Penerangan |
|---|---|
subscription_id |
ID Produk Langganan. |
switcher |
0 – nyahaktifkan langganan, 1 – aktifkan semula langganan. |
customer_phone |
Nombor telefon pelanggan. Pilihan jika customer_email disediakan. |
customer_email |
Alamat e-mel pelanggan. Pilihan jika customer_phone disediakan. |
profile_id |
ID profil pelanggan dalam Prodamus. |
Contoh 1
Nyahaktifkan langganan menggunakan nombor telefon pelanggan.
status = prodamus_subscription_switch_status(
"618117",
"0",
"75431312321"
)
Contoh 2
Nyahaktifkan langganan menggunakan alamat e-mel pelanggan.
status = prodamus_subscription_switch_status(
"618117",
"0",
"",
"[email protected]"
)
Fungsi mengembalikan
okjika operasi berjaya. Jika tidak, ia mengembalikan mesej ralat.
Mengurus Diskaun Langganan
Gunakan fungsi berikut untuk menggunakan diskaun pada pembayaran berulang masa hadapan.
Diskaun boleh digunakan untuk bilangan pembayaran yang terhad atau tanpa had.
prodamus_subscription_discount(
subscription_id,
discount,
customer_phone,
num,
profile_id
)
Parameter
| Parameter | Penerangan |
|---|---|
subscription_id |
ID Langganan. |
discount |
Jumlah diskaun. Mesti lebih besar daripada sifar dan tidak melebihi harga langganan. |
customer_phone |
Nombor telefon pelanggan. Pilihan jika tersedia daripada customer_phone. |
num |
Bilangan pembayaran masa hadapan yang akan dikenakan diskaun. Jika ditinggalkan, diskaun adalah kekal. |
profile_id |
ID profil pelanggan dalam Prodamus. |
Jika berjaya, fungsi mengembalikan:
ok
Jika tidak, ia mengembalikan penerangan ralat.
Mengemas kini diskaun atau kiraan pembayaran memerlukan memanggil fungsi semula dengan nilai baharu.
Contoh
Diskaun kekal
Gunakan diskaun sebanyak 1 untuk semua pembayaran langganan masa hadapan.
result = prodamus_subscription_discount(
"624034",
"1"
)

Diskaun untuk tiga pembayaran seterusnya
result = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

Diskaun perpuluhan
result = prodamus_subscription_discount(
#{prodamus_subscription},
10.25,
#{customer_phone},
3
)


Menukar Tarikh Pembayaran Langganan Seterusnya
Anda boleh menangguhkan pembayaran berulang seterusnya dengan menukar tarikh yang dijadualkan.
Tarikh pembayaran baharu mestilah sentiasa lebih lewat daripada tarikh pembayaran yang dijadualkan semasa.
Ciri ini boleh digunakan, sebagai contoh, untuk melanjutkan tempoh langganan pelanggan sebagai bonus.
Gunakan fungsi berikut:
prodamus_subscription_payment_date(
subscription_id,
date,
customer_phone,
profile_id
)
Parameter
| Parameter | Penerangan |
|---|---|
subscription_id |
ID Langganan. |
date |
Tarikh pembayaran baharu dalam format dd.MM.yyyy atau dd.MM.yyyy HH:mm. Jika tiada masa dinyatakan, 00:00 digunakan. |
customer_phone |
Nombor telefon pelanggan. Pilihan. Jika ditinggalkan, nilai diambil daripada pembolehubah customer_phone. |
profile_id |
ID profil pelanggan dalam Prodamus. |
Menghantar Parameter Tambahan ke Prodamus
Anda boleh menghantar parameter tambahan yang disokong oleh Prodamus (seperti tarikh mula langganan atau tetapan ansuran) semasa menjana pautan pembayaran.
Cukup buat pembolehubah yang namanya bermula dengan awalan prodamus_.
Contoh:
prodamus_some_parameter
Apabila pautan pembayaran dijana, semua pembolehubah dengan awalan prodamus_ secara automatik disertakan dalam permintaan yang dihantar ke Prodamus.
Menguji Pembayaran
Hanya proses pembayaran yang disimulasikan.
Semasa mengkonfigurasi integrasi dan aliran chatbot anda, anda boleh menggunakan kad ujian Prodamus untuk mengelakkan mengenakan dana sebenar.
Pertama, tukar halaman pembayaran anda ke Mod Demo.
Jangan lupa klik Simpan selepas menukar mod.

Kad Ujian
MIR
| Medan | Nilai |
|---|---|
| Nombor Kad | 2202 2050 0001 2424 |
| Tarikh Luput | 05/35 |
| CVV | 669 |
Mastercard
| Medan | Nilai |
|---|---|
| Nombor Kad | 5469 9801 0004 8525 |
| Tarikh Luput | 05/26 |
| CVV | 041 |
| Kod 3-D Secure | 111111 |
Visa
| Medan | Nilai |
|---|---|
| Nombor Kad | 4006 8009 0096 2514 |
| Tarikh Luput | 05/26 |
| CVV | 941 |
| Kod 3-D Secure | 111111 |
Penting: Kad ujian mencetuskan logik chatbot, panggilan balik, automasi dan integrasi yang sama seperti pembayaran sebenar.
Setelah ujian selesai, tukar halaman pembayaran kembali ke Mod Langsung untuk mula menerima pembayaran sebenar.
Togol mod demo mesti dimatikan (suis merah dilumpuhkan).