Overview
A one-off charge is a single payment tied to a specific event or action in the subscription lifecycle — rather than a recurring scheduled renewal. Once processed, the transaction is complete with no future billing obligations attached to it. One-off charges serve a wide range of commercial scenarios. Anything where a consumer makes a payment not tied to a recurring schedule fits this model:- Balance top-up — A consumer adds funds to their prepaid balance. The payment is processed and the credit is applied to their account straight away.
- Ad-hoc purchase — A customer buys a product or add-on with a single payment. The payment is processed, the purchase is confirmed, and the customer gets access right away.
- Adjustment — Sometimes you need to charge a customer for something outside their usual subscription. A one-time charge lets you do that quickly and simply, without affecting their existing service.
- Partner-initiated charge — Partners can create one-time charges for their customers through the platform, processed and tracked just like any other transaction.
- Pro-rated upgrade — When a consumer upgrades their product entitlement mid-cycle, the DVM automatically issues a pro-rated charge for the price difference covering the remaining days in the billing period.
POST /charges endpoint used for renewal charges. The key difference is the billType value, which identifies the nature of the charge.
When one-off charges are issued
Pro-rated Upgrade Charge
When a consumer upgrades to a higher product tier mid-cycle, a pro-rated charge is issued immediately to collect the price difference for the remaining days in the current billing period.
billType: PRO_RATED_CHARGESingle Purchase
A one-time payment for a specific product, service, or add-on outside of a subscription — such as a balance top-up, ad-hoc purchase, or partner-initiated charge.
billType: SINGLE_CHARGEThe pro-rated upgrade charge is the only one-off charge currently issued automatically by the DVM. Single purchase charges are available for partner-initiated use cases.
Charge request examples
Pro-rated Upgrade Charge
Pro-rated Upgrade Charge
When a consumer upgrades their product entitlement to a higher tier mid-cycle, the DVM immediately issues a pro-rated charge for the price difference for the remaining days in the billing period.In this example the consumer has upgraded to
NETFLIX_PREMIUM on 15 February, part way through their February billing cycle. The pro-rated charge amount is the price delta for the remaining days.This amount is itemised under lineItems:OFFER_TIER_CHANGE_PRORATION =the pro-rated price difference for the upgrade, covering the remaining days in the current billing period
Single Purchase
Single Purchase
A single purchase charge is a one-time payment for a product or service outside of a subscription plan — such as a balance top-up, ad-hoc purchase, adjustment, or partner-initiated charge.Unlike consumer offer charges, a single purchase does not include
consumerOffer or billingDetails fields. The resourceType is SINGLE_PURCHASE and the lineItems use lineItemType: SINGLE_CHARGE with a human-readable description.Key fields explained
string
required
Identifies the type of one-off charge.
PRO_RATED_CHARGE is issued automatically by the DVM when a consumer upgrades mid-cycle. SINGLE_CHARGE is used for standalone one-time purchases.string
required
Tells you what is being charged.
CONSUMER_OFFER for pro-rated upgrade charges (tied to a subscription offer). SINGLE_PURCHASE for standalone one-time purchases not linked to an offer.integer
required
The total charge amount in minor currency units (e.g.
350 = 14.99 USD).array
required
The itemised breakdown of the charge. For pro-rated upgrade charges,
lineItemType is OFFER_TIER_CHANGE_PRORATION and includes the entitlementId of the upgraded product. For single purchases, lineItemType is SINGLE_CHARGE and includes a human-readable description of the item.object
Present on pro-rated upgrade charges only. Contains the
billingPeriod the proration was calculated against — useful for reconciliation. Not included on single purchase charges.boolean / integer
required
isRetry: true indicates this is a retry of a previously failed charge. chargeAttempt gives the attempt number (0 = first attempt, 1 = first retry, etc.). Use billId to deduplicate against prior attempts.How to respond
Your billing system must respond to every charge request with a200 status and a JSON body indicating whether the charge was processed or declined.

