v33

latestOpenAPI 3.1.0raw.githubusercontent.com2026-04-1770249709.0 KB
Charge

Create a charge

Use charges to collect money from a customer for the sale of goods or services.

post/v1/charges

Headers

Straddle-Account-Idstring uuid

For use by platforms to specify an account id and set scope of a request.

Request-Idstring

Optional client generated identifier to trace and debug a request.

Correlation-Idstring

Optional client generated identifier to trace and debug a series of requests.

Idempotency-Keystring

Optional client generated value to use for idempotent requests.

Request body

paykeystring required

Value of the paykey used for the charge.

descriptionstring nullable required

An arbitrary description for the charge.

amountinteger required

The amount of the charge in cents.

currencystring required

The currency of the charge. Only USD is supported.

payment_datestring date required

The desired date on which the payment should be occur. For charges, this means the date you want the customer to be debited on.

consent_type'internet' | 'signed' required

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.

external_idstring required

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

metadataobject nullable

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the charge in a structured format.

Example request

{
  "description": "Monthly subscription fee",
  "amount": 10000,
  "device": {
    "ip_address": "192.168.1.1"
  }
}

Response

Created

response_type'object' | 'array' | 'error' | 'none' required

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.

Example response

{
  "data": {
    "description": "Monthly subscription fee",
    "paykey_details": {
      "label": "Bank of America ****1234"
    },
    "customer_details": {
      "name": "Ron Swanson",
      "email": "ron@swanson.com",
      "phone": "+1234567890"
    },
    "amount": 10000,
    "device": {
      "ip_address": "192.168.1.1"
    },
    "status_details": {
      "message": "Payment successfully created and awaiting validation."
    },
    "status_history": [
      {
        "message": "Payment successfully created and awaiting validation."
      }
    ]
  }
}