Robokassa-ны қалай баптау керек
Ботта Robokassa қызметі арқылы төлем қабылдауды қалай жүзеге асыру керектігін қарастырайық.
- Robokassa қызметінің жеке кабинетінде интернет-дүкен құрыңыз және келесі техникалық параметрлерді көрсетіңіз:
- Хэш есептеу алгоритмі: MD5\
- Result Url: https://chatter.mavibot.ai/robokassa\_callback/result\
- Result Url бойынша деректерді жіберу әдісі: GET\
- Success Url: https://chatter.mavibot.ai/robokassa\_callback/success\
- Success Url бойынша деректерді жіберу әдісі: GET\
- Fail Url: https://chatter.mavibot.ai/robokassa\_callback/fail\
- Fail Url бойынша деректерді жіберу әдісі: GET

Тестілік құпиясөздерді жасаңыз және бастапқы баптауды тестілік режимде жүргізіңіз.
MaviBot-қа Robokassa-ны қалай қосу керек?
"Эквайринг" бөліміне өтіп, Робокасса тақтасында "Қосу" түймесін басыңыз:

және ашылған терезедегі форманы толтырыңыз:
- Дүкен идентификаторы өрісі — Robobkassa жеке кабинетіндегі дүкен параметрлерінен табуға болатын Shop ID.
- Құпиясөздер #1, құпиясөз #2 — сандар+әріптердің бірегей жасалған тізбектері.
- ҚҚС мөлшерлемесі өрісі. ҚҚС мәнін беру үшін қолайлы кодты көрсету қажет. Бұл өріс ККТ-дағы салық мөлшерлемесін белгілейді. Әрбір тауар түрі үшін жеке анықталады, бірақ белгілі бір тауардың барлық бірліктері үшін бірге.
Келесі мәндермен қолданылады:
- ҚҚС жоқ.
- 0% мөлшерлемесі бойынша ҚҚС.
- 5% мөлшерлемесі бойынша ҚҚС.
- 12% есептік мөлшерлемесі бойынша ҚҚС.
- 16% есептік мөлшерлемесі бойынша ҚҚС.
Төлем сілтемесін қалай құру керек
Блокта төлем сілтемесін КЕЛЕСІ ТӘСІЛДЕРДІҢ БІРІМЕН құруға болады:
- Төлем функциясы бар түйме немесе
- Калькулятордағы get_robokassa_payment_url функциясы немесе
- payment_sum айнымалысы және қосымша параметрлер арқылы сілтеме құру (ескі, бірақ жұмыс істейтін нұсқа)
Төлем функциясы бар түйме
Төлем сілтемесін "Төлем" функциясы бар түймеде құруға болады.
"Төлем" функциясы бар түймені қалай құру керектігі осы жерде түсіндірілген
Осы түйменің барлық мүмкін параметрлерін қарастырайық. "Төлем" функциясы бар түймені қалай құру керектігі осы мақалада түсіндірілген:
Төлем түймесінің міндетті параметрлері
Төлем сілтемесін құру үшін түйме параметрлерінде міндетті параметрлерді көрсету қажет: Сома және Тауар атауы.**

Сома өрісі. Бұл өрісте тауардың рубльдегі құнын көрсетеміз
Тауар атауы өрісі. Бұл өрісте тек ағылшын немесе орыс әліпбиінің таңбаларын, сандарды және тыныс белгілерін пайдалануға болады. Ең ұзындығы — 100 таңба. Бұл ақпарат Robokassa интерфейсінде және клиент сәтті төлемнен кейін алатын Электрондық түбіртекте көрсетіледі.
Тауар атауында қос тырнақшаларды ПАЙДАЛАНУҒА БОЛМАЙДЫ: оларды алып тастаңыз немесе жалқы тырнақшалармен ауыстырыңыз.
Автотөлем құсбелгісі. Автотөлемді қосу үшін
Басу туралы хабарландыру құсбелгісі. Төлем сілтемесі бойынша өтуді бақылау үшін құсбелгіні қоюға болады. Бұл жағдайда, түймені басқан кезде, клиентпен диалогта Сейлботта сілтеме бойынша өту жасалғаны туралы хабарландыру келеді
Осы хабарландыруға боттың одан әрі жұмыс логикасын баптауға болады.
Көптеген төлем жүйелері бұлтты онлайн-кассаларды қолдайды, олар 54-ФЗ бойынша қажет.
Салық инспекциясымен ыңғайсыз жағдайға тап болмау үшін таңдалған төлем жүйесінің сайтында чектерді ресімдеу ерекшеліктерін оқып шығыңыз.
Чекті қалыптастыру үшін
Чекті қалыптастыруға арналған деректер мәзірі. Басқан кезде чекті қалыптастыруға арналған параметрлері бар ашылмалы мәзір ашылады:

Тауар атауы өрісі. Чекті қалыптастыру үшін міндетті.
Тауар атауында қос тырнақшаларды ПАЙДАЛАНУҒА БОЛМАЙДЫ: оларды алып тастаңыз немесе жалқы тырнақшалармен ауыстырыңыз.
Рубльдегі толық сома өрісі. Бұл өрісте тауарлардың санын ескере отырып, төлем сомасын көрсету қажет. Егер саны 1-ге тең болса, онда рубльдегі толық сома түйме параметрлерінің міндетті өрісіндегі Сома өрісіндегі мәнге тең болады
Саны өрісі. Тауардың саны немесе салмағы. Нүкте арқылы бүтін немесе бөлшек санды беруге болады. Мысалы, 5 немесе 10.3
Төлем функциясы бар түймені пайдаланған кезде автоматты түрде жасалатын клиент айнымалылары
Пайдаланушы "Төлем" түймесі бар блокты алғаннан кейін клиенттің айнымалылары автоматты түрде жасалады:

Клиенттің қызметтік айнымалысы __payments , ол соманы, жасалған сілтеменің идентификаторын сақтайды, төлем жүйесінен хукты идентификациялау үшін қажет.
Клиенттің __payments қызметтік айнымалысын ЖОЮҒА немесе ӨЗГЕРТУГЕ БОЛМАЙДЫ!
Клиенттің error_payment_button айнымалысы түймені қалыптастыру кезінде қате пайда болса, жасалады.
error_payment_button айнымалысының мәніне қате мәтіні немесе төлем жүйесінің қатемен жауабы жазылады.
Айнымалылардың мәндері келесі блокқа өткен кезде өзекті болады
Нәтижені қалай өңдеу керек
Назар аударыңыз!
Robokassa тек сәтті транзакциялар бойынша Result URL параметрі бойынша хабарландыру жібереді. Robokassa қызметінде сәтсіз төлемдер туралы коллбэктер жоқ.
Fail URL - бұл төлем бетінде кодтық қате пайда болған жағдайда төлеуші қайта бағытталатын сәтсіз төлем беті ғана.
Сәтті төлем.
Төлемді дұрыс баптап, төлем жүргізу үшін сілтеме жасағаннан кейін, жасалған параметрлерді тексеріңіз. Егер төлем сәтті өтсе, онда клиенттің диалогына ("Клиенттер" бөлімі) АВТОМАТТЫ ТҮРДЕ КОЛЛБЭК келеді, ол төлем жүйесінің құпия кілтінің 10 таңбасынан, _success сөзінен және бос орын арқылы төлем сомасынан тұрады. Коллбэк автоматты түрде жасалады, оны өзіңіз құрастырудың немесе төлем жүйесінің қолдау қызметінен сұраудың қажеті жоқ,


Мысалы: ovg58keefc_success 2999, мұндағы:
ovg58keefc : төлем жүйесінің құпия кілтінің 10 таңбасы
_success : сұрауды өңдеу нәтижесі (сәтті төлем)
2999 : төлем сомасы
Блоктың өңделуі:

Колбек:

Төлем жүйесінен келген коллбэктерді (хабарландыруларды) пайдаланушы КӨРМЕЙДІ. Олар тек "Клиенттер" қойындысында көрсетіледі және оператор/әкімшіге көрінеді.
Коллбэкке реакцияны баптау мысалы
Шарты бар блокта (бұл "Бастапқы шарт" блогы да, "Шарты бар күй емес" блогы да болуы мүмкін) төлем кезінде келетін коллбэкті көрсету қажет.
Маңызды: сәйкестікті таңдау Толық сәйкестік немесе Кілт сөздердің болуы бойынша

Әрі қарай, төлем кезінде клиентке коллбэкке реакция бапталған блоктан хабарлама келеді:

Қатемен төлем
Егер түйме параметрлерінде көрсетілген сома клиент төлеген сомадан ерекшеленсе, ботқа АВТОМАТТЫ ТҮРДЕ КОЛЛБЭК келеді, ол төлем жүйесінің құпия кілтінің 10 таңбасынан, _different_amounts сөзінен және бос орын арқылы төлемнің бірегей ID-інен тұрады
Мысалы: ovg58keefc_different_amounts 123456 , мұндағы:
ovg58keefc : төлем жүйесінің құпия кілтінің 10 таңбасы
_different_amounts : сұрауды өңдеу нәтижесі (төлем сомасы сілтемедегі сомадан ерекшеленеді)
123456 : төлемнің бірегей ID-і
Калькулятордағы get_robokassa_payment_url функциясы
Төлем сілтемесін құру үшін блоктағы Калькуляторда get_robokassa_payment_url функциясын пайдалануға болады.
Калькулятор өрісінде айнымалыға get_robokassa_payment_url функциясының мәнін береміз
Айнымалының атауын өзіңіз бересіз. Скриншоттарда айнымалы атауларының мысалдары көрсетілген.
Осы айнымалыға төлем сілтемесі жазылады. Айнымалыны хабарламада сілтеме ретінде экранға шығаруға немесе "Төлеу" мәтіні бар түймеге орналастыруға болады.
Төлем сілтемесінің МЫСАЛЫ:: https://auth.robokassa.ru/Merchant/Index.aspx?MerchantLogin=test_salebot&OutSum=800&InvId=1412&IsTest=1&SignatureValue=0427369c3bd068bae30935f896060dda
Көптеген төлем жүйелері бұлтты онлайн-кассаларды қолдайды, олар 54-ФЗ бойынша қажет.
Салық инспекциясымен ыңғайсыз жағдайға тап болмау үшін таңдалған төлем жүйесінің сайтында чектерді ресімдеу ерекшеліктерін оқып шығыңыз.
Калькулятор
1-мысал:

Параметрлердің сипаттамасы
get_robokassa_payment_url(amount, description, products_for_receipt, recurrent, currency)
Функция параметрлері:
| Параметр | Параметр мәні |
|---|---|
amount |
**Төлем сомасы.** Бұл өрісте тауардың рубльдегі құнын көрсетеміз. (Міндетті параметр) |
description |
**Тауар атауы.** Бұл өрісте тек ағылшын немесе орыс әліпбиінің таңбаларын, сандарды және тыныс белгілерін пайдалануға болады. Ең ұзындығы — 100 таңба. Бұл ақпарат Robokassa интерфейсінде және клиент сәтті төлемнен кейін алатын Электрондық түбіртекте көрсетіледі. (Міндетті параметр) |
|
|
**Чектерді қалыптастыруға арналған параметрлер.** Толығырақ осы жерден оқыңыз. |
recurrent |
**Автотөлемді қосу.** Егер автотөлем қосылған болса, 1 мәнін беріңіз, егер өшірілген болса, None мәнін беріңіз |
currency |
**Валютаның үш әріпті коды.** Мәнді Robokassa қызметі қабылдайтын параметрлерге қатаң сәйкес беру қажет. |
Көшіруге арналған код мысалы
1-мысал: Чексіз төлем сілтемесі
res = get_robokassa_payment_url(100, 'Купи меня')
2-мысал: Чекпен төлем сілтемесі
receipt = [{"name":"DDDDDDDD","amount":"44","quantity":"1","vat_code":"5","method":"full_payment","object":"commodity"}]
res = get_robokassa_payment_url(100, 'Купи меня', receipt, '3', 1, 1)
Айнымалыны хабарламада сілтеме ретінде экранға шығаруға немесе, мысалы, "Сатып алу" мәтіні бар түймеге орналастыруға болады.
Егер блокта сілтеме алу үшін бірнеше функция болса және қате жіберілсе, қате мәні
error_payment_funcайнымалысына жазылады
Қате Калькулятордағы соңғы функция бойынша жазылады
Төлемді дұрыс баптап, төлем жүргізу үшін сілтеме жасағаннан кейін, жасалған параметрлерді тексеріңіз.
Төлем сипаттамасын қалай қосу керек
payment_description айнымалысын орнату арқылы төлемге сипаттама қосуға болады

Бұл сипаттама төлем формасында, сондай-ақ чекте көрсетіледі.
Нәтижені қалай өңдеу керек
Егер төлем сәтті өтсе, онда клиенттің диалогына ("Клиенттер" бөлімі) АВТОМАТТЫ ТҮРДЕ КОЛЛБЭК келеді, ол төлем жүйесінің құпия кілтінің 10 таңбасынан, _success сөзінен және бос орын арқылы төлем сомасынан тұрады. Коллбэк автоматты түрде жасалады, оны өзіңіз құрастырудың немесе төлем жүйесінің қолдау қызметінен сұраудың қажеті жоқ,
Мысалы: ovg58keefc_success 1500, мұндағы:
ovg58keefc : төлем жүйесінің құпия кілтінің 10 символы
_success : сұранысты өңдеу нәтижесі (сәтті төлем)
1500 : төлем сомасы
Назар аударыңыз!
Колбек тек сізге клиентпен диалогта көрінеді.
Клиентке колбек көрінбейді, бірақ сіз төлемді сәтті өңдеуге реакцияны конфигурациялай аласыз.
Мысал
get_robokassa_payment_url: функциясы бар блоктың параметрлері
- Егер сілтемені мәтінде берсеңіз:

Маңызды!
Төлем сілтемесі бірегей: оны көшіріп, басқа клиенттерге жіберуге болмайды!
Төлем сілтемесін боттағы айнымалы арқылы жіберіңіз (17-суретті қараңыз).
Сәтті төлем кезіндегі коллбэк:

- Түймедегі сілтеме:

Блоктың өңделуі:

Сәтті төлем кезіндегі коллбэк:

payment_sum айнымалысы және қосымша параметрлер арқылы сілтеме жасау
Сіз төлемді payment_sum айнымалысын пайдаланып сілтеме жасау арқылы да қабылдай аласыз, онда төлем сомасын көрсету жеткілікті.
Назар аударыңыз: payment_sum айнымалысына міндетті емес payment_description, product_name және т.б. айнымалылардан кейін соңғы мән беріледі.
Төлем сілтемесін жасау үшін payment_sum айнымалысының мәнін орнату қажет, осыдан кейін бірден robokassa_pay_url айнымалысы пайда болады. Бұл айнымалыны экранға сілтеме ретінде шығаруға немесе "Төлеу" мәтіні бар түймеге орналастыруға болады.

БЛОКТЫ ӨҢДЕУ МЫСАЛЫ (төлем сілтемелері):

Маңызды!
Төлем сілтемесі бірегей: оны көшіріп, басқа клиенттерге жіберуге болмайды!
Төлем сілтемесін боттағы айнымалы арқылы жіберіңіз
Түймедегі сілтемені беру үшін url өрісіндегі түймеде айнымалыны көрсетіңіз:

payment_sum арқылы төлем сілтемесін жасау кезіндегі төлем нәтижесі
Сәтті төлемнен кейін ботқа коллбэк келеді. Бұл коллбэкті жүйеде пайдаланушының хабарламасы ретінде көресіз, оларды пайдаланушы жібере алмауы үшін олар Robokassa қызметінің бірінші паролінен және success күйінің қосымшасынан тұрады, мысалы: qxgZ7zkNX4HHnG8UpZ61_success.

Сондай-ақ сәтті төлемнен кейін robokassa_payment_completed айнымалысы True мәніне орнатылады.
Бұл коллбэкті пайдаланушы КӨРМЕЙДІ, олар тек операторға көрсетіледі
Салыстыру түрі "Толық сәйкестік" болуы керек
Қайталама төлемді жүзеге асыру үшін payment_sum мәнін, бұрын жасалған сілтемені міндетті түрде нөлге келтіру керек, содан кейін жаңа сілтеме алу үшін payment_sum айнымалысын қайта тағайындау қажет
Айнымалыларды нөлге келтіру мысалы:
robokassa_pay_url=''
payment_sum=0
Төлем аяқталғаннан кейін клиентке robokassa_callback_data айнымалысы қосылады, ол жасалған операция бойынша төлем жүйесінің жауап деректерін қамтиды. Алынған сөздіктен get әдісі арқылы қажетті деректерді алуға болады.
Сынақ схемасын қалай жасауға болады
Robokassa қызметімен жұмысты тестілеуге және жылдам бастауға мүмкіндік беретін схема мысалы:

Суретте пайдаланушыдан қанша төлегісі келетіні сұралатын бірінші блоктың мысалы көрсетілген.
Төмендегі суретте көрсеткінің параметрлері, онда "Пайдаланушы деректерді енгізеді" ауыстырып-қосқышы қосылып, өріске payment_sum айнымалысы жазылуы керек:

Әрі қарай келесі төлем блогында түйме қосып, url жолына robokassa_pay_url айнымалысын орнатыңыз:


Схема келесідей жұмыс істейді:

Түймені басқан кезде клиент жазған сома төлеуге қолжетімді болады.
Төлемнен кейін коллбэк келеді, оған да реакцияны конфигурациялауға болады.

Маңызды!
Robokassa-да сәтсіз төлем туралы колбек жоқ.
Ол үшін шарты бар тағы бір блок қосыңыз, ал шарт жолына "qxgZ7zkNX4HHnG8UpZ61_success" түріндегі коллбэкті жазыңыз:

Тексеру түрін міндетті түрде "Толық сәйкестік" деп қойыңыз
Схема келесідей жұмыс істейді:

Фискализацияға сұранысты қалай жасауға болады
"Төлем" функциясы бар түймеде
Түйме жасау кезінде "Чекті қалыптастыруға арналған деректер" ашылмалы мәзірінде "Тауар атауы", "Рубльдегі толық сома", "Саны", "ҚҚС мөлшерлемесі", "Салық салу жүйесі" өрістерін толтырыңыз.

Толығырақ "Чекті қалыптастыру үшін" бөлімінде.
payment_sum айнымалысы арқылы
Сілтеме жасау payment_sum айнымалысының мәнін орнатқан кезде жүзеге асырылатындықтан, products_for_receipt және robokassa_sno айнымалыларын орнату қажет.
Маңызды:
- payment_sum айнымалысы арқылы сілтеме жасау кезінде салық салу жүйесі robokassa_sno айнымалысында орнатылады.
- payment_sum барлық тауарлардың жалпы құнына (барлық sum параметрлерінің сомасы) тең болуы керек.
Мысалы:
session_timeout = 7200
product_name = Бірінші төлем
robokassa_sno = osn
products_for_receipt = [{"name": "Тауар атауы", "quantity": 2, "sum": 2, "tax": "none"}, {"name": "Тауар атауы 2", "quantity": 1, "sum": 6, "tax": "none"}]
payment_sum = 10
get_robokassa_payment_url және robokassa_recurrent_payment функциялары үшін
get_robokassa_payment_url функциясын немесе robokassa_recurrent_payment функциясын шақырған кезде төмендегі сипаттамаға сәйкес taxation және products_for_receipt айнымалыларын аргумент ретінде беріңіз.
Функциялар тауар номенклатурасын ескере отырып сілтеме дайындайды және фискализацияға сұраныс жасайды.
Маңызды:
taxation және products_for_receipt айнымалылары әрбір жеке төлем үшін орнатылуы керек.
Robokassa қызметі бұл параметрлерді сақтамайды және номенклатура берілмеген төлемдердің фискализациясын жүргізе алмайды.
- products_for_receipt - тауар номенклатурасын қамтитын массив.
Тауардың әрбір бірлігі name, quantity, sum, tax, payment_method, payment_object және nomenclature_code параметрлерін қамтитын сөздік түрінде ұсынылуы керек.
!** products_for_receipt келесі форматта көрсетілуі керек:
[
{"name": "Тауар атауы", "quantity": "Тауар саны", "sum": "Тауар құны", "tax": "ҚҚС мөлшерлемесі"},
{"name": "Тауар атауы 2", "quantity": "Тауар саны 2", "sum": "Тауар құны", "tax": "ҚҚС мөлшерлемесі"}
]
мұндағы,
-
name - тауар атауы. Егер тауар атауында тырнақша сияқты арнайы таңбаларды пайдалансаңыз, оларды міндетті түрде экрандау қажет.
-
quantity - тауардың саны немесе салмағы (нүкте арқылы бүтін немесе бөлшек сан)
-
sum немесе amount (міндетті, атаудың екі нұсқасы) - барлық ықтимал жеңілдіктерді, бонустарды және арнайы бағаларды ескере отырып, осы тауардың барлық саны үшін рубльдегі толық сома.
-
tax немесе vat_code - (міндетті, атаудың екі нұсқасы, мән атауға байланысты) - ҚҚС мөлшерлемесі. Бұл параметр ККТ-дағы салық мөлшерлемесін орнатады.
**tax үшін мәндер: **
| Мән | Сипаттама |
|---|---|
| none | ҚҚС-сыз |
| vat0 | ҚҚС 0% мөлшерлемесі бойынша |
| vat5 | ҚҚС 5% мөлшерлемесі бойынша |
| vat12 | ҚҚС 12% мөлшерлемесі бойынша |
| vat16 | ҚҚС 16% мөлшерлемесі бойынша |
vat_code үшін мәндер:
| Мәндер | Сипаттама |
|---|---|
| '1' | ҚҚС-сыз |
| '2' | ҚҚС 0% мөлшерлемесі бойынша |
| '8' | ҚҚС 5% мөлшерлемесі бойынша |
| '15' | ҚҚС 12% мөлшерлемесі бойынша |
| '14' | ҚҚС 16% мөлшерлемесі бойынша |
- method немесе payment_method - (атаудың екі нұсқасы, міндетті емес параметр) есеп айырысу тәсілінің белгісі.
| Параметрдің ықтимал мәндері: | Мән нені білдіреді: |
|---|---|
| full_prepayment | алдын ала төлем 100%. Есеп айырысу объектісін беру сәтіне дейін толық алдын ала төлем |
| prepayment | алдын ала төлем. Есеп айырысу объектісін беру сәтіне дейін ішінара алдын ала төлем |
| advance | аванс |
| full_payment | толық есеп айырысу. Есеп айырысу объектісін беру сәтінде авансты (алдын ала төлемді) қоса алғанда толық төлем; |
| partial_payment | ішінара есеп айырысу және несие. Есеп айырысу объектісін беру сәтінде оны ішінара төлеу, кейіннен несиеге төлеу; |
| credit | несиеге беру. Есеп айырысу объектісін беру сәтінде оны төлеместен беру, кейіннен несиеге төлеу; |
| credit_payment | несиені төлеу. Есеп айырысу объектісін беруден кейін оны несиеге төлеу (несиені төлеу). |
- object немесе payment_object - (атаудың екі нұсқасы, міндетті емес параметр) есеп айырысу объектісі (егер берілмесе, commodity (тауар) болады)
| Параметрдің ықтимал мәндері | Мән нені білдіреді |
|---|---|
| commodity | Тауар. Сатылатын тауар туралы, акциздік тауарды қоспағанда (атауы және тауарды сипаттайтын өзге де мәліметтер) |
| excise | Акциздік тауар. Сатылатын акциздік тауар туралы (атауы және тауарды сипаттайтын өзге де мәліметтер) |
| job | Жұмыс. Орындалатын жұмыс туралы (атауы және жұмысты сипаттайтын өзге де мәліметтер) |
| service | Қызмет. Көрсетілетін қызмет туралы (атауы және қызметті сипаттайтын өзге де мәліметтер) |
| gambling_bet | Құмар ойын ставкасы. Құмар ойындарды өткізу жөніндегі қызметті жүзеге асыру кезінде ставкаларды қабылдау туралы |
| gambling_prize | Құмар ойын ұтысы. Құмар ойындарды өткізу жөніндегі қызметті жүзеге асыру кезінде ақша қаражатын ұтыс түрінде төлеу туралы |
| lottery | Лотерея билеті. Лотереяларды өткізу жөніндегі қызметті жүзеге асыру кезінде лотерея билеттерін, электрондық лотерея билеттерін сату кезінде ақша қаражатын қабылдау, лотерея ставкаларын қабылдау туралы |
| lottery_prize | Лотерея ұтысы. Лотереяларды өткізу жөніндегі қызметті жүзеге асыру кезінде ақша қаражатын ұтыс түрінде төлеу туралы |
| intellectual_activity | Зияткерлік қызмет нәтижелерін ұсыну. Зияткерлік қызмет нәтижелерін немесе дараландыру құралдарын пайдалану құқықтарын беру туралы |
| payment | Төлем. Аванс, кепілдік жарна, алдын ала төлем, несие, төлем есебіне жарна, өсімпұл, айыппұл, сыйақы, бонус және есеп айырысудың өзге де ұқсас объектісі туралы |
| agent_commission | Агенттік сыйақы. Төлем агенті (субагент), банктік төлем агенті (субагент), комиссионер, сенім білдірілген өкіл немесе өзге де агент болып табылатын пайдаланушының сыйақысы туралы; |
| composite | Құрама есеп айырысу объектісі. Әрқайсысына жоғарыда аталған белгілердің мәні берілуі мүмкін объектілерден тұратын есеп айырысу объектісі туралы |
| another | Өзге есеп айырысу объектісі. Жоғарыда аталған есеп айырысу объектілеріне жатпайтын есеп айырысу объектісі туралы |
| property_right | Мүліктік құқық |
| non-operating_gain | Өткізуден тыс кіріс |
| insurance_premium | Сақтандыру жарналары |
| sales_tax | Сауда алымы |
| resort_fee | Курорттық алым |
- nomenclature_code - (шартты түрде міндетті) тауардың таңбалануы: тауардың қаптамасында басылған күйінде беріледі.
Параметр тек міндетті таңбалауға жататын тауарларды сататын дүкендер үшін міндетті болып табылады.
Таңбалау коды тауардың қаптамасында, штрих-кодтың жанында немесе QR-код түрінде орналасқан.
Маңызды! Фискализация үшін чек параметрлерін беру маңызды.
Чектің дұрыс форматы келесідей беріледі:
rec = [{"name": "Пакет 1 месяц", "quantity": 1, "sum": 4800, "tax": "none"}]
response = robokassa_recurrent_payment(4800, 'Обучение в Лётной школе Авиатор', 'ru', rec, 'osn')
мұнда өз деректеріңізді қою қажет.
Курс бетіндегі төлемді қабылдау кезінде чекті қалыптастыру
Курс параметрлеріндегі "Төлем" бөлімінде Robokassa төлем жүйесін таңдау керек:

Төлем жүйесінің параметрлеріндегі "Эквайринг" бөлімінде (егер бұрын жасамаған болсаңыз) "ҚҚС мөлшерлемесі" өрісін толтырыңыз.

Қандай қателер болуы мүмкін
Қате коды 40
«Бірдей нөмірмен шотты қайталап төлеу мүмкін емес».
Сәтті төлемнен кейін жаңа төлем нөмірі қалыптасуы үшін диалогты "Деректерді жинаудың соңы" блогына ауыстыру қажет.
Қате коды 34
«Рекуррентті төлемдер қызметі дүкенге рұқсат етілмеген».
Қате коды 31
«Төлем сомасы дұрыс емес».
Мұндай қате клиентті шот ұсыну үшін төлем бетіне қайта бағыттау кезінде пайда болуы мүмкін. Бұл сіздің төлемді жүргізу қажет соманы бермегеніңізді немесе нөлге тең соманы бергеніңізді білдіреді.
Қате коды 29
«Signature параметрі дұрыс емес»
Мұнда бірнеше себеп болуы мүмкін, бірақ олардың барлығы төлемді инициализациялауға жауапты скриптке (дәлірек айтқанда, айнымалылардан тұратын формула бойынша Signature параметрін қалыптастыратын оның бөлігіне) қатысты. Бұл қате жиі кездеседі, міне 3 ықтимал себеп:
- Бірінші: Дүкен идентификаторы (MerchantLogin) дұрыс емес;
- Екінші: 1-пароль (MerchantPass1) дұрыс емес;
- Үшінші: сіз кассаның бағдарламалық кодына қосылған, бірақ есептеу формуласына енгізілмеген қосымша параметрлерді (shp_) пайдаланасыз - немесе керісінше, есептеу формуласында олар көрсетілген, бірақ кодта жоқ. Егер мұндайлар пайдаланылса, оларды алфавиттік тәртіппен беріңіз – төлем параметрлерінде де, Signature есептеу формуласында да.
Маңызды сәт! Егер сіз IsTest=1 параметрін беру немесе оны модуль/бот параметрлерінде құсбелгімен қосу арқылы тест режимінде жұмыс істесеңіз, тек тестілік техникалық парольдер жұбын пайдаланыңыз (дүкен карточкасының «Техникалық параметрлер» қойындысы).
Қате коды 23
«Тест төлемі жасалмайды. Дүкенде тест параметрлерінің параметрлері жоқ».
Бұл тест төлемін жүргізбес бұрын «Техникалық параметрлер» қойындысының «Тест төлемдерін жүргізу параметрлері» блогындағы барлық қажетті деректерді толтырмағаныңызды білдіреді.
Қате коды 25
«Дүкен белсендірілмеген».
Бұл қате жиі кездеседі және мұнда 2 себеп болуы мүмкін.
- Бірінші: бұл шынымен де солай – және дүкенді белсендіру керек, содан кейін ғана шот ұсыну керек.
- Екінші: сіз сайттағы техникалық параметрлерде Дүкен идентификаторын қате көрсеттіңіз. Дұрысын Жеке кабинеттің «Менің дүкендерім» бөлімінен көруге болады. «Техникалық параметрлер» қойындысына өтіп, «Дүкен идентификаторы» өрісін табыңыз. Идентификаторды көшіріп, оны сайт параметрлеріне енгізіңіз.
Robokassa сервисінің автоматты төлемдерін қалай жүргізу керек
Robokassa сервисі үшін автоплатеждерді қосу бойынша қадамдық нұсқаулық
1-қадам. Төлем түймесінде автоплатеждерді қосу
Төлем сілтемесін беретін блоктың параметрлеріне өтіп, түйме параметрлеріне өтіңіз:

Әрі қарай түйме параметрлерінен "Автоплатеждер" құсбелгісін тауып, оны белсендіріңіз:

Егер сіз барлық төлем түймелерінде автоплатеждерді қабылдағыңыз келсе, автоплатеждерді төлем жүйесін қосу параметрлерінде қосуға болады:

2-қадам. Кәдімгі төлемді жүргізу.
Әрі қарай кәдімгі төлемді жүргізу керек (жоғарыда сипатталғандай төлем сілтемесін алып, клиент оны төлеуі үшін). Сәтті төлемнен кейін клиентте төлем идентификаторы бар robokassa_previous_invoice_id айнымалысы пайда болады.
robokassa_previous_invoice_id айнымалысы келесі төлемдер үшін міндетті болып табылады.
Егер оны жойсаңыз, келесі автоплатежді жүргізу МҮМКІН ЕМЕС.
Назар аударыңыз!
****"Тест режиміндегі төлемдер" құсбелгісін өшіріңіз (егер ол белсенді болса), әйтпесе төлем идентификаторы бар robokassa_previous_invoice_id айнымалысы қалыптаспайды!

3-қадам. Автоесептен шығаруды жоспарлау
Сәтті төлем блогынан автоплатеж блогына таймері бар көрсеткіні жоспарлаймыз. Мысал ретінде келесі төлемді 30 күннен кейін жоспарлайық.

Қажетті блокта автоплатеж өтуі үшін Калькулятор өрісіне robokassa_recurrent_payment функциясын шақыруды қосу керек, оған параметрлерді көрсетілген тәртіпте беру керек:
- payment_amount - төлем сомасы (тауардың рубльдегі құны)
- description - тауардың атауы. Бұл өрісте тек ағылшын немесе орыс әліпбиінің таңбаларын, сандарды және тыныс белгілерін пайдалануға болады. Максималды ұзындығы — 100 таңба. Бұл ақпарат Robokassa интерфейсінде және клиент сәтті төлемнен кейін алатын Электрондық түбіртекте көрсетіледі.
- country - домендік аймақ (‘ru’ немесе ‘kz’)
- products_for_receipt - чектерді қалыптастыруға арналған параметрлер.
Толығырақ "Фискализацияға сұранысты қалай қалыптастыру керек -> get_robokassa_payment_url және robokassa_recurrent_payment функциялары үшін" бөлімінде
- taxation - салық салу жүйесі.
Толығырақ "Фискализацияға сұранысты қалай қалыптастыру керек -> get_robokassa_payment_url және robokassa_recurrent_payment функциялары үшін" бөлімінде
Автоплатежге сұраныс мысалы:

Автоплатежді орындау кезінде робокассаның төлем сілтемесі және payment_sum айнымалысы болмауы керек!
4-қадам. Тұрақты есептен шығаруды жоспарлау және автоплатеждерден бас тарту мүмкіндігін конфигурациялау.
Төлемдерді тұрақты қайталау үшін циклды - кідірісі бар көрсеткіні, мысалы, 30 күн, жоспарлаймыз.

Егер сізде автоплатеждерді болдырмау мүмкіндігі қарастырылған болса, келесі төлемнің орындалмауы үшін клиенттен robokassa_previous_invoice_id айнымалысын жою қажет.
Ол үшін Калькулятор өрісінде айнымалыны жоямыз:
robokassa_previous_invoice_id = ""

Автоплатеждер қосылған кездегі кәдімгі төлем
Егер автоплатеждер қосылған болса, бірақ жазылымсыз (автоплатеждерсіз) сілтеме қажет болса, сілтемені қалыптастырғанға дейін robokassa_manual_recurrent_disable айнымалысын 1 мәнімен орнату керек.
Калькулятор өрісінде айнымалыны жариялаймыз:
robokassa_manual_recurrent_disable = 1

Назар аударыңыз!
Автоплатеждер кезіндегі коллбэк сәтті төлемдер кезінде келетін коллбэкпен бірдей.
Коллбэкке реакцияны қалай конфигурациялау керектігін "Нәтижені қалай өңдеу керек" бөлімінде айттық.
Robokassa сервисінің чат-боттарға қандай талаптары бар
Robokassa сервисінің ресми жауабы:
Сіз тауарды сипаттамасымен және бағасымен маркетке орналастырып, ботта төлемді қабылдай аласыз, сипаттамасымен, бағасымен, байланыс деректерімен және тауарды жеткізу/қызмет көрсету электронды екенін көрсететін бір беттік сайт жасай аласыз. Бізде маркеттегі тауарға немесе сайтқа байланыс болуы керек, өйткені сіз өз ботыңызда нені сатасыз және қай ботта екенімізді - біз біле алмаймыз.
Телеграмма каналына сілтемені URL ретінде қоспаймыз. Сондай-ақ сайттың мазмұнына қойылатын талаптар: "Сайт жұмыс істейтін, мазмұны толтырылған, ішкі сілтемелері жұмыс істейтін болуы керек.
Сайтыңыздағы тауарлар мен қызметтер егжей-тегжейлі сипатталуы керек: Сипаттама ұсынылатын тауарлар мен қызметтердің сипаттамаларын, олардың тұтынушылық қасиеттерін және өзекті бағасын қамтуы керек.
Сайтыңызда міндетті түрде өзекті ақпарат орналастырылуы керек: телефон, e-mail, тапсырысты ресімдеу және орындау мерзімдері, оны төлеу, жеткізу және қайтару шарттары.
Әрбір сайт жеке қарастырылады.
Telegram-дағы Robokassa
RobokassaPaymentTestBot тест ботын қосу.
- Connect Robokassa Test таңдаған кезде пайдаланушы RobokassaPaymentTestBot ботына өтеді.
- Пайдаланушы /начать түймесін басады.
- Пайдаланушы боттан «Дүкен ID енгізіңіз» деген жауап алады.
- Robokassa сервисіндегі дүкеннің id енгізу қажет.
- Бот дүкенге көрсетілген нөмірге смс жіберу арқылы дүкенге иелік етуді растауды сұрайды: «
*%%%% нөміріне СМС жіберілді» мұнда %%%% - телефонның соңғы 4 цифры - Пайдаланушы 6 таңбалы кодты енгізеді.
- Егер бәрі сәтті болса, пайдаланушыға хабарлама көрсетіледі: “Сіз @BotName ботын Robokassa-ға сәтті қостыңыз. @BotFather Сізге жаңа токенді хабарлайды.”
- Осыдан кейін BotFather-да төлемдер қосылатын төлем токені пайда болады.
RobokassaPaymentBot live-ботын қосу.
- Connect Robokassa Live таңдаған кезде пайдаланушы RobokassaPaymentBot ботына өтеді,
- Пайдаланушы /начать түймесін басады.
- Пайдаланушы боттан «Дүкен ID енгізіңіз» деген жауап алады.
- Robokassa сервисіндегі дүкеннің id енгізу қажет.
- Бот дүкенге көрсетілген нөмірге смс жіберу арқылы дүкенге иелік етуді растауды сұрайды: «
*%%%% нөміріне СМС жіберілді», мұнда %%%% - телефонның соңғы 4 цифры - Пайдаланушы 6 таңбалы кодты енгізеді.
- Егер бәрі сәтті болса, пайдаланушыға хабарлама көрсетіледі: “Сіз @BotName ботын Robokassa-ға сәтті қостыңыз. @BotFather Сізге жаңа токенді хабарлайды.”
- Осыдан кейін BotFather-да төлемдер қосылатын төлем токені пайда болады.
Төлем нәтижелерін өңдеу осы жерде сипатталғанға ұқсас.