Charges
Lookup a charge
Update a charge
Hold a charge
Release a charge
Cancel a charge
Get a charge by id.
ModelsExpand Collapse
class ChargeV1 { data, meta, response_type }
data: { id, amount, config, 19 more}
id: String
Unique identifier for the charge.
amount: Integer
The amount of the charge in cents.
config: { balance_check, sandbox_outcome}
Configuration options for the charge.
balance_check: :required | :enabled | :disabled
Defines whether to check the customer's balance before processing the charge.
sandbox_outcome: :standard | :paid | :on_hold_daily_limit | 8 more
Payment will simulate processing if not Standard.
consent_type: :internet | :signed
The channel or mechanism through which the payment was authorized. Use internet for payments made online or through a mobile app and signed for signed agreements where there is a consent form or contract. Use signed for PDF signatures.
created_at: Time
Timestamp of when the charge was created.
currency: String
The currency of the charge. Only USD is supported.
description: String
An arbitrary description for the charge.
Information about the device used when the customer authorized the payment.
ip_address: String
The IP address of the device used when the customer authorized the charge or payout. Use 0.0.0.0 to represent an offline consent interaction.
external_id: String
Unique identifier for the charge in your database. This value must be unique across all charges.
funding_ids: Array[String]
Funding Ids
paykey: String
Value of the paykey used for the charge.
payment_date: Date
The desired date on which the payment should be occur. For charges, this means the date you want the customer to be debited on.
status: :created | :scheduled | :failed | 5 more
The current status of the charge.
Additional details about the current status of the charge.
changed_at: Time
The time the status change occurred.
message: String
A human-readable description of the current status.
reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
A machine-readable identifier for the specific status, useful for programmatic handling.
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Identifies the origin of the status change (e.g., bank_decline, watchtower). This helps in tracking the cause of status updates.
code: String
The status code if applicable.
status_history: Array[{ changed_at, message, reason, 3 more}]
Status history.
changed_at: Time
The time the status change occurred.
message: String
A human-readable description of the status.
reason: :insufficient_funds | :closed_bank_account | :invalid_bank_account | 17 more
A machine-readable identifier for the specific status, useful for programmatic handling.
source: :watchtower | :bank_decline | :customer_dispute | 2 more
Identifies the origin of the status change (e.g., bank_decline, watchtower). This helps in tracking the cause of status updates.
status: :created | :scheduled | :failed | 5 more
The current status of the charge or payout.
code: String
The status code if applicable.
updated_at: Time
Timestamp of when the charge was last updated.
Information about the customer associated with the charge.
id: String
Unique identifier for the customer
customer_type: :individual | :business
The type of customer
email: String
The customer's email address
name: String
The name of the customer
phone: String
The customer's phone number in E.164 format
effective_at: Time
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: Hash[Symbol, String]
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the charge in a structured format.
Information about the paykey used for the charge.
id: String
Unique identifier for the paykey.
customer_id: String
Unique identifier for the customer associated with the paykey.
label: String
Human-readable label that combines the bank name and masked account number to help easility represent this paykey in a UI
balance: Integer
The most recent balance of the bank account associated with the paykey in dollars.
payment_rail: :ach
The payment rail that the charge will be processed through.
processed_at: Time
Timestamp of when the charge was processed by Straddle and originated to the payment rail.
Metadata about the API request, including an identifier and timestamp.
api_request_id: String
Unique identifier for this API request, useful for troubleshooting.
api_request_timestamp: Time
Timestamp for this API request, useful for troubleshooting.
response_type: :object | :array | :error | :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.