Ismétlődő Stripe-fizetés előfizetéses tartalomhoz
Teljes példa: Stripe-termék létrehozása, kulcsok, regisztrációs és előfizetési űrlap, szerepkörváltás az események szerint, a fizetések és előfizetések követése.
Ez a fejezet egy teljes példát mutat: a látogató regisztrál az oldalon, majd havi vagy éves előfizetést köt, és ezután látja a prémium tartalmat. A példa a Stripe Sandbox (teszt) módját használja, így nem történik valódi fizetés.
A példában a Stripe Gateway kiegészítő mellett a JetFormBuilder bővítményt és a JetEngine bővítmény Dynamic Visibility moduljának bekapcsolását használjuk. A prémium tartalom listázásához a JetEngine kell, a fizetési rész önmagában a JetFormBuilderrel és a kiegészítővel is működik.
Mit tud a kiegészítő előfizetésnél?
Szekció neve “Mit tud a kiegészítő előfizetésnél?”A kiegészítő a Stripe-ban előre létrehozott előfizetéseket köti az űrlaphoz. A díjat, a számlázási ciklust, a próbaidőt és a mennyiséget a Stripe-termék beállításai határozzák meg. A fizetéseket és az előfizetéseket a WordPressben két külön lista mutatja.
Az előfizetés változásaira saját események reagálnak, amelyeket a beküldés utáni akcióknál választhatsz ki:
| Esemény | Mikor fut le az akció |
|---|---|
STRIPE.RENEWAL.PAYMENT |
Az előfizetés megújulásakor, amikor a Stripe újra terhel. |
STRIPE.SUBSCRIPTION.CANCEL |
Az előfizetés lemondásakor. |
STRIPE.SUBSCRIPTION.EXPIRED |
Az előfizetés lejártakor. |
STRIPE.SUBSCRIPTION.SUSPENDED |
Az előfizetés felfüggesztésekor. |
STRIPE.SUBSCRIPTION.REACTIVATE |
Az előfizetés újraaktiválásakor. |
Ezekkel például lezárhatsz egy tartalmat, ha az előfizetés lejárt vagy lemondták. Az általános eseményekről (GATEWAY.SUCCESS, GATEWAY.FAILED) az Akciók és események fejezetben olvashatsz.
1. A kiegészítő telepítése
Szekció neve “1. A kiegészítő telepítése”- Menj ide: JetFormBuilder → Kiegészítők.
- Keresd meg a Stripe Payment Gateway kiegészítőt, és telepítsd.
- A Bővítmények oldalon aktiváld. Másik lehetőség, hogy mint bármely más bővítményt, zip-fájlból tedd fel és aktiváld.
2. Termék létrehozása a Stripe-ban
Szekció neve “2. Termék létrehozása a Stripe-ban”- Lépj be a Stripe-fiókodba, vagy regisztrálj. Az üdvözlő ablakot átugorhatod vagy végigvezetheted.
- A vezérlőpult alapból Sandbox módban nyílik meg. Éles módra a jobb felső sarokban lévő gombbal válthatsz, vissza ugyanígy.
- Nyisd meg a Product catalog fület, és kattints a jobb felső Create product gombra.
- Add meg a Name mezőt (kötelező), és ha kell, a leírást és a képet.
- Az ablak alján, a More options résznél válaszd a Recurring lehetőséget, add meg az Amount mezőben az összeget, válaszd ki a pénznemet és a Billing period értékét (például Monthly vagy Yearly).
- Kattints az Add product gombra. A termék megjelenik a termékkatalógusban.
3. API-kulcsok
Szekció neve “3. API-kulcsok”- A Stripe vezérlőpulton nyisd meg a Developers → API keys fület.
- Másold ki a Publishable key és a Secret key értékét.
4. A JetFormBuilder beállítása
Szekció neve “4. A JetFormBuilder beállítása”- Menj ide: JetFormBuilder → Beállítások → Payments Gateways.
- Kapcsold be az Enable Gateways kapcsolót.
- Teszteléshez kapcsold be az Enable Test Mode kapcsolót is. Ez a kapcsoló a PayPal átjárót érinti, a Stripe-nál a Sandbox kulcsok jelentik a tesztelést.
- A Stripe Gateway API szakaszban írd be a Public Key és a Secret Key értékét, majd kattints a Save gombra.
A beállítóoldalt részletesen a Fizetési átjárók beállítása fejezet mutatja.
5. A fizetés utáni tartalom előkészítése
Szekció neve “5. A fizetés utáni tartalom előkészítése”A példa a JetEngine segítségével két csoportra osztja a tartalmat: a nem prémium bejegyzéseket mindenki látja, a prémiumot csak az előfizetők.
Egyedi bejegyzéstípus
Szekció neve “Egyedi bejegyzéstípus”- Hozz létre egy egyedi bejegyzéstípust (itt: „Hírek”).
- Vegyél fel egy Radio, Checkbox, Switcher vagy Select típusú meta mezőt két értékkel (itt a „Prémium” mező yes és no értékkel). A yes értékű bejegyzést csak az előfizetők láthatják.
- Töltsd fel a bejegyzéstípust tartalommal, és állítsd be minden bejegyzésnél a mező értékét.
Lekérdezés (Query Builder)
Szekció neve “Lekérdezés (Query Builder)”- Menj ide: JetEngine → Query Builder, és hozz létre egy Posts Query típusú lekérdezést (itt: „Query for Premium”).
- A General fülön a Post Type mezőben válaszd ki a bejegyzéstípust.
- A Meta Query fülön kattints az Add new clause gombra. A Field key/name mezőnél a Dynamic Tag ikonnal válaszd a JetEngine meta field makrót, majd a Field listából a prémium mezőt, és kattints az Apply gombra.
- A Compare értéke legyen Like vagy In the list, az Value pedig no: így a lekérdezés csak a nem prémium bejegyzéseket adja vissza.
- Ha kell, a Pagination fülön a Posts Per Page mezővel korlátozd az oldalankénti darabszámot, majd mentsd a lekérdezést.
Listaelem (Listing Item)
Szekció neve “Listaelem (Listing Item)”- Menj ide: JetEngine → Listings/Components, és hozz létre listaelemet a bejegyzéstípushoz.
- Jelenítsd meg a kívánt mezőket Dynamic Field, Dynamic Image vagy más elemekkel. A példában egy Heading elem jelzi a prémium bejegyzéseket.
- A Heading elem Advanced fülén nyisd le a Dynamic Visibility blokkot, és kapcsold be.
- Válaszd a Show element if condition met típust, a feltétel Equal, a mező a Dynamic tag ikonnal kiválasztott prémium mező, az érték yes.
- Tedd közzé a listaelemet.
Listák az oldalon
Szekció neve “Listák az oldalon”Az oldalon két Listing Grid elem lesz, ugyanazzal a listaelemmel (a példa Elementort használ):
- Az első rácsnál a Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és a Custom Query listából válaszd ki a lekérdezést. Az Advanced → Dynamic Visibility blokkban a típus Hide element if condition met, a feltétel User Role is, a szerepkör Subscriber. Így az előfizetők nem látják ezt a nem prémium listát.
- A második rács ugyanazt a listaelemet mutatja lekérdezés nélkül, tehát minden bejegyzést. Az Advanced → Dynamic Visibility blokkban a típus Show element if condition met, a feltétel User Role is, a szerepkör Subscriber. Ezt csak az előfizetők látják.
6. A regisztrációs űrlap
Szekció neve “6. A regisztrációs űrlap”A példa két űrlapot használ: az egyik regisztrál, a másik előfizettet. (A regisztrációt és a belépést egy űrlapba is kötheted, lásd a JetFormBuilder render állapotairól szóló leírását.)
- Menj ide: JetFormBuilder → Új űrlap hozzáadása. Az űrlap a blokkszerkesztőben nyílik meg.
- Válassz előre elkészített űrlapot a Welcome blokkban, vagy kezdd a nulláról. A példában a „Registration Form” nevű űrlap a Start from scratch gombbal készül, Text, Media, Radio mezőkkel és egy Action Button gombbal.
- Nyisd meg a Post Submit Actions fület, kattints a + New Action gombra, és válaszd a Save Form Record akciót (ha alapból ott van, a ceruza ikonnal nyisd meg a beállításait). Bekapcsolhatod például a Store the IP address and other request headers kapcsolót. Az Update gombbal zárd be.
- Add hozzá a Register User akciót. A FIELDS MAP részben kösd az űrlap mezőit a felhasználó adataihoz.
- Görgess lejjebb: a USER ROLE legyen Contributor, és kapcsold be a Log In User after Register kapcsolót. Az Update gombbal zárd be.
- Állítsd be az akció eseményét: vidd az egeret a Register User akció fölé, és kattints a keresztezett nyilak ikonra. Az Edit Action Conditions & Events ablakban az Events match fülön az ADD EVENT listából válaszd a
DEFAULT.PROCESSeseményt, és kattints az Update gombra. - Tedd közzé az űrlapot (Publish).
7. Az előfizetési űrlap
Szekció neve “7. Az előfizetési űrlap”- Hozz létre új űrlapot a nulláról.
- Adj hozzá egy Hidden Field mezőt, és a FIELD VALUE legyen Current User ID. Erre azért van szükség, hogy az űrlap tudja, melyik felhasználót kell frissíteni.
- Adj hozzá egy Checkbox Field mezőt, a LABEL legyen „Előfizetek”, a VALUE pedig yes.
- Az Action Button szövege legyen „Előfizetek”.
- A jobb oldali JetForm fülön, a Gateways Settings szakaszban kapcsold be a Stripe Checkout lehetőséget, és kattints az alatta lévő Edit gombra.
- Az Edit Stripe Checkout Settings ablakban kapcsold be a Use Global Settings kapcsolót, hogy az űrlap a globális kulcsokat használja (külön kulcsot a PUBLIC KEY és a SECRET KEY mezőbe írhatsz).
- Kattints a Sync Access Token gombra. Sikeres szinkron után megjelenik a Refresh Plans From Stripe gomb.
- A GATEWAY ACTION értéke legyen Előfizetés. Az ELŐFIZETÉSI CSOMAGHOZ TARTOZÓ MEZŐ értéke Manual Input. Ha a Stripe-ban egyetlen csomagod van, az magától bekerül, egyébként az ELŐFIZETÉSI CSOMAG listából válaszd ki. Az ablak mezőit a Használat fejezet írja le.

A képen az Előfizetés művelet mezői láthatók, köztük az ELŐFIZETÉSI CSOMAG.
Ezután két Update User akció kell:
- A Post Submit Actions fülön kattints a + New Action gombra, és válaszd az Update User akciót. A User ID (will update the user) értékhez rendeld a Hidden Field mezőt (a felhasználó azonosítóját hordozza), a USER ROLE legyen Subscriber. Az Update gombbal zárd be.
- Ennek az akciónak az eseménye: keresztezett nyilak ikon, Events match fül, ADD EVENT →
GATEWAY.SUCCESS. Így a szerepkör akkor változik, amikor a fizetési rendszer jóváhagyta a fizetést. - Vegyél fel egy második Update User akciót ugyanazzal a User ID hozzárendeléssel, de USER ROLE: Contributor. Ez azt a szerepkört állítja be, amellyel a felhasználó a nem prémium tartalmat látja.
- Ennek az eseménye legyen
STRIPE.RENEWAL.PAYMENT. - Tedd közzé az űrlapot.
Az események miatt a felhasználó az első sikeres fizetés után előfizetői szerepkört kap. Ha az előfizetés megszűnik, a STRIPE.SUBSCRIPTION.EXPIRED vagy a STRIPE.SUBSCRIPTION.CANCEL eseményhez is köthetsz akciót, például a tartalom zárolására.
8. Az űrlapok az oldalra
Szekció neve “8. Az űrlapok az oldalra”Az oldalon, ahová a két listát tetted, helyezd el egymás alá a két űrlapot a JetForm elemmel. A JetForm elem Elementorban, a blokkszerkesztőben és Bricksben is elérhető.
9. Kipróbálás
Szekció neve “9. Kipróbálás”- Jelentkezz ki, majd a nyilvános oldalon töltsd ki a regisztrációs űrlapot, és küldd be.
- Az oldal újratölt: megjelenik az előfizetési űrlap és a nem prémium bejegyzések listája.
- Jelöld be az előfizetési jelölőnégyzetet, és kattints az előfizetés gombra. A látogató a Stripe fizetőoldalára kerül.
- Add meg a fizetési adatokat (Sandbox módban teszt kártyát), és kattints a Subscribe gombra.
- A rendszer visszairányít az oldalra, ahol az előfizetési űrlapok már nem látszanak, és a prémium bejegyzéseket is tartalmazó lista látható.
Az előfizetést a beküldés után csak egyszer kell jóváhagyni. Az ismétlődő terheléseket a Stripe a termék létrehozásakor megadott számlázási ciklus szerint végzi.
Fizetések és előfizetések követése
Szekció neve “Fizetések és előfizetések követése”A Stripe vezérlőpultján az Subscriptions fülön látszik az új előfizetés. A WordPressben két lista követi:

A JetFormBuilder → Subscriptions oldalon az előfizetések listája van: Subscriber, Billing Cycle, Status, Létrehozva és ID oszlopokkal. A képen a lista még üres.

A JetFormBuilder → Fizetések oldalon minden fizetés megjelenik a Fizetés típusa, Létrehozva, Állapot, Bruttó, Fizető, Subscription és ID oszlopokkal. Az Export hivatkozással kiexportálhatod a listát.
Készült: