Skip to main content
The Billing module manages merchant subscription billing, payment processing, and invoice generation.

Payment Providers

ProviderPlatformUse Case
StripeShopify, GeneralPrimary payment processor
BraintreeBigCommerceBigCommerce-specific billing

Subscription Management

Merchant subscriptions are managed through the RetailerBillingConfiguration entity:
{
  "retailerId": "uuid",
  "plan": "growth",
  "status": "active",
  "paymentProvider": "stripe",
  "customerId": "cus_xxx",
  "subscriptionId": "sub_xxx",
  "nextBillingDate": "2024-04-01T00:00:00Z"
}

Plans

Plans determine the feature set available to each merchant:
  • Feature flags per plan (RetailerFeature)
  • Usage limits (email sends, customer count)
  • Integration access

Invoice Generation

The CustomerInvoice entity tracks all billing transactions:
  • Monthly subscription charges
  • Usage-based charges
  • Invoice PDF generation
  • Payment status tracking

GraphQL Billing API

Billing operations are exposed via GraphQL mutations through the BillingResolver:
mutation UpdateBilling($input: BillingInput!) {
  updateBilling(input: $input) {
    success
    subscription {
      plan
      status
      nextBillingDate
    }
  }
}