POST
/
v1
/
charges
cURL
curl --request POST \
  --header 'Authorization: Bearer YOUR_SECRET_API_KEY' \
  --url https://sandbox.straddle.io/v1/charges \
  --header 'Content-Type: application/json' \
  --data '{
  "paykey": "<string>",
  "description": "Monthly subscription fee",
  "amount": "10000",
  "currency": "<string>",
  "payment_date": "2019-12-27",
  "consent_type": "internet",
  "device": {
    "ip_address": "192.168.1.1"
  },
  "external_id": "<string>",
  "config": {
    "balance_check": "required"
  }
}'
{
  "meta": {
    "api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "api_request_timestamp": "2023-11-07T05:31:56Z"
  },
  "response_type": "object",
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "paykey": "<string>",
    "description": "Monthly subscription fee",
    "payment_rail": "ach",
    "paykey_details": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "label": "Bank of America ****1234",
      "balance": 123
    },
    "customer_details": {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "name": "Ron Swanson",
      "customer_type": "individual",
      "email": "ron@swanson.com",
      "phone": "+1234567890"
    },
    "amount": 10000,
    "currency": "USD",
    "payment_date": "2023-12-25",
    "consent_type": "internet",
    "device": {
      "ip_address": "192.168.1.1"
    },
    "external_id": "<string>",
    "config": {
      "balance_check": "enabled",
      "sandbox_outcome": "standard"
    },
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "processed_at": "2023-11-07T05:31:56Z",
    "effective_at": "2023-11-07T05:31:56Z",
    "status": "created",
    "status_details": {
      "message": "Payment successfully created and awaiting validation.",
      "reason": "insufficient_funds",
      "source": "system",
      "changed_at": "2023-11-07T05:31:56Z",
      "code": null
    },
    "status_history": [
      {
        "reason": "insufficient_funds",
        "source": "watchtower",
        "message": "Payment successfully created and awaiting validation.",
        "code": null,
        "changed_at": "2023-11-07T05:31:56Z",
        "status": "created"
      }
    ],
    "metadata": {},
    "funding_ids": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ]
  }
}
In ACH terminology, Straddle charges are ACH debit transactions that pull money from customer bank accounts. Learn more about ACH debits and authorization requirements to ensure compliant payment collection.

Authorizations

Authorization
string
header
required

Use your Straddle API Key in the Authorization header as Bearer <token> to authorize API requests.

Headers

Straddle-Account-Id
string<uuid>

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

Request-Id
string

Optional client generated identifier to trace and debug a request.

Correlation-Id
string

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

Idempotency-Key
string

Optional client generated value to use for idempotent requests.

Required string length: 10 - 40

Body

Response

201
text/plain

Created

The response is of type object.