Cara Menyediakan Robokassa

Mari lihat cara melaksanakan penerimaan pembayaran dalam bot melalui perkhidmatan Robokassa.

  1. Cipta kedai dalam talian di akaun peribadi perkhidmatan Robokassa dan nyatakan tetapan teknikal berikut:

Cipta kata laluan ujian dan lakukan persediaan awal dalam mod ujian.

Bagaimana untuk menyambungkan Robokassa ke MaviBot?

Pergi ke bahagian "Pemerolehan" dan klik "Sambung" pada kad Robokassa:

dan isi borang dalam tetingkap yang terbuka:

  1. Medan ID Kedai — Shop ID, yang boleh anda temui dalam tetapan kedai di akaun peribadi Robokassa.
  2. Kata Laluan #1, Kata Laluan #2 — urutan unik digit+huruf yang dijana.
  3. Medan Kadar VAT. Anda perlu nyatakan kod yang sesuai untuk menghantar nilai VAT. Medan ini menetapkan kadar cukai dalam KKT. Ditentukan untuk setiap jenis barangan secara berasingan, tetapi untuk semua unit barangan tertentu bersama-sama.

Digunakan dengan nilai:

  • Tanpa VAT.
  • VAT pada kadar 0%.
  • VAT pada kadar 5%
  • VAT resit pada kadar anggaran 12%.
  • VAT resit pada kadar anggaran 16%.

Bagaimana untuk membentuk pautan pembayaran

Pautan pembayaran dalam blok boleh dibentuk menggunakan SALAH SATU daripada kaedah yang tersedia:

Butang dengan fungsi Pembayaran

Pautan pembayaran boleh dibuat dalam butang dengan fungsi "Pembayaran".

Cara mencipta butang dengan fungsi "Pembayaran" telah diterangkan di sini

Mari lihat semua parameter yang mungkin untuk butang ini. Cara mencipta butang dengan fungsi Pembayaran diterangkan dalam artikel ini:

Parameter wajib butang Pembayaran

Untuk membentuk pautan pembayaran dalam tetapan butang, anda perlu nyatakan parameter wajib: Jumlah dan Nama barangan.

medan Jumlah. Dalam medan ini, nyatakan kos barangan dalam rubel

medan Nama barangan. Dalam medan ini, hanya aksara abjad Inggeris atau Rusia, digit dan tanda baca boleh digunakan. Panjang maksimum — 100 aksara. Maklumat ini dipaparkan dalam antara muka Robokassa dan dalam Resit Elektronik yang diterima oleh pelanggan selepas pembayaran berjaya.

TIDAK BOLEH menggunakan petikan berganda dalam nama barangan: padamkan atau gantikan dengan petikan tunggal.

kotak semak Pembayaran automatik. Untuk menyambungkan pembayaran automatik

kotak semak Dengan pemberitahuan klik. Untuk menjejaki peralihan melalui pautan pembayaran, anda boleh menandakan kotak. Dalam kes ini, apabila butang diklik dalam dialog dengan pelanggan di Salebot, pemberitahuan akan dihantar bahawa peralihan melalui pautan telah dibuat

Pemberitahuan ini boleh digunakan untuk mengkonfigurasi logik kerja bot selanjutnya.

Banyak sistem pembayaran menyokong daftar tunai dalam talian awan, ia diperlukan mengikut 54-FZ.
Baca ciri-ciri pemformatan resit di laman web sistem pembayaran yang dipilih untuk mengelakkan situasi yang janggal dengan inspektorat cukai.

Untuk membentuk resit

menu Data untuk membentuk resit. Apabila diklik, menu lungsur akan dibuka dengan parameter untuk membentuk resit:

medan Nama barangan. Wajib untuk membentuk resit.

TIDAK BOLEH menggunakan petikan berganda dalam Nama barangan: padamkan atau gantikan dengan petikan tunggal.

medan Jumlah penuh dalam rubel. Dalam medan ini, anda perlu nyatakan jumlah yang perlu dibayar dengan mengambil kira kuantiti barangan. Jika kuantiti adalah 1, maka Jumlah penuh dalam rubel adalah sama dengan nilai dalam medan Jumlah dalam medan wajib tetapan butang

medan Kuantiti. Kuantiti atau berat barangan. Boleh dihantar sebagai nombor bulat atau pecahan dengan titik. Contoh, 5 atau 10.3

Pembolehubah pelanggan yang akan dibuat secara automatik apabila menggunakan butang dengan fungsi Pembayaran

Sebaik sahaja pengguna menerima blok dengan butang "Pembayaran", pembolehubah pelanggan akan dibuat secara automatik:

Pembolehubah perkhidmatan pelanggan __payments , yang menyimpan jumlah, ID pautan yang dibuat, diperlukan untuk mengenal pasti hook daripada sistem pembayaran.

Pembolehubah perkhidmatan pelanggan __payments TIDAK BOLEH dipadam atau diubah!

Pembolehubah pelanggan error_payment_button dibuat jika ralat berlaku semasa membentuk butang.

Dalam nilai pembolehubah error_payment_button, sama ada teks ralat atau respons sistem pembayaran dengan ralat akan ditulis.

Nilai pembolehubah menjadi relevan apabila beralih ke blok seterusnya

Bagaimana untuk memproses hasil

Perhatian!

Robokassa menghantar pemberitahuan hanya untuk transaksi yang berjaya melalui parameter Result URL. Tiada panggilan balik untuk pembayaran yang tidak berjaya dalam perkhidmatan Robokassa.

Fail URL - hanyalah halaman pembayaran yang tidak berjaya, di mana pembayar akan diarahkan semula sekiranya berlaku ralat kod pada halaman pembayaran.

Pembayaran berjaya.

Selepas anda mengkonfigurasi pembayaran dengan betul dan membentuk pautan untuk menjalankan pembayaran, uji tetapan yang dibuat. Jika pembayaran berjaya, maka dalam dialog pelanggan (bahagian "Pelanggan") SECARA AUTOMATIK akan dihantar PANGGILAN BALIK, yang terdiri daripada 10 aksara kunci rahsia sistem pembayaran, perkataan _success dan jumlah pembayaran dengan ruang. Panggilan balik dijana secara automatik, ia tidak perlu disusun sendiri atau diminta daripada sokongan sistem pembayaran.

Contohnya: ovg58keefc_success 2999, di mana:

ovg58keefc : 10 aksara kunci rahsia sistem pembayaran

_success : hasil pemprosesan permintaan (pembayaran berjaya)

2999 : jumlah pembayaran

Pemprosesan blok:

Panggilan balik:

Panggilan balik (pemberitahuan) daripada sistem pembayaran TIDAK DILIHAT oleh pengguna. Ia hanya dipaparkan dalam tab "Pelanggan" dan boleh dilihat oleh pengendali/ pentadbir.

Contoh menyediakan reaksi terhadap panggilan balik

Dalam blok dengan syarat (ini boleh menjadi blok "Syarat Permulaan" atau blok "Bukan keadaan dengan syarat"), anda perlu nyatakan panggilan balik yang diterima semasa pembayaran.

Penting: pilih padanan Padanan Penuh atau Dengan kehadiran kata kunci

Seterusnya, semasa pembayaran, pelanggan akan menerima mesej daripada blok di mana reaksi terhadap panggilan balik dikonfigurasikan:

Pembayaran dengan ralat

Jika jumlah yang dinyatakan dalam tetapan butang berbeza daripada jumlah yang dibayar oleh pelanggan, dalam bot SECARA AUTOMATIK akan dihantar PANGGILAN BALIK, yang terdiri daripada 10 aksara kunci rahsia sistem pembayaran, perkataan _different_amounts dan ID unik pembayaran dengan ruang

Contohnya: ovg58keefc_different_amounts 123456 , di mana:

ovg58keefc : 10 aksara kunci rahsia sistem pembayaran

_different_amounts : hasil pemprosesan permintaan (jumlah pembayaran berbeza daripada jumlah dalam pautan)

123456 : ID unik pembayaran

Fungsi get_robokassa_payment_url dalam Kalkulator

Untuk membentuk pautan pembayaran, anda boleh menggunakan fungsi get_robokassa_payment_url dalam blok Kalkulator.

Dalam medan Kalkulator, tetapkan nilai fungsi get_robokassa_payment_url kepada pembolehubah

Nama pembolehubah ditetapkan sendiri. Dalam tangkapan skrin, contoh nama pembolehubah.

Pautan pembayaran akan ditulis ke dalam pembolehubah ini. Pembolehubah boleh dipaparkan pada skrin sebagai pautan dalam mesej atau diletakkan dalam butang dengan teks "Bayar".

CONTOH pautan pembayaran: https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda

Banyak sistem pembayaran menyokong daftar tunai dalam talian awan, ia diperlukan mengikut 54-FZ.
Baca ciri-ciri pemformatan resit di laman web sistem pembayaran yang dipilih untuk mengelakkan situasi yang janggal dengan inspektorat cukai.

Kalkulator

Contoh 1:

Penerangan parameter

get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)

Parameter fungsi:

Parameter Nilai parameter
amount

**Jumlah yang perlu dibayar.** Dalam medan ini, nyatakan kos barangan dalam rubel.

(Parameter wajib)

description **Nama barangan.** Dalam medan ini, hanya aksara abjad Inggeris atau Rusia, digit dan tanda baca boleh digunakan. Panjang maksimum — 100 aksara. Maklumat ini dipaparkan dalam antara muka Robokassa dan dalam Resit Elektronik yang diterima oleh pelanggan selepas pembayaran berjaya.
(Parameter wajib)

products_for_

receipt

**Parameter untuk membentuk resit.**

Baca lebih lanjut di sini.

recurrent **Menyambung pembayaran automatik.** Jika pembayaran automatik dihidupkan, hantar nilai 1, jika dimatikan hantar nilai None
currency

**Kod mata wang tiga huruf.**

Nilai mesti dihantar dengan ketat mengikut parameter yang diterima oleh perkhidmatan Robokassa.
USD - dolar;
EUR - euro;
KZT - tenge.

Contoh kod untuk disalin
Contoh 1: Pautan pembayaran tanpa resit

res = get_robokassa_payment_url(100, 'Beli saya')

Contoh 2: Pautan pembayaran dengan resit

receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]

res = get_robokassa_payment_url(100, 'Beli saya', receipt, '3', 1, 1)

Pembolehubah boleh dipaparkan pada skrin sebagai pautan dalam mesej atau diletakkan dalam butang dengan teks, contohnya, "Beli".

Jika dalam blok terdapat beberapa fungsi untuk mendapatkan pautan dan ralat berlaku, maka nilai ralat akan ditulis dalam pembolehubah error_payment_func


Ralat akan ditulis berdasarkan fungsi terakhir dalam Kalkulator

Selepas anda mengkonfigurasi pembayaran dengan betul dan membentuk pautan untuk menjalankan pembayaran, uji tetapan yang dibuat.

Bagaimana untuk menambah penerangan pembayaran

Anda boleh menambah penerangan kepada pembayaran dengan menetapkan pembolehubah payment_description

Penerangan ini akan dipaparkan dalam borang pembayaran, serta pada resit.

Bagaimana untuk memproses hasil

Jika pembayaran berjaya, maka dalam dialog pelanggan (bahagian "Pelanggan") SECARA AUTOMATIK akan dihantar PANGGILAN BALIK, yang terdiri daripada 10 aksara kunci rahsia sistem pembayaran, perkataan _success dan jumlah pembayaran dengan ruang. Panggilan balik dijana secara automatik, ia tidak perlu disusun sendiri atau diminta daripada sokongan sistem pembayaran,

Contohnya: ovg58keefc_success 1500, di mana:

ovg58keefc : 10 aksara kunci rahsia sistem pembayaran

_success : hasil pemprosesan permintaan (pembayaran berjaya)

1500 : jumlah pembayaran

Sila ambil perhatian!

Panggil balik hanya kelihatan kepada anda dalam dialog dengan pelanggan.

Pelanggan tidak melihat panggil balik, tetapi anda boleh mengkonfigurasi reaksi terhadap pemprosesan pembayaran yang berjaya.

Contoh

Tetapan blok dengan fungsi get_robokassa_payment_url:

  1. Jika anda memberikan pautan dalam teks:

Penting!

Pautan pembayaran adalah unik: ia tidak boleh disalin dan kemudian dihantar kepada pelanggan lain!

Hantar pautan pembayaran melalui pembolehubah dalam bot (lihat rajah 17).

Panggil balik apabila pembayaran berjaya:

  1. Pautan dalam butang:

Pemprosesan blok:

Panggil balik apabila pembayaran berjaya:

Mencipta pautan menggunakan pembolehubah payment_sum dan parameter tambahan

Anda juga boleh menerima pembayaran dengan menjana pautan menggunakan pembolehubah payment_sum, di mana anda hanya perlu menyatakan jumlah pembayaran.

Sila ambil perhatian: pembolehubah payment_sum diberikan nilai terakhir, selepas pembolehubah pilihan payment_description, product_name dan lain-lain.

Untuk menjana pautan pembayaran, anda perlu menetapkan nilai pembolehubah payment_sum, serta-merta selepas itu pembolehubah robokassa_pay_url akan muncul. Pembolehubah ini boleh dipaparkan pada skrin sebagai pautan atau diletakkan pada butang dengan teks "Bayar".

CONTOH pemprosesan blok (pautan pembayaran):

Penting!

Pautan pembayaran adalah unik: ia tidak boleh disalin dan kemudian dihantar kepada pelanggan lain!

Hantar pautan pembayaran melalui pembolehubah dalam bot

Untuk menghantar pautan dalam butang, nyatakan pembolehubah dalam butang di medan url:

Hasil pembayaran semasa membentuk pautan pembayaran melalui payment_sum

Selepas pembayaran berjaya, panggil balik akan dihantar ke bot. Panggil balik ini dalam sistem anda lihat sebagai mesej daripada pengguna, untuk mengelakkan pengguna daripada menghantarnya, ia terdiri daripada kata laluan pertama daripada perkhidmatan Robokassa dan akhiran dengan status success, contohnya: qxgZ7zkNX4HHnG8UpZ61_success.

Juga selepas pembayaran berjaya, pembolehubah robokassa_payment_completed ditetapkan kepada True.

Panggil balik ini TIDAK DILIHAT oleh pengguna, ia hanya dipaparkan kepada pengendali

Jenis perbandingan mestilah "Padanan Penuh"

Untuk membuat pembayaran berulang, adalah wajib untuk menetapkan semula payment_sum, pautan yang telah dibentuk sebelum ini dan kemudian menetapkan semula pembolehubah payment_sum untuk mendapatkan pautan baharu

Contoh penetapan semula pembolehubah:
robokassa_pay_url=''
payment_sum=0

Selepas pembayaran selesai, pelanggan akan ditambahkan pembolehubah robokassa_callback_data, yang mengandungi data respons sistem pembayaran untuk transaksi yang dilakukan. Daripada kamus yang diperoleh, anda boleh mengekstrak data yang diperlukan menggunakan kaedah get.

Cara mencipta skema ujian

Contoh skema yang akan membolehkan anda menguji dan mula bekerja dengan perkhidmatan Robokassa dengan cepat:

Rajah menunjukkan contoh blok pertama, di mana pengguna ditanya berapa banyak yang mereka mahu bayarь.

Dalam rajah di bawah, tetapan anak panah, di dalamnya suis "Pengguna memasukkan data" mesti dihidupkan dan pembolehubah payment_sum ditulis dalam medan:

Seterusnya, dalam blok pembayaran seterusnya, tambahkan butang dan tetapkan pembolehubah robokassa_pay_url dalam baris url:

Skema akan berfungsi seperti berikut:

Apabila mengklik butang, jumlah yang dinyatakan oleh pelanggan akan tersedia untuk pembayaran.

Selepas pembayaran, panggil balik akan tiba, yang mana anda juga boleh mengkonfigurasi reaksi.

Penting!

Panggil balik tentang pembayaran yang tidak berjaya dalam Robokassa tidak wujud.

Untuk ini, tambahkan satu lagi blok dengan syarat, dan dalam baris dengan syarat, tulis panggil balik dalam bentuk "qxgZ7zkNX4HHnG8UpZ61_success":

Jenis semakan mesti ditetapkan kepada "Padanan Penuh"

Skema akan berfungsi seperti berikut:

Cara membentuk permintaan untuk fiskalisasi

Dalam butang dengan fungsi "Pembayaran"

Semasa mencipta butang dalam menu lungsur "Data untuk pembentukan resit", isikan medan "Nama produk", "Jumlah penuh dalam rubel", "Kuantiti", "Kadar VAT", "Sistem percukaian".

Butiran lanjut dalam bahagian "Untuk pembentukan resit".

Menggunakan pembolehubah payment_sum

Oleh kerana penjanaan pautan berlaku pada masa anda menetapkan nilai pembolehubah payment_sum, anda perlu menetapkan pembolehubah products_for_receipt dan robokassa_sno.

Penting:

  • semasa membentuk pautan melalui pembolehubah payment_sum, sistem percukaian ditetapkan dalam pembolehubah robokassa_sno.
  • payment_sum mestilah sama dengan jumlah kos semua produk (jumlah semua parameter sum).

Contoh:

session_timeout = 7200

product_name = Pembayaran Pertama

robokassa_sno = osn

products_for_receipt = [{"name": "Nama produk", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Nama produk 2", "quantity": 1, "sum": 6, "tax": "none"}]

payment_sum = 10

Untuk fungsi get_robokassa_payment_url dan robokassa_recurrent_payment

Apabila memanggil fungsi get_robokassa_payment_url atau fungsi robokassa_recurrent_payment, hantar sebagai hujah pembolehubah taxation dan products_for_receipt mengikut penerangan di bawahе.

Fungsi akan menyediakan pautan dengan mengambil kira tatanama produk dan membentuk permintaan untuk fiskalisasi.

Penting:

Pembolehubah taxation dan products_for_receipt mesti ditetapkan untuk setiap pembayaran individu.

Perkhidmatan Robokassa tidak menyimpan parameter ini dan tidak akan dapat menjalankan fiskalisasi pembayaran yang mana tatanama tidak dihantar.

  1. products_for_receipt - tatasusunan yang mengandungi tatanama produk.

Setiap unit produk mesti diwakili sebagai kamus yang mengandungi parameter name, quantity, sum, tax, payment_method, payment_object dan nomenclature_code.


! products_for_receipt perlu dinyatakan dalam format berikut:

[

{"name": "Nama produk", "quantity": "Kuantiti produk", "sum": "Kos produk", "tax": "Kadar VAT"},

{"name": "Nama produk 2", "quantity": "Kuantiti produk 2", "sum": "Kos produk", "tax": "Kadar VAT"}

]

di mana,

1) name - nama produk. Jika dalam nama produk anda menggunakan aksara khas, contohnya tanda petik, maka ia mesti dilindungi.

2) quantity - kuantiti atau berat produk (nombor bulat atau pecahan dengan titik)

3) sum atau amount (wajib, dua varian nama) - jumlah penuh dalam rubel untuk semua kuantiti produk ini dengan mengambil kira semua kemungkinan diskaun, bonus dan harga khas.

4) tax atau vat_code - (wajib, dua varian nama, nilai bergantung pada nama) - kadar VAT. Parameter ini menetapkan kadar cukai dalam KKT.

**Nilai untuk tax: **

Nilai Penerangan
none tanpa VAT
vat0 VAT pada kadar 0%
vat5 VAT pada kadar 5%
vat12 VAT pada kadar 12%
vat16 VAT pada kadar 16%

Nilai untuk vat_code:

Nilai Penerangan
'1' Tanpa VAT
'2' VAT pada kadar 0%
'8' VAT pada kadar 5%
'15' VAT pada kadar 12%
'14' VAT pada kadar 16%

5) method atau payment_method - (dua varian nama, parameter pilihan) tanda kaedah pengiraan.

Nilai parameter yang mungkin: Apa yang dimaksudkan dengan nilai:
full_prepayment prabayar 100%. Pembayaran awal penuh sebelum pemindahan item pengiraan
prepayment prabayar. Pembayaran awal separa sebelum pemindahan item pengiraan
advance pendahuluan
full_payment pengiraan penuh. Pembayaran penuh, termasuk dengan mengambil kira pendahuluan (prabayar) pada masa pemindahan item pengiraan;
partial_payment pengiraan separa dan kredit. Pembayaran separa item pengiraan pada masa pemindahannya dengan pembayaran berikutnya secara kredit;
credit pemindahan secara kredit. Pemindahan item pengiraan tanpa pembayarannya pada masa pemindahan dengan pembayaran berikutnya secara kredit;
credit_payment pembayaran kredit. Pembayaran item pengiraan selepas pemindahannya dengan pembayaran secara kredit (pembayaran kredit).

6) object atau payment_object - (dua varian nama, parameter pilihan) item pengiraan (jika tidak dihantar, akan menjadi commodity (produk))

Nilai parameter yang mungkin Apa yang dimaksudkan dengan nilai
commodity Produk. Mengenai produk yang dijual, kecuali produk boleh cukai (nama dan maklumat lain yang menerangkan produk)
excise Produk boleh cukai. Mengenai produk boleh cukai yang dijual (nama dan maklumat lain yang menerangkan produk)
job Kerja. Mengenai kerja yang dilakukan (nama dan maklumat lain yang menerangkan kerja)
service Perkhidmatan. Mengenai perkhidmatan yang diberikan (nama dan maklumat lain yang menerangkan perkhidmatan)
gambling_bet Taruhan permainan judi. Mengenai penerimaan taruhan semasa menjalankan aktiviti menjalankan permainan judi
gambling_prize Kemenangan permainan judi. Mengenai pembayaran wang tunai dalam bentuk kemenangan semasa menjalankan aktiviti menjalankan permainan judi
lottery Tiket loteri. Mengenai penerimaan wang tunai semasa penjualan tiket loteri, tiket loteri elektronik, penerimaan taruhan loteri semasa menjalankan aktiviti menjalankan loteri
lottery_prize Kemenangan loteri. Mengenai pembayaran wang tunai dalam bentuk kemenangan semasa menjalankan aktiviti menjalankan loteri
intellectual_activity Penyediaan hasil aktiviti intelektual. Mengenai pemberian hak untuk menggunakan hasil aktiviti intelektual atau cara pengindividuan
payment Pembayaran. Mengenai pendahuluan, deposit, prabayar, kredit, sumbangan sebagai bayaran, penalti, denda, ganjaran, bonus dan item pengiraan lain yang serupa
agent_commission Ganjaran ejen. Mengenai ganjaran pengguna yang merupakan ejen pembayaran (subejen), ejen pembayaran bank (subejen), komisioner, wakil atau ejen lain;
composite Item pengiraan komposit. Mengenai item pengiraan yang terdiri daripada item, setiap satunya boleh diberikan nilai ciri yang disenaraikan di atas
another Item pengiraan lain. Mengenai item pengiraan yang tidak berkaitan dengan item pengiraan yang disenaraikan di atas
property_right Hak harta
non-operating_gain Pendapatan bukan operasi
insurance_premium Premium insurans
sales_tax Cukai jualan
resort_fee Yuran peranginan
  1. nomenclature_code - (wajib bersyarat) penandaan produk: dihantar dalam bentuk yang dicetak pada pembungkusan produk.

Parameter ini hanya wajib untuk kedai yang menjual produk yang memerlukan penandaan wajib.

Kod penandaan terletak pada pembungkusan produk, di sebelah kod bar atau dalam bentuk kod QR.

Penting! Untuk fiskalisasi, adalah penting untuk menghantar parameter resit.

Format resit yang betul dihantar seperti berikut:

rec = [{"name": "Pek 1 bulan", "quantity": 1, "sum": 4800, "tax": "none"}]

response = robokassa_recurrent_payment(4800, 'Latihan di Sekolah Penerbangan Aviator', 'ru', rec, 'osn')

di mana anda perlu menggantikan data anda sendiri.

Pembentukan resit semasa menerima pembayaran dalam Kursus di halaman kursus

Anda perlu memilih sistem pembayaran Robokassa di bahagian "Pembayaran" dalam tetapan kursus:

Isi medan "Kadar VAT" di bahagian "Pemerolehan" dalam tetapan sistem pembayaran (jika belum dilakukan sebelumnya).

Apakah ralat yang mungkin berlaku

Kod ralat 40

"Pembayaran berulang untuk invois dengan nombor yang sama tidak boleh dilakukan".

Selepas pembayaran berjaya, adalah perlu untuk memindahkan dialog ke blok "Tamat Pengumpulan Data" untuk membentuk nombor pembayaran baharu.

Kod ralat 34

"Perkhidmatan pembayaran berulang tidak dibenarkan untuk kedai".

Kod ralat 31

"Jumlah pembayaran tidak sah".

Ralat ini mungkin berlaku semasa mengarahkan semula pelanggan ke halaman pembayaran untuk mengeluarkan invois. Ini bermakna anda tidak menghantar jumlah yang perlu dibayar, atau menghantar jumlah yang sama dengan sifar.

Kod ralat 29

"Parameter Signature tidak sah"

Terdapat beberapa punca yang mungkin, tetapi semuanya berkaitan dengan skrip yang memulakan pembayaran (lebih tepat lagi, bahagian yang membentuk parameter Signature berdasarkan formula yang terdiri daripada pembolehubah). Ralat ini agak biasa, dan berikut adalah 3 punca yang mungkin:

  • Pertama: ID Kedai (MerchantLogin) yang tidak betul;
  • Kedua: Kata Laluan 1 (MerchantPass1) yang salah;
  • Ketiga: anda menggunakan parameter tambahan (shp_) yang telah ditambahkan dalam kod program mesin tunai, tetapi tidak dimasukkan dalam formula pengiraan - atau sebaliknya, ia dinyatakan dalam formula pengiraan tetapi tiada dalam kod. Jika ada, hantarkannya dalam susunan abjad – seperti dalam parameter pembayaran dan dalam formula pengiraan Signature.

Perkara penting! Jika anda bekerja dalam mod ujian, dengan menghantar parameter IsTest=1 atau menandakannya dalam tetapan modul/bot, gunakan hanya pasangan kata laluan teknikal ujian (tab "Tetapan Teknikal" kad kedai anda).

Kod ralat 23

"Pembayaran ujian tidak boleh dibuat. Kedai tidak mempunyai tetapan parameter ujian".

Ini bermakna sebelum melakukan pembayaran ujian, anda tidak mengisi semua data yang diperlukan dalam blok "Parameter untuk Menjalankan Pembayaran Ujian" pada tab "Tetapan Teknikal".

Kod ralat 25

"Kedai tidak diaktifkan".

Ralat ini agak biasa, dan terdapat 2 punca yang mungkin.

  • Pertama: ini memang benar – dan anda perlu mengaktifkan kedai, kemudian barulah mengeluarkan invois.
  • Kedua: anda salah memasukkan ID Kedai dalam tetapan teknikal di laman web. Anda boleh melihat ID yang betul di bahagian "Kedai Saya" dalam Akaun Peribadi. Pergi ke tab "Tetapan Teknikal" dan cari medan "ID Kedai". Salin ID dan masukkannya dalam tetapan laman web.

Cara melakukan pembayaran automatik perkhidmatan Robokassa

Panduan langkah demi langkah untuk menyambungkan pembayaran automatik untuk perkhidmatan Robokassa

Langkah 1. Aktifkan pembayaran automatik dalam butang pembayaran

Pergi ke tetapan blok di mana anda memberikan pautan pembayaran dan pergi ke tetapan butang:

Seterusnya, dalam tetapan butang, cari kotak semak "Pembayaran Automatik" dan aktifkannya:

Jika anda ingin menerima pembayaran automatik dalam semua butang pembayaran, anda boleh mengaktifkan pembayaran automatik dalam tetapan sambungan sistem pembayaran:

Langkah 2. Lakukan pembayaran biasa.

Seterusnya, anda perlu melakukan pembayaran biasa (dapatkan pautan pembayaran dan minta pelanggan membayarnya), seperti yang diterangkan di atas. Selepas pembayaran berjaya, pelanggan akan mempunyai pembolehubah robokassa_previous_invoice_id dengan ID pembayaran.

Pembolehubah robokassa_previous_invoice_id adalah wajib untuk pembayaran seterusnya.

Jika ia dipadamkan, pembayaran automatik seterusnya TIDAK boleh dilakukan.

Perhatian!

Nyahaktifkan kotak semak "Pembayaran dalam mod ujian" (jika ia aktif), jika tidak, pembolehubah robokassa_previous_invoice_id dengan ID pembayaran tidak akan dihasilkan!

Langkah 3. Jadualkan potongan automatik

Dari blok Pembayaran Berjaya, jadualkan anak panah dengan pemasa ke blok dengan pembayaran automatik. Sebagai contoh, jadualkan pembayaran seterusnya selepas 30 hari.

Untuk membolehkan pembayaran automatik berlaku dalam blok yang dikehendaki dalam medan Kalkulator, anda perlu menambah panggilan fungsi robokassa_recurrent_payment, dengan menghantar parameter dalam susunan yang ditentukan:

  1. payment_amount - jumlah yang perlu dibayar (harga produk dalam rubel)
  2. description - nama produk. Dalam medan ini, hanya aksara abjad Inggeris atau Rusia, nombor dan tanda baca boleh digunakan. Panjang maksimum — 100 aksara. Maklumat ini dipaparkan dalam antara muka Robokassa dan dalam Resit Elektronik yang diterima oleh pelanggan selepas pembayaran berjaya.
  3. country - zon domain ('ru' atau 'kz')
  4. products_for_receipt - parameter untuk membentuk resit.

Butiran lanjut dalam bahagian "Cara membentuk permintaan untuk fiskalisasi -> Untuk fungsi get_robokassa_payment_url dan robokassa_recurrent_payment

  1. taxation - sistem percukaian.

Butiran lanjut dalam bahagian "Cara membentuk permintaan untuk fiskalisasi -> Untuk fungsi get_robokassa_payment_url dan robokassa_recurrent_payment

Contoh permintaan untuk pembayaran automatik:

Semasa melaksanakan pembayaran automatik, tidak sepatutnya ada pautan pembayaran Robokassa dan pembolehubah payment_sum!

Langkah 4. Jadualkan potongan tetap dan sediakan kemungkinan untuk menarik diri daripada pembayaran automatik.

Untuk pengulangan pembayaran secara tetap, jadualkan gelung - anak panah dengan kelewatan, contohnya, 30 hari.

Jika anda mempunyai kemungkinan untuk membatalkan pembayaran automatik, maka untuk mengelakkan pembayaran seterusnya daripada dilaksanakan, anda perlu memadamkan pembolehubah robokassa_previous_invoice_id daripada pelanggan.

Untuk melakukan ini, dalam medan Kalkulator, padamkan pembolehubah:

robokassa_previous_invoice_id = ""

Pembayaran biasa dengan pembayaran automatik diaktifkan

Jika pembayaran automatik diaktifkan, tetapi pautan tanpa langganan (tanpa pembayaran automatik) diperlukan, maka sebelum membentuk pautan, anda perlu menetapkan pembolehubah robokassa_manual_recurrent_disable dengan nilai 1.

Dalam medan Kalkulator, isytiharkan pembolehubah:
robokassa_manual_recurrent_disable = 1

Perhatian!

Panggil balik semasa pembayaran automatik adalah sama dengan panggil balik yang diterima semasa pembayaran berjaya.

Cara menyediakan reaksi terhadap panggil balik diterangkan dalam bahagian "Cara memproses keputusan"

Apakah keperluan perkhidmatan Robokassa untuk chatbot

Jawapan rasmi daripada perkhidmatan Robokassa:

Anda boleh meletakkan produk di pasaran dengan penerangan dan tanda harga serta menerima pembayaran dalam bot, anda boleh membuat halaman satu muka dengan penerangan, tanda harga, butiran hubungan dan menyatakan bahawa penghantaran produk/penyediaan perkhidmatan adalah elektronik. Kami mesti mempunyai pautan ke produk di pasaran atau ke laman web, kerana apa yang anda jual dalam bot anda dan dalam bot apa - kami tidak boleh tahu.

Kami tidak memasukkan pautan ke saluran Telegram sebagai URL. Juga keperluan untuk kandungan laman web: "Laman web mestilah berfungsi, dengan kandungan yang diisi, pautan dalaman yang berfungsi.

Produk dan perkhidmatan di laman web anda mesti diterangkan secara terperinci: Penerangan mesti merangkumi ciri-ciri produk dan perkhidmatan yang ditawarkan, sifat pengguna dan harga semasa.

Di laman web anda, maklumat terkini mesti diletakkan: telefon, e-mel, peraturan untuk membuat dan tempoh pelaksanaan pesanan, syarat pembayaran, penghantaran dan pemulangannya.

Setiap laman web dipertimbangkan secara individu.

Robokassa dalam Telegram

Menyambung bot ujian RobokassaPaymentTestBot.

  1. Apabila memilih Connect Robokassa Test, pengguna pergi ke bot RobokassaPaymentTestBot.
  2. Pengguna menekan butang /mula.
  3. Pengguna menerima jawapan daripada bot "Masukkan ID Kedai".
  4. Anda perlu memasukkan id dari kedai dalam perkhidmatan Robokassa.
  5. Bot akan meminta pengesahan, mengesahkan pemilikan kedai dengan menghantar sms ke nombor yang dinyatakan dalam kedai: "SMS telah dihantar ke nombor *%%%%" di mana %%%% - 4 digit terakhir nombor telefon
  6. Pengguna memasukkan kod 6 digit.
  7. Jika semuanya berjaya, pengguna akan melihat mesej: "Anda berjaya menyambungkan bot @BotName ke Robokassa. @BotFather akan memberitahu anda token baharu."
  8. Selepas itu, token pembayaran muncul di BotFather, yang mana pembayaran disambungkan.

Menyambung bot langsung RobokassaPaymentBot.

  1. Apabila memilih Connect Robokassa Live, pengguna pergi ke bot RobokassaPaymentBot,
  2. Pengguna menekan butang /mula.
  3. Pengguna menerima jawapan daripada bot "Masukkan ID Kedai".
  4. Anda perlu memasukkan id dari kedai dalam perkhidmatan Robokassa.
  5. Bot akan meminta pengesahan, mengesahkan pemilikan kedai dengan menghantar sms ke nombor yang dinyatakan dalam kedai: "SMS telah dihantar ke nombor *%%%%", di mana %%%% - 4 digit terakhir nombor telefon
  6. Pengguna memasukkan kod 6 digit.
  7. Jika semuanya berjaya, pengguna akan melihat mesej: "Anda berjaya menyambungkan bot @BotName ke Robokassa. @BotFather akan memberitahu anda token baharu."
  8. Selepas itu, token pembayaran muncul di BotFather, yang mana pembayaran disambungkan.

Pemprosesan hasil pembayaran adalah serupa dengan yang diterangkan di sini