# Stripe

> A Stripe bekapcsolása és összekötése, webhook az ismétlődő fizetésekhez, beágyazott pénztár, Payment Element, Apple Pay és Google Pay, űrlaponkénti beállítások.

A Stripe nemzetközi fizetési szolgáltató. A Fluent Forms beágyazott (az űrlapon belüli) fizetést kínál vele, bankkártyával és más módokkal, az oldal elhagyása nélkül.

## A Stripe bekapcsolása

1. Nyisd meg a **Globális beállítások → Fizetési beállítások → Payment Methods** oldalt.
2. Kattints a **Stripe** fülre.
3. Jelöld be a **Stripe-fizetési mód bekapcsolása** jelölőnégyzetet.

## Összekötés a Stripe-fiókkal

Bekapcsolás után megjelennek a beállítások.

![A Stripe beállításai](./kepek/fizetesek-1-stripe-beallitasok.webp)

*A Stripe beállításai* (https://minta-bolt.hu/wp-admin/admin.php?page=fluent_forms_settings)

A képen a **Fizetési mód**, a **Connect with Stripe** gomb és a webhook beállításai látszanak.

1. Válaszd ki a **Fizetési mód** értékét: **Tesztmód** a próbafizetésekhez, **Éles mód** a valódi fizetésekhez. Mindkettő ugyanígy állítható be.
2. Kattints a **Connect with Stripe** gombra: a Stripe bejelentkezési oldalára kerülsz, ahol összekötheted a fiókodat.
3. A Stripe oldalán add meg az e-mail-címedet és a jelszavadat (legalább 10 karakter), majd kattints a **Submit** gombra. Google-fiókkal is bejelentkezhetsz. Ha már van Stripe-fiókod, ugyanazt az e-mail-címet használd. A „Get emails from Stripe” jelölőnégyzet nem kötelező.
4. Kattints a **Stripe beállítások mentése** gombra.

Az összekötés lehetővé teszi, hogy a Fluent Forms lássa a Stripe-fiókod adatait (például a fizetési és kifizetési előzményeket), és fizetéseket hozzon létre a nevedben.

A **Connect with Stripe** alapból be van kapcsolva, és a biztonságos beállításhoz ez az ajánlott. Ha inkább a hagyományos API-kulcsos módszert használnád, a témád `functions.php` fájljába vagy egy kódrészletkezelő bővítménybe tedd be ezt a sort:

```php
add_filter('fluentform/disable_stripe_connect', '__return_true');
```

## Webhook az ismétlődő fizetésekhez

Az előfizetések és az ismétlődő fizetések követéséhez a Stripe értesítéseket (IPN) küld a webhelyednek. Ehhez webhookot kell beállítanod a Stripe-ban. Az ismétlődő számlázást az [Előfizetés mező](https://hub.hellowp.io/hu/plugins/fluentform-signature/fizetesek-elofizetes/) gyűjti be.

1. A **Globális beállítások → Fizetési beállítások → Payment Methods → Stripe** oldalon görgess a **Stripe-webhook (ismétlődő fizetésekhez ajánlott)** részhez.
2. Másold ki a **Webhook URL** értékét és a felsorolt webhook-eseményeket.
3. Kattints a **Stripe beállítások mentése** gombra.
4. Nyisd meg a Stripe-fiókod webhook-oldalát (a Stripe vezérlőpulton a **Developers → Webhooks** menüben), és kattints a **+ Add destination** gombra.
5. Keresd meg és jelöld be a Fluent Forms által ajánlott eseményeket (név vagy leírás szerint is kereshetsz), majd kattints a **Continue** gombra.
6. Válaszd ki a webhook végpontot, és kattints újra a **Continue** gombra.
7. A **Endpoint URL** mezőbe illeszd be a kimásolt webhook URL-t, majd kattints a **Create destination** gombra.

Az ajánlott események:

| Esemény | Mikor lép működésbe |
| --- | --- |
| `charge.succeeded` | Egy fizetés sikeresen lezajlott. |
| `charge.captured` | Egy korábban engedélyezett összeg lekönyvelése megtörtént. Visszatartott (hold) fizetésnél kötelező. |
| `invoice.payment_succeeded` | Egy számla fizetése sikeres. Gyakran előfizetésekhez használatos. |
| `charge.refunded` | Egy fizetést visszatérítettek. |
| `customer.subscription.deleted` | Az ügyfél előfizetése lemondva vagy lejárt (lemondás, automatikus megszüntetés vagy többszöri sikertelen fizetés után). |
| `customer.subscription.updated` | Az ügyfél előfizetése módosult. |
| `checkout.session.completed` | A pénztári munkamenet sikeresen befejeződött. |

A beállítási oldalon a fentieken kívül az `checkout.session.async_payment_succeeded` és a `checkout.session.async_payment_failed` esemény is szerepel a bekapcsolandók között.

## A Stripe hozzáadása az űrlaphoz

A fizetési űrlapban legyen **Fizetési tétel** (vagy más összeget adó mező) és **Payment Method** mező.

1. Nyisd meg az űrlap szerkesztőjét, és vidd az egeret a **Payment Method** mezőre, majd kattints a ceruza ikonra.
2. A **Fizetési módok** között jelöld be a **Hitel- vagy betéti kártya (Stripe)** lehetőséget, és kattints a mellette lévő nyílra.
3. Állítsd be a lenyíló opciókat.
4. Kattints a **Save Form** gombra.

![A Stripe opciói a Payment Method mezőben](./kepek/fizetesek-1-fizetesi-mod-stripe.webp)

*A Stripe opciói a Payment Method mezőben* (https://minta-bolt.hu/wp-admin/admin.php?page=fluent_forms&route=editor&form_id=7)

A képen a kinyitott Stripe-beállítások látszanak a mező testreszabó paneljén.

| Beállítás | Mit csinál |
| --- | --- |
| Fizetési mód címkéje | A fizetési mód felirata az űrlapon. |
| Beágyazott pénztár | A Stripe beágyazott (inline) fizetésként jelenik meg az űrlapon. |
| Enable Payment Element | A kártyamezőt a Stripe Payment Elementre cseréli. Csak a **Beágyazott pénztár** bekapcsolásakor érhető el. |
| Irányítószám ellenőrzése | Ha bejelölöd, a kitöltőnek kötelező megadnia az irányítószámot a beküldéshez. |

## A Stripe Payment Element használata

A Payment Element a beágyazott Stripe-fizetés szokásos kártyamezőjét váltja fel. A fizető az űrlap elhagyása nélkül fizethet kártyával, Apple Pay-jel vagy Google Pay-jel. A tárcás lehetőségek csak a támogató eszközökön és böngészőkben jelennek meg. Klasszikus és beszélgetős űrlapon is működik, a Stripe 3D Secure megerősítése is.

1. Nyisd meg az űrlapot a szerkesztőben, és menj a **Payment Method** mező beállításaihoz.
2. Jelöld be a **Stripe** módot, kattints a nyílra, és kapcsold be a **Beágyazott pénztár** opciót.
3. Jelöld be az **Enable Payment Element** opciót.
4. Kattints a **Save Form** gombra.

### Domain regisztrálása az Apple Pay-hez és a Google Pay-hez

Az Apple Pay megjelenítéséhez előbb regisztrálnod kell a webhelyed domainjét a Stripe-fiókodban.

1. Nyisd meg a Stripe vezérlőpultot, kattints a jobb felső fogaskerékre (**Settings**), és a **Product settings** alatt válaszd a **Payments** pontot.
2. Nyisd meg a **Payment method domains** fület, és kattints az **Add a new domain** gombra.
3. Írd be a webhely fő domainjét (például `example.com`) vagy egy aldomaint (például `shop.example.com`), majd kattints a **Save** gombra.

A domain ezután **Enabled** állapottal megjelenik a listában. Az azonosítóját a sor végén lévő hárompontos ikon **Copy domain ID** pontjával másolhatod ki. Ha le akarod tiltani a tárcákat azon a domainen, válaszd a **Disable domain** pontot.

### Így néz ki az űrlapon

Bekapcsolt Payment Elementnél az űrlap egymás mellett mutatja a kártyát és a tárcás opciót. A támogatott eszközön Apple Pay (Safari iPhone-on, iPaden vagy Macen) vagy Google Pay (Chrome és más támogatott böngészők) jelenik meg. Ha a fizető tárcát választ, ez az üzenet látszik: „Another step will appear to securely submit your payment information.” A fizetést ekkor a **Submit Form** gomb után a tárca ablakában fejezi be. Tesztmódban az űrlapon a „Stripe test mode activated” felirat is látszik.

## Űrlaponkénti Stripe-beállítások

1. Az **Űrlapok** listában kattints az űrlap **Beállítások** hivatkozására.
2. A **Beállítások és integrációk** fülön válaszd a **Fizetési beállítások** pontot, és görgess a **Stripe-beállítások** részhez.
3. Állítsd be a kívántakat, majd kattints a **Save Settings** gombra.

| Beállítás | Mit csinál |
| --- | --- |
| Stripe-metaadatok | Az **Űrlapadatok továbbítása a Stripe-ba** jelölőnégyzettel az űrlap beküldött adatait elküldi a Stripe-nak. |
| Stripe-fiók | **A globális beállítások szerint** a globális fiókot használja, az **Egyéni Stripe-hitelesítő adatok** egy másik Stripe-fiókot állít be csak erre az űrlapra. |
| Stripe-fizetési bizonylat | A Stripe által küldött fizetési bizonylat e-mailjének kikapcsolása. Nem ajánlott, ha követni akarod a tranzakciókat. |
| Kivonaton megjelenő megnevezés | A vásárló kivonatán megjelenő szöveg, 5 és 22 karakter között. Üresen az űrlap neve kerül oda. |
