A Billing Method is the financial funding source used to pay for gifts and associated fees. Each Account can have one or more Billing Methods, with one set as the default that’s applied automatically when creating Campaigns via the API.
The Billing Methods API exposes the billing methods on an Account that are usable through the public API, so you can discover available funding sources, check remaining budget, and confirm a billing method is valid before sending gifts.
Billing Methods are referenced in V3 API requests by the fundingSourceId field (for example, on POST /orders).
The Billing Method Object
| Field | Type | Description |
|---|
id | string | Unique identifier of the billing method (e.g. fs_abc123) |
name | string | Display name of the billing method |
type | enum | Billing method type. One of: Prepay, Invoice, PO, CC |
status | enum | Current status. One of: draft, active, archived, expired (allowed values depend on the type — see Key Concepts below) |
createdAt | string (ISO 8601) | When the billing method was created |
expirationDate | string (ISO 8601) | When the billing method expires. null when no expiry is configured. |
spendingLimit | object | Spending limit details, with a remaining balance field. null when the billing method has no cap (e.g. Invoice). |
Key Concepts & Business Rules
Billing Method types
Snappy supports four billing method types through the public API:
| Type | Description |
|---|
Prepay | Pre-funded balance — the Account loads funds upfront and they’re drawn down as gifts are sent. |
Invoice | Net-terms billing — gifts are sent and Snappy invoices the Account periodically. No spending cap. |
PO | Purchase order — a fixed-budget allocation typically tied to a department, initiative, or time period. |
CC | Credit card on file — direct charges per gift. |
Express billing methods exist for some accounts but are intentionally excluded from the public API. They will not appear in GET /v3/billing-methods responses, and GET /v3/billing-methods/{billingMethodId} returns 422 when called against an Express method.
Status values vary by type
Allowed status values depend on the billing method type:
| Type | Allowed statuses |
|---|
Invoice | active, archived |
CC | active, archived, expired |
PO | draft, active, archived, expired |
Prepay | draft, active, archived |
Only active billing methods can be used to send gifts. draft methods are configured but not yet ready; archived methods have been retired; expired methods have passed their expiration date.
Remaining balance
The spendingLimit.remaining field reports the current balance available on the billing method. For Invoice billing methods, spendingLimit is null because there’s no spending cap.
Always check remaining balance before sending high-value gifts — Snappy rejects gift creation when the selected billing method has insufficient funds.
Default Billing Method
Each Account has one Billing Method set as the default. This default is applied automatically to any Campaign created via the API. For Embedded Marketplace (POST /orders), the billing method is referenced via the fundingSourceId field, and a matching Campaign is auto-selected or created based on that funding source.
Account scoping
Billing Methods are scoped to an Account. Pass the Snappy-Account-Id header to scope your query to a specific Account when your API key has access to multiple Accounts. The optional Snappy-Company-Id header further scopes to a specific Company.
How to Work with Billing Methods
List billing methods
Returns the billing methods on the Account that are usable through the public API. Filter by type, status, or remainingBalance range.
Get a single billing method
GET /v3/billing-methods/{billingMethodId}
Returns a single billing method by its ID. Returns 422 for billing methods that exist but aren’t supported through the public API (e.g. Express).
Billing Methods are currently read-only through the public API. To create, update, or archive Billing Methods, use the Snappy Dashboard.