Skip to content

SubscriptionDriverInterface

Source: view src/Contracts/SubscriptionDriverInterface.php

Generated from the public PHP contract and its PHPDoc. Driver support varies; check instanceof or GatewayCapabilities before calling optional gateway capabilities.

createPlan

Create a subscription plan. Expected $data keys: name (string) required — human-readable plan name amount (float) required — amount in major currency unit (e.g. 5000.00 for NGN 5,000) currency (string) required — ISO 4217 currency code (e.g. 'NGN', 'USD') interval (string) required — one of: daily | weekly | monthly | quarterly | biannually | annually description (string) optional trial_days (int) optional — number of free trial days before first charge invoice_limit (int) optional — max number of charges; 0 = unlimited

public function createPlan(array $data): array;

updatePlan

Update an existing plan.

public function updatePlan(string $planCode, array $data): array;

getPlan

Retrieve a single plan.

public function getPlan(string $planCode): array;

listPlans

List all plans.

public function listPlans(array $params = []): array;

deletePlan

Delete / deactivate a plan.

public function deletePlan(string $planCode): array;

createSubscription

Create a subscription for a customer. Expected $data keys: customer (string) required — customer email or gateway customer code plan (string) required — plan code returned by createPlan start_date (string) optional — ISO 8601 date; defaults to immediately authorization (string) optional — stored authorization code (for gateways that require it)

public function createSubscription(array $data): array;

cancelSubscription

Cancel a subscription (no further charges).

public function cancelSubscription(string $subscriptionCode): array;

pauseSubscription

Pause a subscription (suspend charges temporarily).

public function pauseSubscription(string $subscriptionCode): array;

resumeSubscription

Resume a previously paused subscription.

public function resumeSubscription(string $subscriptionCode): array;

getSubscription

Retrieve details of a single subscription.

public function getSubscription(string $subscriptionCode): array;

listSubscriptions

List all subscriptions.

public function listSubscriptions(array $params = []): array;

listCustomerSubscriptions

List all subscriptions belonging to a specific customer.

public function listCustomerSubscriptions(string $customerEmail): array;