Get API access
API reference Payments
POST

Create Payment

Creates a new payin and returns bank transfer details or a QR code. Every request must be signed with HMAC-SHA256: compute the signature over the compact JSON body (no spaces) using your secret key, then send it in the lowercase `signature` header. The payment expires after 60 minutes.

https://axiron.io/v2/payments
Authenticate every request

Include your Bearer token and HMAC-SHA256 signature. Authentication guide →

Body parameters#

merchantIdstringrequired

Your merchant ID

Example MERCHANT_ID
orderIdstring (uuid)required

Unique order ID in your system

Example uuid
amountnumberrequired

Payment amount (minimum 0.01)

Example 7169.13
currency"ARS" | "BRL" | "CLP"required

Payment currency

Example ARS
method"cbu" | "qr"required

Payment method: bank transfer (CBU) or QR code

Example qr
callbackUristringoptional

Webhook URL to receive payment status updates

Example https://example.com/callback
cuitstringoptional

Recommended. Stable identifier of the end customer in your system — typically the user ID or user email. Used for anti-fraud scoring, deduplication, and lifetime-value analytics. Pass the same value across all payments made by the same user.

Example user_42 / user@example.com
payer_namestringoptional

Recommended. Full legal name of the customer making the payment. Significantly improves conversion: the name is shown on the checkout screen and pre-matched against the sender during bank reconciliation, which reduces manual review and false-negative rejections.

Example Juan Perez

Response fields#

state

Payment lifecycle status. One of: pending, expired, canceled, dispute, completed — where completed is the only success-terminal state. See the Lifecycle States section in Get Payment Status for full semantics.

payment_id

Unique UUID assigned by the system. Use this ID for all subsequent status checks.

address

CBU or account number the customer must transfer funds to.

recipient

Full name of the receiving account holder. Display this to the customer alongside the address.

expired_at

ISO 8601 UTC timestamp after which the payment link is no longer valid (typically 60 minutes from creation).

commission

Your merchant commission percentage applied to this payment (e.g. "3.00" = 3%).

usdt_amount

Approximate USDT equivalent of the payment amount at the current rate. For informational use only.

rediUrl

Hosted checkout URL. Redirect the customer to this URL to display a ready-made payment screen (transfer details, QR, amount, recipient, and live status). Use it when you do not want to render the checkout yourself.

Errors & recovery#

400

Merchant ID is required

400

Order ID is required (orderId or order_id)

400

Amount must be a positive number

400

Currency must be 3–10 characters

400

Payment method must be cbu, qr, or iban

400

Callback URI must be a valid URL

400

Currency {X} is not supported

400

Payin is not active for this merchant in this country

400

Merchant capacity 10kk is empty — daily processing limit reached

400

No users have sufficient available balance for this payment

400

No active cards with QR data found for this amount

401

Unauthorized — missing or invalid Bearer token

401

Invalid signature — HMAC-SHA256 verification failed

401

Merchant not found

401

Merchant is not active

500

Failed to create payment — internal server error

Interpreting the result#

200

Payment was definitely created. Display the transfer details to your customer.

400 / 401

Payment was definitely NOT created. Inspect the error and retry with a corrected request.

500

Payment may or may not have been created. Check status via POST /v2/payments/status before retrying to avoid duplicates.

Need help with your integration?Contact the team