Tovább a tartalomhoz

Osztályok: RCP_Customer, RCP_Membership és RCP_Member

Az ügyfél, a tagság és az elavult tag osztály metódusai: lekérdezés, állapotkezelés, lemondás, megújítás és átváltás.

Ez a fejezet azt a három osztályt foglalja össze, amelyekkel egy felhasználó tagságának adatait olvashatod és módosíthatod PHP-ból. Az egyedi kód megvalósítása fejlesztői feladat, ezért egyedi kódhoz érdemes fejlesztő segítségét kérni.

Az objektumokat soha ne példányosítsd kézzel, mindig a hozzájuk tartozó lekérő függvénnyel kérd el őket.

Az ügyfél olyan felhasználó, akinek van vagy volt tagsága az oldalon.

Függvény Mikor használd
rcp_get_customer( $id ) Ha ismered az ügyfél azonosítóját.
rcp_get_customer_by_user_id( $user_id ) Ha a WordPress-felhasználó azonosítóját ismered.
rcp_get_customers() Több ügyfél lekérdezéséhez, RCP_Customer objektumokat ad.

Ha nincs ilyen ügyfél, a függvények hamisat adnak vissza.

$customer = rcp_get_customer( 123 );
$customer = rcp_get_customer_by_user_id( 44 );
Metódus Mit ad vissza
get_id() Az ügyfél azonosítóját.
get_user_id() A hozzá tartozó felhasználói fiók azonosítóját.
get_ips() Az ügyfél ismert IP-címeinek tömbjét.
get_notes() Az ügyfélhez tartozó jegyzeteket szövegként.
get_memberships( $args ) Az ügyfél tagságait. A $args ugyanaz, mint az rcp_get_memberships() függvényé, így szűrhetsz.
get_payments( $args ) Az ügyfél által küldött fizetéseket.
is_pending_verification() Igaz, ha az ügyfél e-mail-cím megerősítésére vár.
has_trialed() Igaz, ha az ügyfél már használt ingyenes próbaidőszakot.
has_active_membership() Igaz, ha legalább egy aktív tagsága van.
has_paid_membership() Igaz, ha legalább egy aktív, fizetett tagsága van.
can_access( $post_id ) Igaz, ha az ügyfél láthatja a megadott bejegyzést.
has_access_level( $szint ) Igaz, ha az ügyfél hozzáférési szintje legalább a megadott (0 és 10 közötti egész).
add_ip( $ip ) Hozzáad egy IP-címet az ismertekhez.
add_note( $jegyzet ) Új jegyzetet fűz az ügyfélhez.
verify_email() Az ügyfél e-mail-címét megerősítettnek jelöli.

Az update() metódus egy tömböt vár:

Kulcs Típus Jelentése
user_id egész A hozzá tartozó felhasználói fiók azonosítója.
date_registered szöveg A regisztráció dátuma MySQL-formátumban.
email_verification szöveg Az e-mail-megerősítés állapota: none (nem volt szükség rá), pending (szükséges, de még nem történt meg), verified (megtörtént).
last_login szöveg Az utolsó belépés dátuma MySQL-formátumban.
ips tömb Az ismert IP-címek.
notes szöveg Az ügyfél jegyzetei.
$customer = rcp_get_customer( 123 );
$customer->update( array(
'last_login' => current_time( 'mysql' )
) );

A notes megadása felülírja a meglévő jegyzeteket. Ha hozzá akarsz fűzni egyet, használd az add_note() metódust.

Egy tagságrekordot ír le: a szintet, az állapotot, a dátumokat, az átjáró azonosítóit és az összegeket.

Az rcp_get_membership( $id ) függvény a tagság azonosítója alapján adja vissza az objektumot, vagy hamisat, ha nincs ilyen. Az rcp_get_memberships() függvény és az RCP_Customer::get_memberships() is RCP_Membership objektumokat ad.

$membership = rcp_get_membership( 123 );
Metódus Mit ad vissza
get_id() A tagság azonosítóját.
get_customer_id() Annak az ügyfélnek az azonosítóját, akihez a tagság tartozik.
get_customer() Az ügyfél RCP_Customer objektumát.
get_user_id() Az ügyfél WordPress-felhasználói azonosítóját.
get_object_id() A kapcsolt objektum azonosítóját. Hagyományos tagságnál ez a tagsági szint azonosítója.
get_object_type() Az objektum típusát, jellemzően membership.
get_membership_level_name() A tagsági szint nevét, vagy hamisat, ha a szint nem tölthető be.
Metódus Mit ad vissza
get_currency() A tagság pénznemének kódját.
get_initial_amount( $formatted ) A beiratkozáskor fizetett összeget. Ha $formatted igaz, a pénznem jelével együtt.
get_recurring_amount( $formatted ) A megújításkor fizetendő összeget, ugyanígy formázható.
get_formatted_billing_cycle() Olvasható összefoglalót a számlázásról (kezdő és ismétlődő összeg, „Ingyenes” vagy egyszeri élethosszig tartó ár).
Metódus Mit ad vissza
get_status() Az állapotot: active, cancelled, expired vagy pending.
get_expiration_date( $formatted ) A lejárat vagy a következő megújítás dátumát. Igaz $formatted esetén az oldal Beállítások → Általános menüpontban megadott dátumformátumával, hamis esetén MySQL-formátumban, élethosszig tartó tagságnál pedig a none szöveggel.
get_expiration_time() A lejáratot Unix-időbélyegként, vagy hamisat, ha nincs lejárat.
get_created_date( $formatted ) A tagságrekord létrehozásának dátumát.
get_activated_date() Azt a dátumot, amikor a fizetés megerősítést kapott, és a tagság először aktív lett.
get_trial_end_date() A próbaidőszak végét, vagy üreset, ha nincs próbaidőszak.
get_cancellation_date( $formatted ) A lemondás dátumát.
get_renewed_date( $formatted ) Az utolsó megújítás dátumát.
get_times_billed() Hányszor számláztak a tagságra (az első fizetéssel együtt).
get_maximum_renewals() A részletfizetési terv legtöbb megújítását (0 = korlátlan).
Metódus Mit ad vissza
get_gateway() A számlázáshoz használt fizetési átjáró azonosítóját.
get_gateway_customer_id() Az átjáró ügyfél- vagy profilazonosítóját (például Stripe-nál cus_…). Nem minden átjáró használja.
get_gateway_subscription_id() Az átjáró előfizetés-azonosítóját (például sub_…).
get_subscription_key() A tagság egyedi előfizetési kulcsát.
Metódus Mit ad vissza
get_upgraded_from() Ha a tagság átváltással jött létre, az előző tagság azonosítóját, különben 0-t.
get_notes() A tagsághoz tartozó adminisztrátori jegyzeteket.
get_signup_method() A létrehozás módját: live (regisztrációs űrlap), manual (admin) vagy imported (CSV-import).
get_payments( $args ) A tagság fizetéseit.
get_card_details() Az átjáró által tárolt kártyaadatokat. A szerkezet átjáróként eltérő, Stripe esetén például name, type, last4, exp_month, exp_year.
get_payment_plan_completed_date() A részletfizetési terv lezárásának idejét, vagy üreset.
$membership = rcp_get_membership( 1 );
echo $membership->get_initial_amount( false );
echo $membership->get_initial_amount( true );
echo $membership->get_expiration_date( true );
echo $membership->get_expiration_date( false );

Állapot, dátumok, számlázás módosítása

Szekció neve “Állapot, dátumok, számlázás módosítása”

Ezek a metódusok nem helyettesítik a regisztrációt vagy a fizetést, egyedi admin- vagy automatizálási kódhoz valók.

Metódus Mit csinál
set_status( $uj ) Átállítja az állapotot, és megmondja, sikerült-e.
set_expiration_date( $datum ) Beállítja a lejáratot vagy a következő megújítást (MySQL-formátum).
calculate_expiration( $mai_naptol, $proba ) Kiszámít egy új lejáratot (megújításhoz, próbaidőszakhoz, a szint időtartamából).
set_renewed_date( $datum ) Beállítja az utolsó megújítás dátumát, megadás nélkül a mostanit.
set_object_id( $id ) Beállítja a tagsági szint azonosítóját.
is_trialing() Igaz, ha éppen próbaidőszak tart.
is_active() Igaz, ha a tagság nincs letiltva, nem járt le, és az állapota active vagy cancelled (a lemondott tag az időszak végéig megtartja a hozzáférést).
is_paid( $proba ) Igaz, ha a tagság fizetett. A próbaidőszak alapból fizetettnek számít.
is_expired() Igaz, ha a lejárat a múltban van. Szükség esetén expired állapotra állítja (a pending kivétel).
is_recurring() Igaz, ha az automatikus megújítás be van kapcsolva.
set_recurring( $igaz ) Csak az automatikus megújítás jelzőjét állítja, az átjáróban nem hoz létre és nem töröl előfizetést.
Metódus Mit csinál
can_toggle_auto_renew() Igaz, ha a beállítások szerint a vásárló dönthet, az átjáró támogatja az előfizetés létrehozását, és a tagságnak van átjáró-ügyfélazonosítója és ismétlődő ára.
toggle_auto_renew_off() Lemondja az ismétlődő számlázást az átjárónál, és törli az automatikus megújítást, valamint az előfizetés-azonosítót. Az állapotot alapból nem változtatja. Igaz értéket vagy WP_Error-t ad.
toggle_auto_renew_on() Előfizetést hoz létre az átjáróban, és bekapcsolja az automatikus megújítást. Igaz értéket vagy WP_Error-t ad.
Metódus Mit csinál
set_gateway_customer_id( $id ) Beállítja az átjáró ügyfélazonosítóját.
set_gateway_subscription_id( $id ) Beállítja az átjáró előfizetés-azonosítóját.
set_subscription_key( $kulcs ) Beállítja az előfizetési kulcsot, üres érték esetén újat generál.
Metódus Mit ad vissza
was_upgrade() Igaz, ha a tagság egy másikból átváltással jött létre.
was_upgraded() Ha a tagságot egy újra váltották, annak azonosítóját, különben hamisat.
Metódus Mit csinál
activate() Első aktiválás: beállítja az aktiválás dátumát, az aktív állapotot, a szint felhasználói szerepkörét, és elindítja az üdvözlő e-mail akcióit. Új tagságnál ezt használd a set_status( 'active' ) helyett.
can_renew() Igaz, ha a kézi megújítás engedélyezett.
renew( $ismetlodo, $allapot, $lejarat ) Meghosszabbítja a lejáratot, és frissíti az állapotot és az ismétlődést, miután a fizetés megtörtént. Üres $lejarat esetén magától számol.
upgrade_possible() Igaz, ha a tagság átválthat másik szintre.
has_upgrade_path() Igaz, ha az aktuálison kívül van másik aktív szint.
get_upgrade_paths() A választható szintek Membership_Level objektumainak tömbje.
Metódus Mit csinál
has_payment_plan() Igaz, ha a legtöbb megújítás értéke nagyobb nullánál.
at_maximum_renewals() Igaz, ha a terv elérte a megújítási korlátját.
set_payment_plan_completed_date( $datum ) Rögzíti a terv lezárásának dátumát.
is_payment_plan_complete() Igaz, ha van rögzített lezárási dátum.
complete_payment_plan() Lefuttatja az utolsó fizetés utáni műveleteket a szint beállításai szerint.
Metódus Mit csinál
is_disabled() Igaz, ha a tagságot az adminfelületen „törölték” (puha törlés).
disable() Puha törlés: ha lehet, leállítja a számlázást, visszavonja a hozzáférést, elrejti a tagságot az ügyfél elől és eltávolítja a szint szerepkörét.
enable() Újra engedélyezi a letiltott tagságot, és ha még aktív, visszaadja a szerepkört.
cancel() cancelled állapotra állítja, lefuttatja a lemondás akcióit és e-mailjét. Az átjáró számlázását önmagában nem mondja le.
can_cancel() Igaz, ha az ismétlődő előfizetés az oldalon lemondható.
cancel_payment_profile( $allapot_is ) Lemondja az ismétlődő számlázást az átjárónál. Ha a paraméter igaz, a cancel() is lefut.
expire() Lejáratja a tagságot, és megvonja a korlátozott tartalomhoz való hozzáférést.

Jegyzetek, hozzáférés, időarányos jóváírás, számlázás

Szekció neve “Jegyzetek, hozzáférés, időarányos jóváírás, számlázás”
Metódus Mit csinál
add_note( $jegyzet ) Adminisztrátori jegyzetet fűz a tagsághoz.
can_access( $post_id ) Igaz, ha a tagság hozzáférést ad a bejegyzéshez.
has_access_level( $szint ) Igaz, ha a tagság szintje eléri a kért hozzáférési szintet.
get_prorate_credit_amount() A fel nem használt idő jóváírását szintváltáskor.
can_update_billing_card() Igaz, ha az átjáró támogatja a kártyafrissítést, és az automatikus megújítás él.
increment_times_billed() Növeli a számlázások számát, és ha elérte a korlátot, lefuttathatja a complete_payment_plan() metódust.
Metódus Mit csinál
can_change_gateway_price() Igaz, ha az átjáró támogatja az ármódosítást, és a tagságnak aktív ismétlődő előfizetése van.
change_gateway_price( $uj_ar ) Módosítja az ismétlődő árat az átjárónál, siker esetén az recurring_amount mezőt is.
can_create_gateway_subscription() Igaz, ha az átjáró a regisztráción kívül is létre tud hozni előfizetést, és még nincs.
create_gateway_subscription( $azonnal ) Előfizetést hoz létre az átjáróban. Az $azonnal dönti el, hogy azonnal terhel, vagy a lejáratig vár.
can_change_next_bill_date() Igaz, ha az automatikus megújítás be van kapcsolva, van átjáró-előfizetés, és az átjáró támogatja a megújítási dátum módosítását.
change_next_bill_date( $uj_datum ) Módosítja a következő számlázás dátumát az átjárónál (MySQL-formátum).

Az RCP_Member a WP_User osztályt bővíti. Elavult, új kódban az RCP_Membership és az RCP_Customer osztályt használd. Itt a régi kódok miatt szerepel.

Egy tag állapota lehet:

Állapot Jelentése
free Nem fizetett, olyan, mint egy átlagos WordPress-felhasználó.
pending Aktívvá válik, általában a fizetésre vár.
active Rendben lévő fiók.
cancelled Lemondott, a hozzáférés a lejáratig megmarad.
expired A lejárat dátuma elmúlt.

A get_status() visszaadja, a set_status( $uj ) beállítja az állapotot.

$member = new RCP_Member( 1 );
$status = $member->get_status();
$member->set_status( 'active' );

A lejárat Y-n-d H:i:s formátumban van tárolva.

Metódus Mit csinál
get_expiration_date( $formatted ) Olvasható dátumot ad, hamis paraméterrel formázatlant.
get_expiration_time() Unix-időbélyeget ad.
set_expiration_date( $uj ) Új lejáratot állít be Y-n-d H:i:s formátumban.

Élethosszig tartó tagsághoz add át a none értéket:

$member = new RCP_Member( 1 );
$member->set_expiration_date( 'none' );

A renew() és a cancel() az állapot és a lejárat kézi beállítása nélkül aktivál, illetve letilt. Ismétlődő előfizetésnél a renew( true ) hívást használd. Az ismétlődő számlázást az átjárónál a cancel_payment_profile() mondja le.

$member = new RCP_Member( 1 );
$member->renew( true );
$member->cancel();
$member->cancel_payment_profile();
Metódus Mit csinál
get_joined_date( $szint_id ) A csatlakozás dátumát adja MySQL-formátumban. Szintazonosító nélkül az aktuális szintét.
get_payment_profile_id() A tag átjáró-profilazonosítóját adja.
set_payment_profile_id( $id ) Beállítja az átjáró-profilazonosítót a tagságrekordon.
get_subscription_id() A tag tagsági szintjének azonosítóját adja, vagy hamisat.
set_subscription_id( $id ) Beállítja a tagsági szint azonosítóját.
get_subscription_key() A tagság egyedi előfizetési kulcsát adja.
get_subscription_name() A jelenlegi tagsági szint nevét adja.
get_payments() Az ügyfélrekord összes fizetését adja, vagy null-t, ha nincs ügyfél.
get_notes() Az ügyfélrekord adminisztrátori jegyzeteit adja, vagy hamisat.
add_note( $jegyzet ) Jegyzetet fűz az ügyfélrekordhoz. Siker esetén igaz.
is_active() Igaz, ha a tag hozzáfér a tagi tartalomhoz. Az adminisztrátor mindig igazat kap, mindenki másnak aktív és fizetett tagság kell. Szűrője: rcp_is_active.
is_recurring() Igaz, ha a tagság ismétlődő.
set_recurring( $igaz ) Beállítja, hogy a tagság ismétlődő-e.
is_expired() Igaz, ha a tagság lejárt.
is_trialing() Igaz, ha a tag próbaidőszakban van.
has_trialed() Igaz, ha az ügyfél valaha használt próbaidőszakot.
can_access( $post_id ) Igaz, ha a tag láthatja a bejegyzést. Az adminisztrátor és a nem korlátozott bejegyzés mindig igaz. Szűrője: rcp_member_can_access.
get_switch_to_url() Ha a User Switching bővítmény aktív, olyan címet ad, amellyel az admin átléphet a felhasználó fiókjába. Különben hamisat.
get_prorate_credit_amount() Szintváltáskor a fel nem használt idő jóváírását adja, tagság híján 0-t.
just_upgraded() Egy friss szintváltás Unix-időbélyegét adja, vagy hamisat, ha nincs ilyen vagy már kb. öt percnél régebbi. Szűrője: rcp_member_just_upgraded.

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