Skip to main content
POST
cURL
Use this endpoint when a transaction is waiting for the payer to act and you collect the responses yourself. Submitting them resumes the transaction.

Flow

1

Read the pending actions

Call Transaction status. While the payer must act, the response includes pending_payer_actions, retry.plan_id, and payer_action_url.
2

Submit the responses

POST to this endpoint with retry.plan_id as plan_id. Send one entry in responses for each pending action, no more and no fewer.
3

Poll status

A 202 means SmartRetry accepted the responses. Call Transaction status again for the outcome.

Actions you can complete

responses takes a single UPDATE_EXPIRY_DATE entry, or one or two entries from APPROVE_CURRENCY_CHANGE and UPDATE_BILLING_ADDRESS. Unknown fields are rejected.

Actions the payer completes on the hosted page

ENTER_SECURITY_CODE and CONTACT_BANK can’t be completed through this endpoint, because the payer must provide the security code and confirm the bank contact themselves. Send the payer to payer_action_url from the status response.

Example

202 Accepted

Errors

Each plan can be completed once. Without an Idempotency-Key, repeating a successful call returns 404. With the same key and body, SmartRetry replays the original 202. See Idempotency.

Authorizations

x-signature
string
header
required

Lowercase hex HMAC-SHA256 of {x-timestamp}.{METHOD}.{path_with_query}.{raw_body} keyed with your API secret. See https://www.smartretry.com/docs/authentication.

x-timestamp
string
header
required

Current Unix time in seconds; must be within 5 minutes of server time and match the value used in the signature.

Headers

idempotency-key
string

Optional idempotency key, scoped to terminal + matched route pattern. A replayed request returns the cached response with Idempotency-Replayed: true. Send it exactly once (a repeated header is rejected); 1-255 characters, letters, digits, _ and - only.

Required string length: 1 - 255
Pattern: ^[\w-]+$

Path Parameters

transaction_id
string
required
Required string length: 8
Pattern: ^[\dA-Za-z]{8}$
order_id
string
required
Required string length: 8
Pattern: ^[\dA-Za-z]{8}$
terminal_friendly_id
string
required
Required string length: 6
Pattern: ^[\dA-Za-z]{6}$
plan_id
string
required
Minimum string length: 1

Body

application/json
responses
required
Required array length: 1 element

Response

Default Response

accepted
enum<boolean>
required
Available options:
true