Skip to content
Get started

Payments

Payments provide endpoints to filter both Charges and Payouts with multiple different parameters.

Search payments
$ straddle payments list
GET/v1/payments
ModelsExpand Collapse
paymentSummaryPagedV1: object { data, meta, response_type }
data: array of object { id, amount, created_at, 17 more }
id: string

Unique identifier for the charge or payout.

amount: number

The amount of the charge or payout in cents.

created_at: string

The time the charge or payout was created.

currency: string

The currency of the charge or payout. Only USD is supported.

description: string

An arbitrary description for the charge or payout.

external_id: string

Unique identifier for the charge or payout in your database. This value must be unique across all charges or payouts.

funding_ids: array of string

Funding ids.

paykey: string

Value of the paykey used for the charge or payout.

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. For payouts, this means the date you want the funds to be sent from your bank account.

payment_type: "charge" or "payout"

The type of payment. Valid values are charge or payout.

"charge"
"payout"
status: "created" or "scheduled" or "failed" or 6 more

The current status of the charge or payout.

"created"
"scheduled"
"failed"
"cancelled"
"on_hold"
"pending"
"paid"
"reversed"
"validating"
status_details: object { changed_at, message, reason, 2 more }

Details about the current status of the charge or payout.

changed_at: string

The time the status change occurred.

message: string

A human-readable description of the current status.

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.

"insufficient_funds"
"closed_bank_account"
"invalid_bank_account"
"invalid_routing"
"disputed"
"payment_stopped"
"owner_deceased"
"frozen_bank_account"
"risk_review"
"fraudulent"
"duplicate_entry"
"invalid_paykey"
"payment_blocked"
"amount_too_large"
"too_many_attempts"
"internal_system_error"
"user_request"
"ok"
"other_network_return"
"payout_refused"
"cancel_request"
"failed_verification"
"require_review"
"blocked_by_system"
"watchtower_review"
"validating"
"auto_hold"
source: "watchtower" or "bank_decline" or "customer_dispute" or 2 more

Identifies the origin of the status change (e.g., bank_decline, watchtower). This helps in tracking the cause of status updates.

"watchtower"
"bank_decline"
"customer_dispute"
"user_action"
"system"
code: optional string

The status code if applicable.

trace_ids: map[string]

Trace ids.

updated_at: string

The time the charge or payout was last updated.

customer_details: optional object { id, customer_type, email, 2 more }

Information about the customer associated with the charge or payout.

id: string

Unique identifier for the customer

customer_type: "individual" or "business"

The type of customer

"individual"
"business"
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: optional string

The actual date on which the payment occurred. For charges, this is the date the customer was debited. For payouts, this is the date the funds were sent from your bank account.

funding_id: optional string

Unique identifier for the funding event associated with the charge or payout.

metadata: optional map[string]

Metadata for payment - only included if requested.

paykey_details: optional object { id, customer_id, label, balance }

Information about the paykey used for the charge or payout.

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: optional number

The most recent balance of the bank account associated with the paykey in dollars.

Related payments.

meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
api_request_id: string

Unique identifier for this API request, useful for troubleshooting.

api_request_timestamp: string

Timestamp for this API request, useful for troubleshooting.

max_page_size: number

Maximum allowed page size for this endpoint.

page_number: number

Page number for paginated results.

page_size: number

Number of items per page in this response.

sort_by: string

The field that the results were sorted by.

sort_order: "asc" or "desc"
"asc"
"desc"
total_items: number
total_pages: number

The number of pages available.

response_type: "object" or "array" or "error" or "none"

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
"object"
"array"
"error"
"none"