# WooCommerce-átvitel: előfizetések és megújítások

> Hogyan veszi át a FluentCart a WooCommerce Subscriptions számlázását: rendszer és kézi beszedés, mi dönt, élesítés előtti teendők, megújítási előzmények és ellenőrzés.

Ha a WooCommerce-boltod ismétlődő termékeket árul, ez az átvitelnek a legtöbb figyelmet igénylő része. Minden más (termékek, rendelések, vásárlók, kuponok) múltbeli adat, amelyet lemásolunk. Az előfizetések élő kötelezettségek, és az átvitel után más rendszer felel a számlázásukért.

Az éles átállás előtt olvasd el ezt a fejezetet.

## Mi változik az átvitel pillanatában

A WooCommerce Subscriptions maga futtatja a számlázási ütemezést. Saját előfizetési rekordokat vezet, eldönti, mikor esedékes a megújítás, megújító rendelést készít, és a mentett tokennel fizetést kér az átjárótól. A Stripe-nál vagy a PayPalnál nincs olyan előfizetési objektum, amelyet a FluentCart örökölhetne, az ütemezés csak a WooCommerce-ben él.

Ezért az átvitt előfizetés nem adható át az átjárónak. Ehelyett a FluentCart veszi át az ütemezést a saját [áruház által kezelt számlázási](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/termekek-bolti-szamlazas/) motorjával: az esedékesség napján létrehozza a megújító számlát, majd vagy megterheli a mentett kártyát, vagy e-mailben elküld a vásárlónak egy fizetési hivatkozást („Pay Now”).

Minden átvitt előfizetés ezért kétféle beszedési módszer egyikébe kerül.

| Beszedési módszer | Mi történik minden esedékességkor | Mit tapasztal a vásárló |
|---|---|---|
| Rendszer (áruház által kezelt számlázás + automatikus terhelés) | A FluentCart automatikusan megterheli a mentett fizetési módot | Semmi nem változik számára |
| Kézi (áruház által kezelt számlázás) | A FluentCart megújító számlát állít ki, és e-mailben fizetési hivatkozást küld | Minden megújítást maga fizet |

Mindkettő ugyanaz a motor. Az egyetlen különbség az, hogy az előfizetéssel együtt átkerült-e használható mentett fizetési mód.

## Mi dönti el, melyiket kapod

A Migrator szándékosan óvatos. Csak akkor jelöl egy előfizetést rendszer-beszedésűnek, ha a mentett token valóban terhelhető a FluentCart által, mert egy tévesen rendszerként jelölt előfizetés minden megújításnál csendben elbukik, ami sokkal rosszabb, mint a kéziként jelölt, amely egyszerűen fizetést kér a vásárlótól.

Egy előfizetés csak akkor lesz rendszer-beszedésű, ha mindez teljesül:

1. Az előfizetést a WooCommerce-ben nem jelölték kézi megújításra.
2. Az átjáró a Stripe.
3. Az előfizetés Stripe PaymentMethod tokent hordoz (`pm_` kezdetű azonosító) és a Stripe-vásárló azonosítóját.
4. A FluentCart Stripe-átjárója telepítve van, és jelzi, hogy támogatja a tokenalapú megújítási terhelést.

Minden más kézi marad:

- **PayPal-előfizetések.** A WooCommerce itt egy Billing Agreement azonosítót tárol, nem PayPal Vault azonosítót, így a FluentCart Vault-alapú terhelése nem tudja használni. A fizető azonosítóját az előfizetés referenciaként megőrzi.
- **Régi Stripe-tokenek.** A régebbi `src_…` és `card_…` tokenek nem érvényes PaymentMethodok, és nem terhelhetők a vásárló jelenléte nélkül.
- **Offline és ismeretlen átjárók.** Nincs mit terhelni.
- **Azok az előfizetések, amelyeket a bolttulajdonos vagy a vásárló már kézi megújításra állított.** Ezt a döntést tiszteletben tartja.

> **Miért a tárolt jelző, és nem az `is_manual()`.** A Migrator a WooCommerce tárolt kézi megújítási jelzőjét olvassa, nem a `WC_Subscription::is_manual()` metódust. Az utóbbi igaz értéket ad a WooCommerce Subscriptions másodlagos webhely-zárja esetén is (ezt minden tesztkörnyezeti klón kiváltja), és akkor is, ha az éles átjáró épp nem elérhető. A tárolt jelző olvasása miatt a tesztkörnyezeti próba nem fokozza le tévesen az összes tokenes előfizetést kézire.

### A mentett kártya adatai

Ha egy Stripe PaymentMethod token átkerül, a Migrator a WooCommerce fizetésitoken-tárából a kártya márkáját, utolsó négy számjegyét és lejáratát is beolvassa, hogy a kártya megfelelően jelenjen meg az adminban és a vásárlói portálon. Ha a boltod csak a nyers tokent tárolta tárolósor nélkül, a token ettől még átkerül és terhelhető, csak a megjelenítés szűkszavúbb.

## Mielőtt élesítesz

1. **Kösd újra a Stripe-ot ugyanazzal a fiókkal.** A FluentCart az API-kulcsait a rendelés üzemmódja szerint választja. Az éles módú Stripe-tokent hordozó átvitt előfizetés nem terhelhető teszt kulcsokkal, és fordítva. Ugyanazt a Stripe-fiókot kösd be, mint a WooCommerce-ben, ugyanabban az üzemmódban. Lásd a [Stripe összekötése](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/fizetes-stripe/) fejezetet.
2. **Ellenőrizd az átvitt előfizetések üzemmódját.** A WooCommerce nem rögzít rendelésenként teszt/éles jelölőt, ezért a Migrator az átjáród jelenlegi beállítását olvassa. Ha a boltod a története során teszt és éles között váltott, egyes rendelések rossz üzemmódba kerülhetnek. Nézz meg néhányat, és szükség esetén az éles átvitel előtt javítsd a leképezést a `fluentcart_migrator_woo_order_mode` szűrővel.
3. **Nézd át az áruház által kezelt számlázás beállításait.** Nyisd meg a **FluentCart Pro → Beállítások → Áruház beállításai → Előfizetések** oldalt, és ellenőrizd a megújítási ütemezést, az újrapróbálkozási viselkedést, a türelmi időt és az emlékeztető e-maileket. Mostantól ezek irányítják az összes átvitt előfizetést. Lásd az [Áruház által kezelt előfizetések](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/termekek-bolti-szamlazas/) fejezetet.
4. **Nézd át a megújítási értesítő e-maileket.** A kézi beszedésű előfizetők olyan fizetési hivatkozást tartalmazó e-mailt kapnak, amilyet a WooCommerce-ben sosem kaptak. Olvasd el, mielőtt a vásárlóid megteszik: **FluentCart Pro → Beállítások → E-mail-konfiguráció → Értesítések** ([E-mail-értesítések](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/beallitasok-email-ertesitesek/)).
5. **Döntsd el, mit mondasz a kézi beszedésű vásárlóknak.** Ha jelentős számú előfizetés kézi lesz, azokat a vásárlókat a következő megújításnál fizetésre kéri a rendszer ahelyett, hogy csendben terhelné őket. Egy rövid előzetes e-mail a változásról megelőzi a meglepetést és csökkenti a lemorzsolódást.
6. **Kapcsold ki a WooCommerce Subscriptions számlázását.** Miután a FluentCart birtokolja az ütemezést, ha a WooCommerce Subscriptions is aktívan dolgozza a megújításokat, kettős terhelés kockázata áll fenn. Az átállás részeként kapcsold ki a WooCommerce-t (legalább az előfizetés-ütemezését), de csak az átvitel ellenőrzése után.

> **Ne futtasd egyszerre a két számlázómotort.** A FluentCart és a WooCommerce Subscriptions egymástól függetlenül azt hiszi, hogy övé a megújítási ütemezés. Előbb ellenőrizd az átvitelt, majd a következő megújítási dátum előtt kapcsold ki a WooCommerce-t.

## Hogyan őrződik meg a megújítási előzmény

A megújító rendelések önálló rendelésekként kerülnek át, és vissza vannak kötve az előfizetésükhöz. Mivel a WooCommerce megújító rendeléseinek nincs WordPress-szülőbejegyzésük, a Migrator a megújítás előfizetésre való hivatkozását a rendelés metaadatából olvassa, és az előfizetés első rendelését jelöli meg szülőként, hogy a FluentCart helyesen tudja hozzárendelni a megújítást.

Két szélsőséges esetet kifejezetten kezel:

- **A szülő-előfizetést törölték.** A megújításnak mégis kell valahová kapcsolódnia, ezért egyetlen lemondott helyettesítő előfizetés jön létre, az eredeti WooCommerce-előfizetés azonosítójához kötve. A törölt előfizetés minden további megújítása ugyanahhoz a helyettesítőhöz kapcsolódik, nem hoz létre sajátot.
- **A megújítás a szülője előtt került át.** Az **újraszámolás és ellenőrzés** lépés újra hozzákapcsolja az előfizetéshez azokat a megújító tranzakciókat, amelyek kapcsolat nélkül maradtak, majd a tényleges megújító rendelésekből újraépíti a számlázásszámokat. Ezért az újraszámolásnak mindig az utolsó szakasznak kell lennie.

## Ellenőrzés az átvitel után

Nyisd meg a **FluentCart Pro → Előfizetések** oldalt, és nézz meg egy reprezentatív mintát:

- **Az állapot** egyezik azzal, amit a WooCommerce mutatott. Egy aktív előfizetés, amelynek lejárt a záró dátuma, szándékosan lejártként kerül át.
- **A számlázási időköz** helyes. A WooCommerce időszak-plusz-szorzó párosát a FluentCart elnevezett időközeire fogja össze: 3 hónap negyedéves, 6 hónap féléves lesz, más többszörösök az alapidőszakra esnek vissza. A megjelenített időköz azonban csak a történet fele, lásd az alábbi megjegyzést.
- **A következő megújítás dátuma** egyezik a forrással.
- **A beszedési módszer** az, amire számítasz. Ha egy előfizetés, amelyről azt hitted, kártyás, kéziként jelenik meg, ellenőrizd a WooCommerce-ben a token típusát a fenti szabályok szerint.
- **A számlázásszám** megegyezik a megújító rendelések számával. Ha nem, futtasd újra az újraszámolást.
- **A mentett kártya** megjelenik a rendszer-beszedésű előfizetéseknél.

> **A valódi ütemezés akkor is megmarad, ha a címke kerekít.** A kéthetente számlázott előfizetésnek nincs megfelelő FluentCart-időköze, ahogy a WooCommerce Subscriptions szinkronizált megújításának sem (az a beállítás, amely minden előfizetőt ugyanazon a naptári napon számláz). Ezért a névvel ellátott időköz mellett a Migrator eltárolja a tényleges ütemezés pillanatképét: az időszakot, a szorzóját és a horgonynapot. A megújítások ebből a pillanatképből készülnek, így a kéthetente számlázott előfizetés kéthetente számlázódik tovább, a szinkronizált pedig a horgonynapján marad, még ha az időköz oszlop címkéje másként szerepel is.

Kapcsolódó fejezetek: [Áruház által kezelt előfizetések](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/termekek-bolti-szamlazas/), [Hibaelhárítás](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-edd-hibaelharitas/) (számlázásszámok, árva megújítások és újraszámolás) és [Az áttekintés](https://hub.hellowp.io/hu/plugins/fluent-cart-pro/migracio-woocommerce-attekintes/).
