Tovább a tartalomhoz

Függvények: ügyfél és tagság létrehozása

Az rcp_add_customer(), rcp_add_membership(), rcp_add_user_to_subscription(), rcp_add_member_note() és rcp_get_customer() függvények paraméterei és példái.

Ezek a függvények ügyfelet és tagságot hoznak létre vagy kérnek le kódból. Egyedi kód, ezért a bevezetéséhez érdemes fejlesztő segítségét kérni.

Új RCP ügyfélrekordot hoz létre. Megadhatsz egy meglévő WordPress-felhasználói azonosítót (user_id), vagy user_args tömböt, ebből a bővítmény a wp_insert_user() függvénnyel létrehozza a felhasználót is. false az eredmény, ha hiányzik egy kötelező felhasználói mező, a felhasználó létrehozása nem sikerül, vagy az adott felhasználóhoz már van ügyfél.

A $data tömb elemei (mind elhagyható, hacsak nincs másképp jelölve):

Kulcs Típus Jelentés
user_id egész A WordPress-felhasználó azonosítója.
user_args tömb A wp_insert_user() argumentumai új fiókhoz. Ha nincs user_id, kötelező: user_login, user_email, user_pass.
date_registered szöveg MySQL-dátum és idő. Alapérték: a jelenlegi idő.
email_verification szöveg none, pending vagy verified. Érvénytelen értéket figyelmen kívül hagy.
last_login szöveg Az utolsó belépés ideje (MySQL-dátum).
ips tömb Ismert IP-címek (szerializálva tárolódnak).
notes szöveg Admin jegyzetek.
has_trialed egész Volt-e már próbaidőszaka. Alapérték: 0.

Visszatérési érték: az új ügyfél azonosítója (egész), hiba esetén false.

Meglévő felhasználó összekötése:

$customer_id = rcp_add_customer( array(
'user_id' => 42,
) );

Felhasználó és ügyfél együtt:

$customer_id = rcp_add_customer( array(
'user_args' => array(
'user_login' => 'minta_tag',
'user_email' => '[email protected]',
'user_pass' => 'biztonsagos-jelszo',
),
) );

Egy ügyfélrekordot kér le azonosító alapján. A $customer_id paraméter 0 értékével a bejelentkezett felhasználó ügyfele töltődik be. Siker esetén RCP_Customer objektumot ad, ha nincs ilyen ügyfél, false-t.

$customer = rcp_get_customer( 12 );

Új tagságrekordot ír az adatbázisba. A függvényhez Restrict Content Pro 3.0 vagy újabb kell. Egyedi regisztrációs folyamatokhoz, importhoz és admin automatizáláshoz való. Aktív tagságnál a létrehozás után érdemes meghívni az RCP_Membership::activate() metódust, hogy a szerepkörök és az üdvözlő e-mail is lefusson. Meglévő tagság módosításához az rcp_update_membership() függvényt vagy az RCP_Membership objektum metódusait használd.

A $data tömb kulcsai:

Kötelező

Kulcs Jelentés
customer_id Az RCP_Customer azonosítója, akihez a tagság tartozik.

Gyakori

Kulcs Jelentés
object_id A tagsági szint azonosítója. Érvényes szintnek kell lennie, különben a létrehozás sikertelen.
object_type Az objektum típusa. Alapérték: membership.
status pending, active, cancelled vagy expired. Alapérték: pending. A régi free értéket active-ra alakítja.
signup_method live, manual vagy imported. Alapérték: live.

Összegek és számlázás

Kulcs Jelentés
currency Pénznem. Alapérték: az oldal pénzneme (rcp_get_currency()).
initial_amount A kezdeti díj. Ha kimarad, a szintből számolódik.
recurring_amount A megújítás összege. Ha kimarad, a szintből számolódik.
auto_renew Be van-e kapcsolva az automatikus megújítás. Alapérték: false.
times_billed Eddigi számlázások száma. Alapérték: 0.
maximum_renewals Részletfizetésnél a megújítások felső határa (0 = korlátlan). Alapérték: 0.

Dátumok

Kulcs Jelentés
created_date Létrehozás ideje (MySQL-dátum). Alapérték: a jelenlegi idő.
trial_end_date A próbaidőszak vége. Automatikusan is beállhat, ha az ügyfél jogosult próbaidőszakra és a szint engedi.
renewed_date Az utolsó megújítás ideje.
cancellation_date A lemondás ideje.
expiration_date A lejárat vagy a következő megújítás ideje. Ha üresen hagyod, a szint (és a váltás körülményei) alapján számolódik. A none érték lejárat nélküli tagságot jelent.

Fizetési átjáró

Kulcs Jelentés
gateway Az átjáró azonosítója (slug).
gateway_customer_id Az ügyfél azonosítója az átjárónál (például Stripe cus_…).
gateway_subscription_id Az előfizetés azonosítója az átjárónál (például Stripe sub_…).
subscription_key Egyedi kulcs. Ha kimarad, a tagság metódusain át mentve generálódik.

Egyéb

Kulcs Jelentés
user_id WordPress-felhasználói azonosító. Ha kimarad, az ügyfélből töltődik ki.
upgraded_from Annak a tagságnak az azonosítója, amelyből ezt a tagságot frissítéssel hozták létre.
notes Jegyzetek a tagsághoz. Utólagos jegyzethez a RCP_Membership::add_note() metódust használd.
disabled 0 engedélyezett, 1 letiltott (puha törlés). Alapérték: 0.

Visszatérési érték: az új tagság azonosítója, hiba esetén false (hiányzó customer_id, érvénytelen szint vagy adatbázishiba).

Aktív tagság létrehozása az 50-es ügyfélnek a 2-es szinten:

$membership_id = rcp_add_membership( array(
'customer_id' => 50,
'object_id' => 2,
'status' => 'active',
) );
if ( $membership_id ) {
$membership = rcp_get_membership( $membership_id );
$membership->activate();
}

Kézi hozzáadás megadott lejárattal:

$membership_id = rcp_add_membership( array(
'customer_id' => 50,
'object_id' => 2,
'status' => 'active',
'signup_method' => 'manual',
'expiration_date' => '2026-12-31 23:59:59',
) );

Egy WordPress-felhasználóhoz tagsági szintet rendel: ha kell, létrehozza az RCP ügyfelet, majd új tagságot ad hozzá, vagy megújítja a meglévőt. Ha az ügyfélnek már van ilyen szintű tagsága, nem készül másolat, hanem a meglévő megújul. Siker esetén lefut az rcp_successful_registration akció.

A függvény a 3.0-s verziótól elavult. Új kódban az rcp_add_membership() vagy az RCP_Customer::add_membership() metódus a javasolt.

Paraméterek:

  • $user_id (egész): a WordPress-felhasználó azonosítója.
  • $args (tömb): a tagság adatai. Csak a subscription_id kötelező.
Kulcs Jelentés
subscription_id Kötelező. A tagsági szint azonosítója.
status active, cancelled, expired vagy a régi free (aktívként kezeli). Alapértéke a szint alapján számolódik.
expiration Lejárat (MySQL-dátum). Ha kimarad, kiszámolódik.
discount_code Kedvezménykód. Rögzíti a használatot és növeli a kód használatszámát.
subscription_key Előfizetési kulcs.
trial_duration Próbaidőszak hossza. Megadásakor a tagság próbaidőszakos lesz.
trial_duration_unit day, month vagy year. Alapérték: day.
recurring Az auto_renew beállítása. Alapérték: false.
payment_profile_id Az átjáró előfizetés- vagy profilazonosítója.

Visszatérési érték: true siker esetén, false, ha hiányzik vagy érvénytelen a szint azonosítója, vagy a tagság létrehozása nem sikerül.

$added = rcp_add_user_to_subscription(
$user_id,
array(
'subscription_id' => 2,
'status' => 'active',
)
);

Az új megoldás ugyanerre:

$customer = rcp_get_customer_by_user_id( $user_id );
if ( $customer ) {
rcp_add_membership(
array(
'customer_id' => $customer->get_id(),
'object_id' => 2,
'status' => 'active',
)
);
}

A kézi tagságfelvételről az admin felületen a „Tagság kézi hozzáadása” fejezet szól.

Admin jegyzetet fűz a felhasználó RCP ügyfélrekordjához, amely az ügyfél adminisztrációs képernyőjén látszik. Ha a felhasználónak még nincs ügyfélrekordja, nem csinál semmit.

A függvény a 3.0-s verziótól elavult. Ha ismered az ügyfél azonosítóját, az rcp_add_customer_note( $customer_id, $note ) függvényt használd. Ugyanez elérhető az RCP_Customer objektum add_note() metódusával is.

  • $user_id (egész): a WordPress-felhasználó azonosítója. Alapérték: 0.
  • $note (szöveg): a jegyzet szövege. Alapérték: üres.

Nincs visszatérési értéke.

rcp_add_member_note( $user_id, 'Kézi hosszabbítás az év végéig.' );
$customer = rcp_get_customer_by_user_id( $user_id );
if ( $customer ) {
rcp_add_customer_note( $customer->get_id(), 'Személyazonosság ellenőrizve az ügyfélszolgálaton.' );
}

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