Skip to main content
POST
Documentation for invoices: Overview, Fees, Create invoice, Cancel invoice, Callbacks.For new integrations, consider migrating to payment requests instead.
CryptoProcessing is required to collect sender data in compliance with local regulations. For more details, see User data collection. The sender_data and the end_user_reference you provide must be associated with the same customer.
400 Bad Request422 Unprocessable Entity

Authorizations

X-Processing-Key
string
header
required

Your API key.

Headers

X-Processing-Signature
string
required

Hex-encoded HMAC-SHA512 signature of the request body, generated using your secret key.

Body

application/json
end_user_reference
string
required

Permanent ID of the customer in your system. Used to group, track, and analyze transactions made by a specific customer. Must not contain personal data, such as the user's name or email address.

timer
boolean
required

If this parameter is set to true, the invoice will expire in 15 minutes after it is created.

title
string
required

Invoice title that the customer will see.

Required string length: 1 - 50
foreign_id
string
required

Unique ID of the invoice in your system, case-insensitive. Avoid / and #: the cancel endpoint takes the foreign_id in its path and can't find an invoice whose foreign_id contains them.

Maximum string length: 255
currency
string
required

Currency you want to receive deposits in. For a list of all available currencies, see API currency codes.

amount
required

The invoice amount you want to receive from the customer, in currency, as a number or a decimal string, with at most 8 decimal places. It must be within the minimum and maximum invoice amounts.

url_success
string<uri>
required

The URL the customer will be redirected to in case of a successful invoice payment.

url_failed
string<uri>
required

The URL the customer will be redirected to in case of an unsuccessful invoice payment.

email_user
string<email>
required

The customer's email address. It's filled in for the customer on the invoice page. The customer gets an email when the invoice is paid, and when a payment doesn't match the invoice (more or less than the invoice amount, a payment after the invoice has expired or failed, or a payment to an invoice you cancelled): either a link to claim a refund, or a notice that the amount is too small to be refunded.

sender_type
enum<string>
required

Type of the merchant's customer who sends the funds.

Use natural if the sender is an individual person and legal if the sender is a legal entity. The selected type determines which fields must be included in sender_data.

Available options:
natural,
legal
sender_data
Natural person · object
required

Must contain the details of the merchant's customer who sends the funds. Which fields are required depends on sender_type.

type
enum<string>

For partial pay invoices, set this parameter to good_until_expired. For standard invoices, use fill_or_kill or leave this empty. See Partial pay invoices.

Available options:
fill_or_kill,
good_until_expired
description
string

Invoice description that the customer will see.

Maximum string length: 1000
sender_currency
string

Currency the customer will pay in. Requires timer: true (otherwise the request fails with The timer has to be set up in case sender currency is defined). The invoice is then created with a fixed payment currency, rate and address, and the response includes address, sender_amount and fixed_at. Must be a cryptocurrency different from currency.

Response

Created

data
object
Last modified on October 29, 2026