Қалай қосу керек
Stripe төлем жүйесін қосу үшін сізге құпия API кілті және вебхук кілті қажет болады.
Құпия API кілтін Developers -> API key бөліміне өтіп, Secret key көшіру арқылы ала аласыз.
1-қадам. Developers -> API key бөліміне өтіңіз:

2-қадам. Secret key тауып, көшіріңіз:

Әрі қарай, кері шақырулар үшін URL мекенжайын орнату қажет. Бұл боттың төлем туралы хабарландыруларды алуы үшін қажет.
Webhooks бөліміне өтіп, вебхуктар үшін мекенжайды қосыңыз.

Пішін ашылады:

1-қадам. "+add destination" түймесін басыңыз.
2-қадам. Оқиғаларды таңдаңыз:

3-қадам. "Webhook endpoint" түрін таңдаңыз:

4-қадам. Сұраныс түрімен танысып, "Continue" түймесін басыңыз:

5-қадам. Атауын жазып, endpoint URL мекенжайын көрсетіңіз:

URL мекенжайын көрсетіңіз - https://chatter.salebot.pro/stripe_callback/result
6-қадам. Екі endpoint жасалады, қосу алдында параметрлерді көре аласыз:

7-қадам. Әрі қарай, "Add destinations" түймесін басыңыз. Содан кейін вебхуктар сақталады.
8-қадам. "Done" түймесін басыңыз.

Сақтаймыз және орнатылған вебхукпен бетке өтеміз:

9-қадам. Әрі қарай, барлық оқиғаларды таңдаған вебхукты басыңыз:

10-қадам. Signig кілтін тауып, оны өзімізге сақтаймыз (болашақта Mavibot-қа қосу үшін қажет болады):

Кілттерді алғаннан кейін, Mavibot-қа қосуға кірісеміз.
Mavibot-та "Acquiring" бөлімін ашып, Stripe таңдаңыз.

Қосу бетінде алынған кілттерді енгізу қажет:

"Save Settings" түймесін басыңыз.
Дайын!
Төлем жүйесін қосу аяқталды!
Транзакция күйі туралы кері шақыруды қалай қосу керек
Қосымша кері шақыруды алу үшін бізге бар вебхукқа қосымша вебхукты қосу қажет болады.
URL мекенжайын көрсетіңіз - https://chatter.salebot.pro/stripe_callback/<api_key>/charge_status
және оқиғаларды таңдаңыз:
charge.failedcharge.pendingcharge.succeeded

Вебхуктың әрбір түрі туралы толығырақ:
- charge.succeeded - транзакцияның сәтті аяқталғаны туралы ақпаратты қамтиды (сәтті төлем туралы кері шақыруға ұқсас)
- charge.pending - "транзакция орындалуда", оны аяқтау 7 күнге дейін созылуы мүмкін.
Вебхук келесідей болады: {алғашқы 10 таңба }{вебхук түрі}
Мысалы: sk_test_45LDPJLKT95d_charge.pending- charge.failed - "транзакция сәтсіз аяқталды."
Вебхук келесідей болады: {алғашқы 10 таңба }{вебхук түрі}
Мысалы: sk_test_45LDPJLKT95d_charge.failed
Сақтаудан кейін алынған вебхукты Mavibot өрісіне - Webhook key2 қосамыз:

stripe_invoice_id - Төлемнен кейін бірден сәтті төлем кері шақыруы алынбаған транзакцияның идентификаторы.
Салықтарды қалай қосу керек
Төлемдерде салықтарды пайдалану үшін, алдымен оларды Stripe жеке кабинетінде жасау қажет. Ол үшін іздеу жолағына салық мөлшерлемелерін енгізіңіз:

Және "+ Add tax rates" түймесін басыңыз:

Әрі қарай, қолданылатын салық мөлшерлемесін көрсетіңіз:

Ашылған мәзірде салық түрін, ол қолданылатын аймақты, салық мөлшерлемесін және бұл салықтың төлем сомасына қосылатынын 'Inclusive' немесе сомадан тыс қосылатынын - exclusive көрсететін опцияны таңдаңыз:

Салық мөлшерлемесін жасағаннан кейін, төлем сомасын орнату алдында оның идентификаторын stripe_tax_id айнымалысына көшіріңіз.

Қателерді болдырмау үшін, сілтемені алғаннан кейін stripe_tax_id айнымалысына бос жолды ("") қойыңыз, осылайша салықты тек қажет болғанда ғана қолдана аласыз.
Егер бәрі дұрыс жасалса, exclusive параметрі бар салық мөлшерлемесі жағдайында келесіні көресіз

Төлем сілтемесін қалай алуға болады
Төлем сілтемесін жасау үшін payment_sum айнымалысының мәнін орнату қажет (мысалы, 150 немесе 100.55 (нүкте арқылы бөлінген!)), содан кейін stripe_pay_url айнымалысы пайда болады. Бұл айнымалыны сілтеме арқылы көрсетуге немесе "Төлеу" мәтіні бар түймеге орналастыруға болады.
Сілтеме келесідей көрінеді:
https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl
Әдепкі бойынша USD (доллар) орнатылған, егер басқа валюта қажет болса, currency айнымалысының мәнін орнату қажет.
Сондай-ақ, payment_sum айнымалысының мәнін орнату алдында төлемді конфигурациялау үшін келесі қосымша айнымалыларды орнатуға болады.
Назар аударыңыз! Егер сіз stripe_payment_method_type және stripe_additional_payment_method_type айнымалыларын бірге пайдалансаңыз, онда олардағы мәндер МІНДЕТТІ ТҮРДЕ ӘР ТҮРЛІ БОЛУЫ КЕРЕК!***
card
acss_debit
affirm
afterpay_clearpay
alipay
au_becs_debit
bacs_debit
bancontact
blik
boleto
cashapp
customer_balance
eps
fpx
giropay
grabpay
ideal
klarna
konbini
link
oxxo
p24
paynow
paypal
pix
promptpay
sepa_debit
sofort
us_bank_account
wechat_pay zip
Әрбір әдіс және олар қандай елдер үшін қолжетімді екендігі туралы толығырақ Stripe құжаттамасынан білуге болады: сайттан қараңыз
Төлем сілтемесін қалыптастыру мысалы
1000 рубль мөлшерінде төлем сілтемесін жасайық (әдепкі бойынша доллар)

Назар аударыңыз:
- Алдымен міндетті емес параметрлерді көрсетесіз first_name, payment_description және т.б.
- Соңғы болып payment_sum айнымалысына мән беремізАйнымалыларды тізбекте бір блокта емес, ертерек орнатуға болады, бұл мысал.
Әрі қарай қажетті жерде stripe_pay_url айнымалысын шығарамыз, оның ішінде блокта немесе түймеде сілтеме бар:
1-мысал. Төлем сілтемесін тікелей хабарламада шығарамыз:

Ботта тестілеу:

2-мысал. Төлем сілтемесін түймеге қосамыз:


3-мысал. Сілтемені хабарламаға қосымша ретінде қосамыз:

Ботта тестілеу:

Ботта төлем сілтемесін жіберу үшін барлық үш нұсқа да рұқсат етілген.
Түймені басқанда немесе сілтеме бойынша өткенде, төлемшіңіз төлем бетіне бағытталады:

Мысалда блок параметрлеріндегі калькуляторда көрсеткен параметрлеріміз қолданылғаны көрінеді: тапсырыс сипаттамасы, валюта және сома.
Егер блокта салық мөлшерлемесінің параметрін (stripe_tax_id) берсеңіз:

Онда төлем формасында салық мөлшерлемесі де көрсетіледі:

payment_description = 'Stripe-те сынақ төлемі'
currency = 'RUB'
stripe_tax_id = 'өзіңіздің tax ID-ді осыған көшіріңіз'
payment_sum = 1000
Tax ID қайдан табуға болады:

Қайталанатын төлемдерді қалай конфигурациялау керек
Қайталанатын төлемдер (жазылымдар) үшін payment_sum айнымалысын жариялау алдында stripe_subscription айнымалысын жариялап, оған жазылым атауын беру қажет.
Сондай-ақ келесі айнымалыларды қосуға болады:
interval – жазылым интервалының ұзақтығы, бұл айнымалыға ‘day’ - күндер үшін, ‘week’ - апталар үшін, ‘month’ - айлар үшін, ‘year’ - жылдар үшін мәнін беру қажет.
Егер айнымалы жарияланбаса, онда әдепкі бойынша ‘month’ параметрі беріледі.
Маңызды! Жазылымның бір циклінің ұзақтығы 1 жылдан (‘year’ параметрі үшін), 12 айдан (‘month’ параметрі үшін), 52 аптадан (‘week’ параметрі үшін) аспауы керек.

interval_count – көрсетілген интервалдар саны, көрсетілген сома үшін жазылымда қанша күн, апта немесе ай болатыны. Әдепкі бойынша бірге тең параметр беріледі (1);
stripe_payment_method_type - төлем әдісі, әдепкі бойынша карта арқылы төлем (card). Оны Stripe үшін қолжетімді басқа төлем әдістеріне ауыстыруға болады. Төменде қолжетімді әдістер көрсетілген.
Мысалы, stripe_payment_method_type = 'customer_balance'
stripe_additional_payment_method_type - қосымша төлем әдісін қосу. Төменде қолжетімді әдістер көрсетілген
Мысалы, stripe_additional_payment_method_type = 'sepa_debit'
Маңызды! Егер сіз stripe_payment_method_type және stripe_additional_payment_method_type айнымалыларын бірге пайдалансаңыз, онда олардағы мәндер МІНДЕТТІ ТҮРДЕ ӘР ТҮРЛІ БОЛУЫ КЕРЕК!**
card
acss_debit
affirm
afterpay_clearpay
alipay
au_becs_debit
bacs_debit
bancontact
blik
boleto
cashapp
customer_balance
eps
fpx
giropay
grabpay
ideal
klarna
konbini
link
oxxo
p24
paynow
paypal
pix
promptpay
sepa_debit
sofort
us_bank_account
wechat_pay zip
Әрбір әдіс және олар қандай елдер үшін қолжетімді екендігі туралы толығырақ Stripe құжаттамасынан білуге болады: сайттан қараңыз
Назар аударыңыз! Жазылымның ұзақтығы 1 жылдан (‘year’ параметрі үшін), 12 айдан (‘month’ параметрі үшін), 52 аптадан (‘week’ параметрі үшін) аспауы керек.
Бұл мысалда 'My_subscription' атауымен жазылым 3 айға 90 АҚШ доллары бағасымен жасалады және осы 1 айдан кейін сол сомамен қайталанатын төлем жүргізіледі:

Көшіруге арналған мысал:
stripe_subscription = 'My_subscription'
interval = 'month'
interval_count = 3
payment_sum = 90
Төлемнен кейін клиентте мәміле айнымалыларында stripe_subscription_id айнымалылары болады, олар жазылымды болдырмауды конфигурациялау үшін қажет болады, және stripe_customer_id, оны кейінірек жазылым күйін тексеру үшін пайдалануға болады.
Хабарландыру (кері шақыру) тек бірінші қайталанатын төлем кезінде алынады!
Қайталанатын шақырулар үшін кері шақыру БОЛМАЙДЫ. Бақылау функция және stripe_customer_id арқылы жүзеге асырылады. функция арқылы

Кәдімгі төлем параметрлеріне оралу
Кәдімгі төлемдерге оралу үшін жазылым айнымалысына бос жолды stripe_subscription = " беріңіз. Бұл жағдайда interval және interval_count айнымалылары сілтемені жасауға әсер етпейді.

Жазылымды болдырмау параметрлері
Калькуляторда жазылымды болдырмау үшін stripe_remove_subscription(stripe_subscription_id) әдісін пайдаланыңыз, мұнда stripe_subscription_id - төлемнен кейін мәміле ақпаратында сақталған идентификатор.
Бұл ақылы жазылымыңызды ағымдағы төленген кезеңнің соңына дейін белсенді ұстауға мүмкіндік береді, бірақ әрі қарай ақы алынбайды және жазылым мерзімі аяқталғаннан кейін жойылады:

answer = stripe_remove_subscription('#{stripe_subscription_id}')
stripe_remove_subscription - Сәтті орындалған жағдайда, жойылған жазылымның қай күнге дейін жарамды болып қалатыны туралы ақпараты бар жауап аласыз.
Бұл мысалда функцияны орындау нәтижесі answer айнымалысына орналастырылады және орындау нәтижесін тексеруге болады.
Жазылым күйін тексеру
stripe_check_subscription(subscription_id, customer_id), мұнда
stripe_subscription_id - жазылым идентификаторы
stripe_customer_id - Stripe-тегі клиент идентификаторы (міндетті емес параметр)

Купонды қалай жасауға және жеңілдік идентификаторын алуға болады
Жеңілдік идентификаторын алу үшін жеке кабинетіңіздегі ”coupons” бөлімінде купон жасаңыз. ”coupons”.

“New” түймесін басқаннан кейін бет ашылады, онда көрсету қажет:
- Атауы — жеңілдік атауы;
- ID — автоматты түрде жасалатын идентификатор.
- Түрі — жеңілдік түрі: пайыздық немесе белгіленген сома
- Ұзақтығы — жеңілдіктің ұзақтығы (бір реттік немесе қайталанатын, мысалы, жазылымдар үшін) және басқа параметрлер.

Жеңілдік купоны “Өнім каталогындағы” “Купондар” бөлімінде пайда болады және купон мәзіріне өту арқылы жеңілдік идентификаторын көруге болады:

Купон идентификаторын көшіру үшін купонды басыңыз:

Тапсырысқа жеңілдікті қалай қосу керек
- Төлем сілтемесін жасау кезінде (жазылымдар үшін де, бір реттік төлемдер үшін де).
Блоктың калькуляторында payment_sum айнымалысын жариялау алдында coupon_id айнымалысын орнатып, оған Stripe жеке кабинетінен жеңілдік идентификаторын беріңіз.

- stripe_add_subscription_discount функциясын пайдаланып, бар жазылымға қосу.
Блокты іске қосу шарттарын орнатыңыз және калькуляторда көрсетілген функцияны шақырыңыз, оған stripe_subscription_id (жазылым идентификаторы) және coupon_id (жеңілдік купонының идентификаторы) параметрлерін беріңіз. Жеңілдік жазылымның келесі төлемдері үшін қолданылады.

stripe_subscription = 'Премиум жазылым'
interval = 'month'
payment_description = 'Stripe-те сынақ төлемі'
currency = 'USD'
coupon_id = 'Купоныңыздың идентификаторы'
stripe_add_subscription_discount(stripe_subscription_id, coupon_id)
stripe_tax_id = 'Салық идентификаторы'
payment_sum = 90
Сәтті қосылғаннан кейін функция жазылым идентификаторын, жеңілдіктің түрін, сомасын немесе пайызын, сондай-ақ оның жарамдылық мерзімін көрсететін хабарламаны қайтарады.

Жазылымды жасау туралы толығырақ ақпаратты "Қайталанатын төлемдерді қалай конфигурациялау керек" бөлімінен қараңыз "Қайталанатын төлемдерді қалай конфигурациялау керек"
Жазылым жеңілдігін қалай жою/өзгерту керек
Жазылымға бекітілген жеңілдікті жоюға немесе басқа жеңілдікпен ауыстыруға болады.
Егер жеңілдікті тоқтатқыңыз келсе, блокты іске қосу шартын орнатыңыз және калькуляторда stripe_remove_subscription_discount функциясын шақырыңыз, оған stripe_subscrition_id параметрін (жазылым идентификаторы) беріңіз.

Операция сәтті аяқталғаннан кейін функция жазылым идентификаторын және жеңілдіктің жойылған күнін қамтитын хабарламаны қайтарады.
Жеңілдікті ауыстыру, сондай-ақ жаңасын қосу stripe_add_subscription_discount функциясын пайдалану арқылы жүзеге асырылады. Оған stripe_subscription_id және coupon_id параметрлерін беруді ұмытпаңыз.
Сәтті сұраныс жазылымға бекітілген купонды жаңартады және ағымдағы ақпаратпен хабарламаны қайтарады.
Жеңілдік идентификаторын қалай алуға болатыны туралы "Купонды қалай жасауға және жеңілдік идентификаторын алуға болады" бөлімінен оқи аласыз. "Купонды қалай жасауға және жеңілдік идентификаторын алуға болады".
Нәтижені қалай өңдеу керек
Сәтті төлемнен кейін ботқа кері шақырулар жіберіледі, олар төлемнің сәтті болғаны туралы хабарлайды. Сіз бұл кері шақыруларды жүйеде пайдаланушыдан келген хабарламалар ретінде көресіз, пайдаланушы оларды жібере алмауы үшін олар құпия кілттің алғашқы 20 таңбасынан және сәттілік жазбасынан тұрады, мысалы: sk_live_d35gky6d8ers_success

Бұл кері шақырулар пайдаланушыға КӨРІНБЕЙДІ, олар тек операторға ғана көрсетіледі.
Салыстыру түрі "Дәл сәйкестік" болуы керек
Сондай-ақ, сәтті төлемнен кейін stripe_payment_completed айнымалысы True мәніне орнатылады.
Мысалы, сәтті төлемді шартты блокта өңдеп, пайдаланушыға сәйкес хабарламаны көрсетуге болады:

Төлем аяқталғаннан кейін клиентке stripe_callback_data айнымалысы қосылады, оның құрамында аяқталған транзакцияға төлем жүйесінің жауап деректері болады. Алынған сөздіктен қажетті деректерді get әдісі арқылы шығаруға болады.
Қайталанатын төлемді жасау үшін payment_sum, бұрын жасалған сілтемені қалпына келтіру керек, содан кейін жаңа сілтеме алу үшін payment_sum айнымалысына қайта мән беру керек. Алдыңғы мәнді көрсетуге болады.
Төлемдерді қалай тестілеу керек
Интеграцияны тестілеу үшін сынақ ортасынан құпия кілтті пайдалануға болады. Ол үшін Stripe жеке кабинетінде оң жақ мәзірдегі қосқышты пайдаланып сынақ режиміне ауысыңыз

Әрі қарай, осы нұсқаулықтың басында сипатталған конфигурацияны орындаңыз. Сынақ құпия кілтін енгізіп, вебхук мекенжайын тестілеу ортасына қосыңыз.
Сынақ картасының нөмірі
4242 4242 4242 4242
болашақтағы кез келген күн
CVC - кез келген үш сан
Егер бірдеңе жұмыс істемесе, деректерді ресми сайттағы деректермен салыстырыңыз. ресми сайтта.


