Tovább a tartalomhoz

Stripe fizetési átjáró

A Stripe bekapcsolása, a webhook beállítása, a fizetés menete, a sikertelen megújítások kezelése, tesztelés és a kártyaűrlap testreszabása.

A beépített Stripe-átjáróval a tagok közvetlenül a regisztrációs űrlapon fizethetnek bankkártyával. A kártyaadatokat a Stripe kezeli, a webhelyed nem tárolja őket. A használathoz Stripe-fiók kell.

  1. Nyisd meg a Restrict → Settings → Payments fület.
  2. Az Enabled Gateways alatt jelöld be a Stripe négyzetet.
  3. Ha a lap a „Activate the Stripe Payment Gateway” kártyát mutatja, add meg az e-mail-címed, vagy kattints a Skip, setup payment gateway hivatkozásra.
  4. A Stripe Settings részben kattints a Connect with Stripe gombra.
  5. A Stripe oldalán hozz létre új fiókot, vagy lépj be a meglévőbe, és fejezd be az űrlapot. Ezután a rendszer visszavisz a webhelyedre.
  6. Kattints a Save Options gombra.
https://minta-bolt.hu/wp-admin/admin.php?page=rcp-settings
A Payments fül bekapcsolt Stripe-pal: Connect with Stripe gomb, kártyakivonat-leíró és a webhook-címet mutató doboz

A képen a Stripe Settings alatt látod a Connect with Stripe gombot, a Statement Descriptor és a Statement Descriptor Suffix mezőt, valamint a Disable Global Stripe.js jelölőnégyzetet. Alul a doboz a webhook-címet mutatja.

Beállítás Mit csinál
Sandbox Mode Tesztüzem: a fizetések a Stripe teszt-környezetében futnak.
Statement Descriptor A vásárló kártyakivonatán megjelenő név.
Statement Descriptor Suffix A kivonati név toldaléka. Ha kitöltöd, felülírja a Statement Descriptor értékét.
Disable Global Stripe.js Alapból a Stripe.js fájl a webhely minden oldalán betöltődik, hogy a Stripe jobban észrevegye a gyanús viselkedést. Ha bejelölöd, csak a fizetésnél töltődik be.

A Stripe webhookokon keresztül jelzi a webhelynek, ha egy előfizetés változik (befizetés, lemondás stb.). Az átjáró figyelőcíme:

https://sajatoldal.example/?listener=stripe

A webhookot a Stripe-fiókodban kell kézzel felvenni:

  1. A Stripe vezérlőpultján nyisd meg a Developers → Webhooks oldalt.
  2. Kattints az Add endpoint gombra.
  3. Az URL mezőbe írd be a fenti címet a saját domaineddel. A cím végén a perjel fontos.
  4. Válaszd ki ezeket az eseményeket:
customer.subscription.created
customer.subscription.deleted
charge.succeeded
charge.refunded
invoice.payment_succeeded
invoice.payment_failed

A webhookot külön fel kell venni teszt és éles módban is. Ha a webhook nem válaszol, vagy máshová irányít át, a fizetések késhetnek. A Stripe vezérlőpultján, a Webhooks részben ellenőrizheted, sikeresen feldolgozódnak-e az üzenetek.

A vásárló a regisztrációs űrlapon kapja a bankkártya-mezőket. Kitöltés után egy folyamatjelző látszik, aztán három eset lehetséges:

  • A kártya nem kér hitelesítést: a rendszer terheli a kártyát, és siker esetén a sikeres regisztráció oldalára viszi a vásárlót.
  • A kártya 3D Secure hitelesítést kér: egy felugró ablakban kell elvégezni a hitelesítést. Siker esetén a vásárló a sikeres oldalra érkezik, hiba esetén hibaüzenetet kap, és újra próbálkozhat.
  • A kártyát elutasítják: hibaüzenet jelenik meg, a vásárló másik kártyával próbálkozhat.

Kétféleképpen kezelheted a sikertelen megújító fizetéseket.

1. A Stripe kezeli. A Stripe vezérlőpultján nyisd meg a Settings oldalt, ott a Stripe apps alatt a Subscriptions and emails részt. Itt bekapcsolhatod:

  • a sikertelen fizetések megelőzését (e-mail a lejáró kártyákról),
  • a sikertelen fizetések kezelését (e-mail, ha a kártyás fizetés meghiúsul),
  • a 3D Secure-t igénylő fizetések kezelését (a Stripe által üzemeltetett hivatkozás, amelyen a kártyabirtokos hitelesíthet).

Az újrapróbálkozások és az emlékeztetők ütemezése teljesen rád van bízva.

2. A tagságkezelő bővítmény kezeli. A Restrict → Settings → Emails fülön beállíthatod a „Renewal Payment Failed” e-mailt. Ezt akkor küldi a rendszer, ha a Stripe webhookja sikertelen megújítást jelez. Érdemes beletenni az %update_billing_card_url% sablonkódot: ez közvetlen hivatkozás arra az oldalra, ahol az [rcp_update_card] rövidkód van. Ha a vásárlónak kifizetetlen számlája van, ezen az oldalon a számla is látszik. A kártya frissítésekor szükség esetén 3D Secure hitelesítést is kér a rendszer, utána a lejárt számla kifizetődik, az új kártya pedig elmentődik a következő fizetésekhez.

A Stripe teszt-környezetében a teljes folyamatot kipróbálhatod éles indulás előtt.

  1. Kapcsold be a Sandbox Mode beállítást a Restrict → Settings → Payments fülön.
  2. Kösd össze a Stripe-fiókodat.
  3. Állítsd a Stripe-fiókodat tesztüzemre.
  4. Nyisd meg a regisztrációs oldalt kijelentkezve.
  5. Add meg a felhasználó adatait. Bármi lehet, de érdemes olyan e-mail-címet írni, amelyhez hozzáférsz.
  6. Válassz fizetős tagsági szintet.
  7. Válaszd ki, hogy legyen-e automatikus megújítás.
  8. Fizetési módnak válaszd a bankkártyát.
  9. Kártyaszámnak írd be: 4242424242424242. További tesztkártyákat a Stripe tesztelési leírásában találsz.
  10. Lejáratnak bármilyen jövőbeli dátum jó.
  11. Irányítószámnak bármilyen amerikai irányítószám jó, például 55320. Más ország irányítószámához nemzetközi tesztkártya kell.
  12. Kattints a Register gombra.
  13. A sikeres oldalra kell érkezned, az új felhasználóval bejelentkezve.
  14. A Stripe tranzakciótörténetében megjelenik a tesztfizetés.

Az új felhasználó fiókja ekkor teljesen aktív.

  • Stripe-pal automatikus megújításnál a tagsági szint időtartama legfeljebb 1 év lehet. Egy kétéves, automatikusan megújuló tagság nem állítható be.
  • Az ingyenes próbaidőszak legfeljebb 5 év lehet.
  • A bővítmény a Stripe API 2022-11-15-ös verziójáig lett tesztelve.
  • Új, ismétlődő tagságnál az azonnal esedékes első fizetés mindig egyszeri terhelésként megy a Stripe-ban. Mellette létrejön egy előfizetés késleltetett kezdéssel, amely a Stripe-ban próbaidőszakként látszik, mert így lehet az előfizetés indulását a következő számlázási ciklusra halasztani.

A kártyamezőket a Stripe Elements tölti be egy iframe-ben, ezért a megszokott CSS nem hat rájuk. A testreszabás egyedi PHP-kóddal, az rcp_stripe_scripts szűrővel megy. Ez fejlesztői, egyedi kód: a hibakeresés a te feladatod.

A Stripe a kártya országa alapján maga dönt, mutassa-e az irányítószám-mezőt. Ha mindenkinél el akarod rejteni:

add_filter( 'rcp_stripe_scripts', function ( $stripe_args ) {
$stripe_args['elementsConfig']['hidePostalCode'] = true;
return $stripe_args;
} );

A stílust JavaScript-beállításként kell átadni a style tömbben, a base kulcs alatt. Betűszín pirosra:

add_filter( 'rcp_stripe_scripts', function ( $stripe_args ) {
$stripe_args['elementsConfig']['style'] = array(
'base' => array(
'color' => 'red',
),
);
return $stripe_args;
} );

Betűméret és betűtípus:

add_filter( 'rcp_stripe_scripts', function ( $stripe_args ) {
$stripe_args['elementsConfig']['style'] = array(
'base' => array(
'fontSize' => '14px',
'fontFamily' => '"Open Sans", "Helvetica Neue", "Helvetica", sans-serif',
),
);
return $stripe_args;
} );

A base tömbbe a Stripe Elements által támogatott további stílustulajdonságok is felvehetők.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások