Charges
Charges represent attempts to debit money from a customer's bank account using a Paykey. Each charge includes automatic balance verification, real-time fraud screening, and multi-rail optimization and detailed status tracking throughout the payment lifecycle. Use charges to accept bank payments with confidence knowing every transaction is protected.
Lookup a charge
Update a charge
Create a charge
Hold a charge
Release a charge
Cancel a charge
Get a charge by id.
ModelsExpand Collapse
ChargeV1 = object { data, meta, response_type }
data: object { id, amount, config, 21 more }
config: object { balance_check, auto_hold, auto_hold_message, sandbox_outcome }
Configuration options for the charge.
external_id: string
Unique identifier for the charge in your database. This value must be unique across all charges.
payment_date: string
The desired date on which the payment should be occur. For charges, this means the date you want the customer to be debited on.
Additional details about the current status of the charge.
status_history: array of object { changed_at, message, reason, 3 more }
Status history.
reason: "insufficient_funds" or "closed_bank_account" or "invalid_bank_account" or 24 more
A machine-readable identifier for the specific status, useful for programmatic handling.
effective_at: optional string
Timestamp of when the charge was effective in the customer's bank account, otherwise known as the date on which the customer is debited.
metadata: optional map[string]
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the charge in a structured format.
response_type: "object" or "array" or "error" or "none"
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
ChargeUnmaskResponse = object { data, meta, response_type }
data: object { id, amount, config, 21 more }
config: object { balance_check, auto_hold, auto_hold_message, sandbox_outcome }
status_history: array of object { changed_at, message, reason, 3 more }
Status history.
reason: "insufficient_funds" or "closed_bank_account" or "invalid_bank_account" or 24 more
A machine-readable identifier for the specific status, useful for programmatic handling.
response_type: "object" or "array" or "error" or "none"
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.