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_params mengandungi parameter pembayaran tambahan.
  • products_for_receipt mengandungi maklumat resit fiskal.
  • payment_link menyimpan 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_sum digunakan selepas semua pembolehubah pilihan seperti payment_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:

  • kzt
  • usd
  • eur

Halaman pembayaran yang dijana akan memaparkan jumlah dalam mata wang yang dipilih.

Semasa memproses panggil balik payment_callback, perhatikan medan berikut:

  • currency
  • currency_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.
  • _success menunjukkan 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_sum sentiasa diberikan selepas pembolehubah pilihan seperti payment_description dan product_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_email tidak disediakan, customer_phone diperlukan 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_phone
  • customer_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 bukannya customer_phone atau customer_email semasa 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 ok jika 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).