Buffalo Eats Online API Documentation

SubscriptionService
in package

Service for managing client subscriptions and billing.

Uses test mode simulation for development. In production, integrates with the Stripe API for real subscription management.

Tags
author

J.J. Johnson visionquest716@gmail.com

copyright

2026 VisionQuestServices LLC

Table of Contents

Properties

$businessModel  : Business
$invoiceModel  : Invoice
$subscriptionModel  : Subscription

Methods

__construct()  : mixed
Initialize the subscription service.
cancelSubscription()  : array<string|int, mixed>
Cancel a subscription.
changeTier()  : array<string|int, mixed>
Change subscription tier.
createSubscription()  : array<string|int, mixed>
Create a new subscription for a business.
generateMonthlyInvoice()  : int|null
Generate a monthly invoice for a subscription.
getSubscriptionStatus()  : array<string|int, mixed>|null
Get subscription status details for display.
getTierDetails()  : array<string|int, mixed>
Get tier details for display.
handleWebhookEvent()  : array<string|int, mixed>
Handle a Stripe webhook event.
retryPayment()  : array<string|int, mixed>
Retry payment for a failed invoice.
getStripePriceId()  : string
Get the Stripe price ID for a tier.
handleInvoicePaid()  : array<string|int, mixed>
Handle invoice.paid webhook event.
handlePaymentFailed()  : array<string|int, mixed>
Handle invoice.payment_failed webhook event.
handleSubscriptionDeleted()  : array<string|int, mixed>
Handle customer.subscription.deleted webhook event.
isTestMode()  : bool
Check if running in test mode.

Properties

Methods

cancelSubscription()

Cancel a subscription.

public cancelSubscription(int $businessId) : array<string|int, mixed>
Parameters
$businessId : int

Business ID

Return values
array<string|int, mixed>

Result with keys: success, error

changeTier()

Change subscription tier.

public changeTier(int $businessId, string $newTier) : array<string|int, mixed>
Parameters
$businessId : int

Business ID

$newTier : string

New tier

Return values
array<string|int, mixed>

Result with keys: success, error

createSubscription()

Create a new subscription for a business.

public createSubscription(int $businessId, string $tier[, array<string|int, mixed> $paymentData = [] ]) : array<string|int, mixed>
Parameters
$businessId : int

Business ID

$tier : string

Subscription tier (free, basic, premium, enterprise)

$paymentData : array<string|int, mixed> = []

Payment data (card token, etc.)

Return values
array<string|int, mixed>

Result with keys: success, subscription_id, error

generateMonthlyInvoice()

Generate a monthly invoice for a subscription.

public generateMonthlyInvoice(int $subscriptionId) : int|null
Parameters
$subscriptionId : int

Subscription ID

Return values
int|null

Invoice ID

getSubscriptionStatus()

Get subscription status details for display.

public getSubscriptionStatus(int $businessId) : array<string|int, mixed>|null
Parameters
$businessId : int

Business ID

Return values
array<string|int, mixed>|null

getTierDetails()

Get tier details for display.

public getTierDetails() : array<string|int, mixed>
Return values
array<string|int, mixed>

handleWebhookEvent()

Handle a Stripe webhook event.

public handleWebhookEvent(string $eventType, array<string|int, mixed> $eventData) : array<string|int, mixed>
Parameters
$eventType : string

Event type (e.g., invoice.paid)

$eventData : array<string|int, mixed>

Event payload data

Return values
array<string|int, mixed>

Result with keys: success, error

retryPayment()

Retry payment for a failed invoice.

public retryPayment(int $invoiceId) : array<string|int, mixed>
Parameters
$invoiceId : int

Invoice ID

Return values
array<string|int, mixed>

Result with keys: success, error

getStripePriceId()

Get the Stripe price ID for a tier.

private getStripePriceId(string $tier) : string
Parameters
$tier : string

Subscription tier

Return values
string

handleInvoicePaid()

Handle invoice.paid webhook event.

private handleInvoicePaid(array<string|int, mixed> $eventData) : array<string|int, mixed>
Parameters
$eventData : array<string|int, mixed>

Event data

Return values
array<string|int, mixed>

handlePaymentFailed()

Handle invoice.payment_failed webhook event.

private handlePaymentFailed(array<string|int, mixed> $eventData) : array<string|int, mixed>
Parameters
$eventData : array<string|int, mixed>

Event data

Return values
array<string|int, mixed>

handleSubscriptionDeleted()

Handle customer.subscription.deleted webhook event.

private handleSubscriptionDeleted(array<string|int, mixed> $eventData) : array<string|int, mixed>
Parameters
$eventData : array<string|int, mixed>

Event data

Return values
array<string|int, mixed>

isTestMode()

Check if running in test mode.

private isTestMode() : bool
Return values
bool

        
On this page

Search results