Customer Balance Transaction
Each customer has a Balance value, which denotes a debit or credit that’s automatically applied to their next invoice upon finalization. You may modify the value directly by using the update customer API, or by creating a Customer Balance Transaction, which increments or decrements the customer’s balance
by the specified amount
.
Related guide: Customer balance
The Customer Balance Transaction object
Attributes
- idstring
Unique identifier for the object.
- amountinteger
The amount of the transaction. A negative value is a credit for the customer’s balance, and a positive value is a debit to the customer’s
balance
. - currencyenum
Three-letter ISO currency code, in lowercase. Must be a supported currency.
- customerstringExpandable
The ID of the customer the transaction belongs to.
- descriptionnullable string
An arbitrary string attached to the object. Often useful for displaying to users.
- ending_
balanceinteger The customer’s
balance
after the transaction was applied. A negative value decreases the amount due on the customer’s next invoice. A positive value increases the amount due on the customer’s next invoice. - metadatanullable dictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- typeenum
Transaction type:
adjustment
,applied_to_invoice
,credit_note
,initial
,invoice_overpaid
,invoice_too_large
,invoice_too_small
,unspent_receiver_credit
, orunapplied_from_invoice
. See the Customer Balance page to learn more about transaction types.
More attributes
- objectstring
- createdtimestamp
- credit_
notenullable stringExpandable - invoicenullable stringExpandable
- livemodeboolean
Create a customer balance transaction
Creates an immutable transaction that updates the customer’s credit balance.
Parameters
- amountintegerRequired
The integer amount in cents to apply to the customer’s credit balance.
- currencyenumRequired
Three-letter ISO currency code, in lowercase. Must be a supported currency. Specifies the
invoice_credit_balance
that this transaction will apply to. If the customer’scurrency
is not set, it will be updated to this value. - descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- metadatadictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
.
Returns
Returns a customer balance transaction object if the call succeeded.
Update a customer credit balance transaction
Most credit balance transaction fields are immutable, but you may update its description
and metadata
.
Parameters
- descriptionstring
An arbitrary string attached to the object. Often useful for displaying to users.
- metadatadictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
.
Returns
Returns a customer balance transaction object if the call succeeded.
Retrieve a customer balance transaction
Retrieves a specific customer balance transaction that updated the customer’s balances.
Parameters
No parameters.
Returns
Returns a customer balance transaction object if a valid identifier was provided.