Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.smartretry.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/payments/recurring/future-transactions/charge/{terminal_friendly_id} Processes a future transaction right away, before its scheduled date. Use this endpoint when you need to execute an upcoming payment early - for example, when a customer upgrades their plan mid-cycle and you want to collect the prorated amount immediately.
This endpoint executes the payment before its scheduled date. Once processed, the transaction moves to completed status and will not be charged again on its original scheduled date.
Safe retries for this POST endpoint use the Idempotency-Key header. Reuse the same key only when retrying the exact same request body. See Idempotency.
curl --request POST \
  --url https://api.smartretry.com/v1/payments/recurring/future-transactions/charge/ABC123 \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_API_KEY' \
  --header 'Idempotency-Key: future-charge-20260401-001' \
  --data '{
    "future_transaction_id": "FT3D8E1C",
    "recurring_id": "RC9F4A2B"
  }'

Path parameters

terminal_friendly_id
string
required
Your 6-character terminal identifier.

Request body

future_transaction_id
string
required
The 8-character identifier of the future transaction to charge immediately.
recurring_id
string
required
The 8-character identifier of the recurring series this future transaction belongs to.
amount
number
Override the scheduled amount for this charge only, in major currency units (e.g., 19.99 for $19.99). Minimum 1, maximum 999999999. If omitted, the amount defined on the future transaction is used.

Response

transaction_id
string
Unique identifier of the resulting transaction (8 characters).
future_transaction_id
string
The identifier of the future transaction that was charged (8 characters).
accepted
boolean
true if the charge was authorized. false if the transaction was declined. Always check this field - a 200 status does not guarantee the payment succeeded.
Example response
{
  "transaction_id": "TX8A3F2C",
  "future_transaction_id": "FT3D8E1C",
  "accepted": true
}
Before charging early, use the future transaction status endpoint to confirm the transaction is still in pending status. Attempting to charge a transaction that is already completed, processing, or cancelled returns an error.