Kā izveidot savienojumu

Lai pievienotu Stripe maksājumu sistēmu, jums būs nepieciešama slepenā API atslēga un tīmekļa āķa atslēga.

Slepeno API atslēgu var nokopēt, dodoties uz Izstrādātāji → API atslēgas un nokopējot Slepeno atslēgu.

  1. solis. Dodieties uz Izstrādātāji → API atslēgas:

  1. solis. Atrodiet un nokopējiet Slepeno atslēgu:

Tālāk jums jāiestata atgriezeniskā zvana URL. Tas ļauj robotam saņemt maksājumu paziņojumus.

Dodieties uz sadaļu Tīmekļa āķi un pievienojiet tīmekļa āķa URL.

Parādīsies veidlapa.

  1. solis. Noklikšķiniet "+add destination".

  2. solis. Atlasiet notikumus.

  1. solis. Atlasiet veidu "Webhook endpoint".

  1. solis. Pārskatiet pieprasījuma veidu un noklikšķiniet "Continue".

  1. solis. Ievadiet nosaukumu un norādiet galapunkta URL.

Iestatiet URL uz: https://chatter.mavibot.ai/stripe_callback/result

  1. solis. Tiks izveidoti divi galapunkti — varat pārskatīt iestatījumus pirms to pievienošanas.

  1. solis. Noklikšķiniet uz pogas "Add destinations". Tīmekļa āķi tiks saglabāti.

  2. solis. Noklikšķiniet "Done".

Saglabājiet, un jūs tiksiet novirzīts uz lapu ar konfigurēto tīmekļa āķi.

  1. solis. Noklikšķiniet uz tīmekļa āķa, kurā atlasījāt visus notikumus.

  1. solis. Atrodiet Parakstīšanas atslēgu un saglabājiet to (tā būs nepieciešama vēlāk, lai izveidotu savienojumu ar MaviBot).

Kad jums ir atslēgas, turpiniet savienojuma izveidi Mavibot.

Mavibot atveriet sadaļu "Acquiring" un atlasiet Stripe.

Savienojuma lapā ievadiet iegūtās atslēgas.

Noklikšķiniet "Save settings".

Gatavs! Jūs esat pievienojis Stripe.

Kā pievienot darījuma statusa atgriezenisko zvanu

Lai saņemtu papildu atgriezenisko zvanu, jums jāpievieno otrs tīmekļa āķis blakus esošajam.

Iestatiet URL uz: https://chatter.mavibot.ai/stripe_callback/<api_key>/charge_status

un atlasiet šādus notikumus:

  • charge.failed
  • charge.pending
  • charge.succeeded

Sīkāka informācija par katru tīmekļa āķa veidu:

  1. charge.succeeded — satur informāciju par veiksmīgi pabeigtu darījumu (līdzīgi veiksmīga maksājuma atgriezeniskajam zvanam)
  2. charge.pending — "darījums tiek apstrādāts", var ilgt līdz 7 dienām. Tīmekļa āķim būs formāts {pirmās 10 rakstzīmes}{tīmekļa āķa veids} Piemēram: sk_test_45LDPJLKT95d_charge.pending
  3. charge.failed — "darījums neizdevās". Tīmekļa āķim būs formāts {pirmās 10 rakstzīmes}{tīmekļa āķa veids} Piemēram: sk_test_45LDPJLKT95d_charge.failed

Pievienojiet pēc saglabāšanas iegūto tīmekļa āķa atslēgu Mavibot laukā — Webhook key2.

stripe_invoice_id — darījuma identifikators, kuram veiksmīga maksājuma atgriezeniskais zvans netika saņemts uzreiz pēc maksājuma.

Kā iestatīt nodokļus

Lai maksājumos izmantotu nodokļus, vispirms tie ir jāizveido savā Stripe informācijas panelī. Lai to izdarītu, meklēšanas joslā ierakstiet "tax rates":

Un noklikšķiniet "+ Add tax rates".

Pēc tam ievadiet piemērojamo nodokļa likmi.

Atvērtajā izvēlnē atlasiet nodokļa veidu, reģionu, kuram tas attiecas, procentuālo likmi un to, vai nodoklis tiks iekļauts maksājuma summā (Inclusive) vai pievienots tai (Exclusive).

Pēc nodokļa likmes izveides nokopējiet tās ID mainīgajā stripe_tax_id pirms maksājuma summas deklarēšanas.

Lai izvairītos no kļūdām, ieteicams pēc saites saņemšanas iestatīt mainīgo stripe_tax_id uz tukšu virkni ("") — tādējādi nodokli varat piemērot tikai nepieciešamības gadījumā.

Ja viss ir izdarīts pareizi, nodokļa likmes gadījumā ar parametru exclusive jūs redzēsiet sekojošo:

Kā iegūt maksājuma saiti

Lai ģenerētu maksājuma saiti, iestatiet mainīgā payment_sum vērtību (piemēram, 150 vai 100.55 — izmantojiet punktu, nevis komatu!). Pēc tam parādīsies mainīgais stripe_pay_url. Šo mainīgo varat attēlot kā saiti vai novietot uz pogas ar tekstu "Pay".

Saite izskatās šādi:

https://checkout.stripe.com/pay/cs_test_a17mskKFFRwEuo3WgBSAUjfk7xaZZIrct9B3Ds2AdODVq1I8aRiqYEBdrU#fidkdWxOYHwnPyd1blpxYHZxWjA0TGFsVzFPVmpmMzJAbVYzUkp1Y0lLYDVgfzR2Q0NxcWZBNUNnTnRSVVRJSGFobEB1UExSczRMMTc8PWRLMGBddl8xalxyPDRoUGhnZm9xXXZANDZyaF0wNTVBVExsPHZyfycpJ2N3amhWYHdzYHcnP3F3cGApJ2lkfGpwcVF8dWAnPyd2bGtiaWBabHFgaCcpJ2BrZGdpYFVpZGZgbWppYWB3dic%2FcXdwYHgl

Pēc noklusējuma valūta ir USD. Lai izmantotu citu valūtu, iestatiet mainīgā currency vērtību.

Varat arī iestatīt šādus neobligātus mainīgos pirms payment_sum vērtības iestatīšanas, lai konfigurētu maksājumu.

Funkcijas parametri Parametra apraksts
currency pasūtījuma valūta. Atļautās vērtības ir šeit —https://stripe.com/docs/currencies
payment_description maksājuma apraksts
stripe_tax_id nodokļa likmes identifikators, kas konfigurēts jūsu Stripe informācijas panelī.
Iestatīšanas instrukcijas ir sniegtas sadaļā "Kā iestatīt nodokļus".
stripe_invoice_enable karogs, lai iespējotu rēķinu (čeku) saglabāšanu. Iestatiet jebkuru vērtību, lai to iespējotu — visi attiecīgie dokumenti būs pieejami jūsu Stripe informācijas panelī.
stripe_locale

iestatiet maksājuma lapas valodu: en, de utt. Visas pieejamās opcijas: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-locale

Ja stripe_locale nav iestatīts, tiks izmantota klienta pārlūkprogrammas valoda.

stripe_payment_method_type maksājuma metode; pēc noklusējuma ir karšu maksājums. Var aizstāt ar citām Stripe pieejamām maksājumu metodēm. Pieejamās metodes ir uzskaitītas zemāk. Piemēram, stripe_payment_method_type = "customer_balance"
stripe_additional_payment_method_type pievienojiet papildu maksājuma metodi. Pieejamās metodes ir uzskaitītas zemāk. Piemēram, stripe_additional_payment_method_type = "sepa_debit"
coupon_id atlaižu kupona identifikators
stripe_expired maksājuma saites derīguma termiņš. Norādīts sekundēs. Minimālais ir 30 minūtes, maksimālais ir 24 stundas. Noklusējums ir 24 stundas.
stripe_automatic_tax iespējot automātisku nodokļa aprēķināšanu un iekasēšanu norēķinu laikā. Nododiet "1", lai iespējotu. Lai iegūtu sīkāku informāciju, skatiet Stripe rakstus.

Svarīgi! Ja izmantojat gan stripe_payment_method_type, gan stripe_additional_payment_method_type mainīgos, vērtībām tajos jābūt atšķirīgām!

Vērtību saraksts stripe_payment_method_type un 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

Lai iegūtu sīkāku informāciju par katru metodi un valstīm, kurās tās ir pieejamas, skatiet Stripe dokumentāciju

Maksājuma saites ģenerēšanas piemērs

Izveidosim maksājuma saiti par 1000 AED (noklusējuma valūta ir USD).

Piezīme:

— Vispirms norādiet neobligātos parametrus, piemēram, first_name, payment_description utt.

— Pēc tam piešķiriet vērtību mainīgajam payment_sum pēdējo.

Mainīgos var iestatīt arī agrāk ķēdē, ne obligāti tajā pašā blokā — tas ir tikai piemērs.

Pēc tam attēlojiet mainīgo stripe_pay_url, kas satur saiti, vēlamajā vietā — vai nu ziņojuma blokā, vai uz pogas:

  1. piemērs. Attēlojiet maksājuma saiti tieši ziņojumā:

  1. piemērs. Pievienojiet maksājuma saiti pogai.

Noklikšķinot uz pogas vai sekojot saitei, jūsu maksātājs tiks novirzīts uz maksājuma lapu.

Piemērā redzams, ka tika piemēroti parametri, kurus mēs norādījām kalkulatorā bloka iestatījumos: pasūtījuma apraksts, valūta un summa.

Ja blokā nododat nodokļa likmes parametru (stripe_tax_id).

Nodokļa likme tiks attēlota arī maksājuma veidlapā.

Koda piemērs kopēšanai

payment_description = "test payment"

currency = 'AED'

stripe_tax_id = 'enter_your_stripe_id_tax'

payment_sum = 1000

Kur atrast nodokļa ID.

Kā iestatīt atkārtotus maksājumus

Atkārtotiem maksājumiem (abonementiem) deklarējiet mainīgo stripe_subscription pirms mainīgā payment_sum un piešķiriet tam abonementa nosaukumu.

Varat arī pievienot šādus mainīgos: interval — abonementa intervāla ilgums. Nododiet 'day' dienām, 'week' nedēļām, 'month' mēnešiem vai 'year' gadiem. Ja mainīgais nav iestatīts, pēc noklusējuma tiks izmantots 'month'.

Svarīgi!

Viena abonementa cikla ilgums nedrīkst pārsniegt 1 gadu (parametram 'year'), 12 mēnešus (parametram 'month') vai 52 nedēļas (parametram 'week').

interval_count — norādīto intervālu skaits: cik dienas, nedēļas vai mēneši ir iekļauti abonementā par doto summu. Noklusējums ir 1.

stripe_payment_method_type — maksājuma metode; pēc noklusējuma ir karšu maksājums. Var aizstāt ar citām Stripe pieejamām maksājumu metodēm. Pieejamās metodes ir uzskaitītas zemāk.

Piemēram, stripe_payment_method_type = 'customer_balance'

stripe_additional_payment_method_type — pievieno papildu maksājuma metodi. Pieejamās metodes ir uzskaitītas zemāk.

Piemēram, stripe_additional_payment_method_type = 'sepa_debit'

Svarīgi! Ja izmantojat abus mainīgos stripe_payment_method_type un stripe_additional_payment_method_type, to vērtībām JĀBŪT ATŠĶIRĪGĀM!

Vērtību saraksts stripe_payment_method_type un 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

Lai iegūtu sīkāku informāciju par katru metodi un valstīm, kurās tās ir pieejamas, skatiet Stripe dokumentāciju.

Svarīgi!

Viena abonēšanas cikla ilgums nedrīkst pārsniegt 1 gadu (parametram 'year'), 12 mēnešus (parametram 'month') vai 52 nedēļas (parametram 'week').

Šajā piemērā tiks izveidots abonements ar nosaukumu 'My_subscription' par cenu 1000 AED par 1 mēnesi, un pēc 1 mēneša tiks iekasēts atkārtots maksājums tādā pašā apmērā.

Kopēt piemēru:

stripe_subscription = 'My_subscription' interval = 'month' payment_sum = 90

Lai iekasētu abonēšanas maksu reizi divos, trīs vai četros mēnešos, nododiet parametru interval_count:

stripe_subscription = 'My_subscription'

interval = 'month'

interval_count = 3

payment_sum = 90

Lai mainītu abonēšanas maksājuma intervālu no ikmēneša uz iknedēļas, parametrā interval nododiet vārdu week:

stripe_subscription = 'My_subscription'

interval = 'week'

interval_count = 3

payment_sum = 90

Pēc maksājuma klienta darījuma mainīgajos būs iekļauts stripe_subscription_id, kas nepieciešams abonementa atcelšanas konfigurēšanai, un stripe_customer_id, ko vēlāk var izmantot, lai pārbaudītu abonementa statusu.

Paziņojums (callback) tiek nosūtīts tikai par pirmo atkārtoto maksājumu!

Par turpmākajiem maksājumiem paziņojuma NEBŪS. Izsekošana tiek veikta, izmantojot funkciju un stripe_customer_id.

Iestatījumi, lai atgrieztos pie regulāriem maksājumiem

Lai atgrieztos pie regulāriem maksājumiem, abonementa mainīgajam piešķiriet tukšu virkni: stripe_subscription = ''. Šajā gadījumā mainīgie interval un interval_count neietekmēs saites ģenerēšanu.

Iestatījumi abonementa atcelšanai

Lai atceltu abonementu kalkulatorā, izmantojiet metodi stripe_remove_subscription(stripe_subscription_id), kur stripe_subscription_id ir identifikators, kas saglabāts darījuma mainīgajos pēc maksājuma.

Tādējādi apmaksātais abonements paliks aktīvs līdz pašreizējā norēķinu perioda beigām, bet turpmāki maksājumi netiks veikti, un abonements tiks atcelts pēc perioda beigām.

answer = stripe_remove_subscription('#{stripe_subscription_id}')

stripe_remove_subscription — veiksmes gadījumā atgriež atbildi ar informāciju par datumu, līdz kuram atceltais abonements paliks aktīvs.

Šajā piemērā funkcijas rezultāts tiks saglabāts mainīgajā answer, ļaujot jums pārbaudīt iznākumu.

Abonementa statusa pārbaude

stripe_check_subscription(subscription_id, customer_id), kur

stripe_subscription_id — abonementa identifikators stripe_customer_id — klienta identifikators Stripe (neobligāts parametrs)

Kā izveidot kuponu un iegūt atlaides ID

Lai iegūtu atlaides identifikatoru, izveidojiet kuponu savā panelī sadaļā "Kuponi". ”kuponi”.

Noklikšķinot uz pogas "Jauns", tiks atvērta lapa, kurā jānorāda:

  1. Nosaukums — atlaides nosaukums;
  2. ID — identifikators, tiek ģenerēts automātiski;
  3. Tips — atlaides veids: procentuālā vai fiksētā summa;
  4. Ilgums — atlaides ilgums (vienreizējs vai pastāvīgs, piemēram, abonementiem) un citi parametri.

Atlaižu kupons parādīsies "Produktu katalogā" sadaļā "Kuponi", un jūs varat apskatīt atlaides ID, atverot kupona izvēlni.

Noklikšķiniet uz kupona, lai kopētu kupona ID.

Kā piemērot atlaidi pasūtījumam

  1. Ģenerējot maksājuma saiti (darbojas gan abonementiem, gan vienreizējiem maksājumiem).

Bloka kalkulatorā pirms mainīgā payment_sum deklarēšanas iestatiet mainīgo coupon_id un nododiet atlaides identifikatoru no sava Stripe paneļa.

  1. Esošam abonementam, izmantojot funkciju stripe_add_subscription_discount.

Iestatiet bloka aktivizēšanas nosacījumus un izsauciet norādīto funkciju kalkulatorā, nododot parametrus stripe_subscription_id (abonementa ID) un coupon_id (kupona atlaides ID). Atlaide tiks piemērota turpmākajiem abonementa maksājumiem.

Kopējamā koda piemērs

stripe_subscription = 'test subscription'

interval = 'month'

payment_description = 'test payment'

currency = 'AED'

coupon_id = 'BD8VIwi8' stripe_add_subscription_discount(stripe_subscription_id, coupon_id)

stripe_tax_id = 'Qfkiwiki29jcs'

payment_sum = 90

Ja atlaide tiek veiksmīgi piemērota, funkcija atgriezīs ziņojumu ar abonementa ID, atlaides veidu, summu vai procentu un derīguma termiņu.

Kā noņemt vai mainīt atlaidi abonementam

Abonementam pievienoto atlaidi var noņemt vai aizstāt ar citu atlaidi.

Lai pārtrauktu atlaidi, iestatiet bloka aktivizēšanas nosacījumus un kalkulatorā izsauciet funkciju stripe_remove_subscription_discount, nododot parametru stripe_subscription_id (abonementa ID).

Ja darbība ir veiksmīga, funkcija atgriezīs ziņojumu, kas satur abonementa ID un atlaides atcelšanas datumu.

Atlaides aizstāšana, tāpat kā jaunas pievienošana, tiek veikta, izmantojot funkciju stripe_add_subscription_discount. Noteikti nododiet parametrus stripe_subscription_id un coupon_id. Veiksmīgs pieprasījums atjauninās abonementam pievienoto kuponu un atgriezīs ziņojumu ar atjaunināto informāciju.

Kā apstrādāt rezultātu

Pēc veiksmīga maksājuma bots saņems atzvanus (callbacks), kas norāda uz veiksmīgu darījumu. Sistēmā šie atzvani parādās kā ziņojumi no lietotāja. Lai lietotāji tos nenosūtītu manuāli, tie sastāv no pirmajām 20 slepenās atslēgas rakstzīmēm, kam seko _success, piemēram: sk_live_d35gky6d8ers_success

Šie atzvani NAV redzami lietotājam — tie ir redzami tikai operatoram.

Salīdzināšanas veidam jābūt iestatītam uz "Precīza atbilstība".

Pēc veiksmīga maksājuma mainīgais stripe_payment_completed tiek iestatīts arī uz True.

Piemēram, jūs varat apstrādāt veiksmīgu maksājumu, izmantojot nosacījumu bloku, un parādīt lietotājam atbilstošu ziņojumu.

Pēc maksājuma pabeigšanas klienta datos tiks pievienots mainīgais stripe_callback_data, kas satur maksājumu sistēmas atbildi par pabeigto darījumu. Nepieciešamos datus var iegūt no iegūtās vārdnīcas, izmantojot metodi get.

Lai apstrādātu atkārtotu maksājumu, vispirms ir jāatiestata payment_sum un iepriekš ģenerētā saite, un tikai pēc tam atkārtoti jāpiešķir mainīgais payment_sum, lai iegūtu jaunu saiti. Varat izmantot iepriekšējo vērtību.

Kā testēt maksājumus

Lai testētu integrāciju, varat izmantot slepeno atslēgu no testa vides. Lai to izdarītu, pārslēdzieties uz testa vidi Stripe panelī, izmantojot izvēlni labajā pusē.

Pēc tam veiciet iestatīšanas darbības, kas aprakstītas šīs rokasgrāmatas sākumā. Ievadiet testa slepeno atslēgu un pievienojiet tīmekļa saites URL testa vidē.

Testēšanai izmantojiet testa maksājumu kartes numuru (sava reģiona kartes numuru varat atrast oficiālajā Stripe vietnē).