Skip to main content
POST
Initiate Payment By Fiat Currency
Auth method: Basic (Access ID) — this endpoint only requires your x-access-id header. No request signing is needed. See Authentication.
Works exactly like Initiate Payment, except that amount is denominated in the fiat currency you name in the path instead of the outlet’s default fiat currency. Tender converts it to the cryptocurrency at the current rate. If the path currency is the outlet’s default fiat currency and the outlet uses a manual rate, the manual rate applies. Payment endpoints share a limit of 120 requests per minute. See Rate limits.

Path Parameters

string
required
Fiat currency code that amount is priced in, such as ngn or usd. Use a fiat currency listed by Fetch All Currencies with type=fiat. This is a fiat code, not the cryptocurrency the customer pays with.Example: "ngn"

Headers

string
required
Your API access ID provided by TenderExample: "your-access-id-here"
string
required
Media type of the request bodyExample: "application/json"

Body

string
required
The price to charge, in the fiat currency named in the path. Send it as a decimal string. Tender converts it to the cryptocurrency amount and adds fees on top.Example: "15000"
string
required
Chain identifier, as returned by Fetch Allowed ChainsExample: "tron"
string
required
Cryptocurrency identifier, as returned by Fetch Chain Currencies. The currency must be supported on chain and allowed for your outlet.Example: "usdt"
string
Your own reference for this payment, such as an order ID. referenceId is accepted as an alias. A reference can be used by only one payment at a time: reusing the reference of a payment that isn’t cancelled returns 409.Example: "ORDER-9821"
object
Optional metadata attached to the payment. Only the keys below are stored; any other keys are ignored.

Response

string
required
Status of the API requestExample: "success"
string
required
Human-readable message describing the resultExample: "success"
object
required
The new payment request. Additional fields may be present; ignore fields you don’t recognise.
The initiate response has no status field. A new payment always starts as pending; call Validate Payment to read its current status.

Errors

An unsupported fiat code in the path fails the request; use a code listed by Fetch All Currencies. Error responses use the standard envelope with data: null. See Errors.

Example request

Example response

Authorizations

x-access-id
string
header
required

Basic (Access ID) authentication. Only the x-access-id header is required; no request signing.

Headers

x-access-id
string
required

Your API access ID provided by Tender

Content-Type
string
required

Media type of the request body

Path Parameters

currency
string
required

Fiat currency code that amount is priced in (e.g. ngn, usd). Not the cryptocurrency.

Body

application/json

Same fields as InitiatePaymentRequest; amount is in the fiat currency named in the path.

amount
string
required

Price in the outlet's default fiat currency (USD if none is set), as a decimal string

Example:

"10.00"

chain
string
required

Chain identifier

Example:

"tron"

currency
string
required

Cryptocurrency identifier; must be supported on chain and allowed for the outlet

Example:

"usdt"

reference
string

Your own reference, such as an order ID. Must not be in use by another payment that isn't cancelled.

Maximum string length: 500
Example:

"ORDER-9821"

referenceId
string

Alias of reference

Maximum string length: 500
meta
object

Optional metadata. Other keys are ignored.

Response

Payment initiated

status
string
Example:

"success"

message
string
Example:

"success"

data
object

Additional fields may be present; ignore fields you don't recognise.