Skip to main content
You should send a request with a particular set of fields to create an invoice. The response will contain an URL that you have to forward to the customer for payment. Your customer will see the invoice name, amount and currency, and also specific parameters (depending on invoice type): timer, possibility to choose payment currency or estimated amount and currency of payment. If you send customer’s email in request, this field will be filled out for the user. Otherwise, the user has to fill out this field themselves. After confirming currency and putting email, the user has to pay an invoice using a specified address before the expiry of the timer. This address is generated by AlphaPo. The invoice type will be externalized depending on the sent parameters. There are 3 types of invoice:
  1. Invoice without restriction of payment time. The customer chooses a currency of payment themselves without time restriction. Rate will be fixed when the user confirms payment currency.
  2. Invoice with time restriction. The customer chooses a currency of payment themselves, but the time restriction will be 15 minutes starting from invoice creation.
  3. Invoice with time restriction and without a possibility to choose payment currency. The customer sees the amount and payment currency that they need to pay.
If the customer fails to pay the invoice in due time the system will display failed status. Once the transaction is created and appears in the mempool, you will receive a callback. For BTC and BCH, the timer will be extended from 15 minutes to 24 hours to account for possible confirmation delays. After the successful confirmation of the transaction, funds will be exchanged in a receiver currency and transferred to your account. The Merchant is charged a Fee for Operation after the Funds are credited to the account. If the invoice payment can paid by instalments, you will receive a callback for each part. If the customer sends an amount of funds that is more or less than specified one we will send a payback guideline to their email. The API endpoint for creating invoices is invoices/create. Every request to the endpoint needs to include an additional identifier, foreign_id. The foreign_id value must be a unique identifier of the invoice, i.e., each call of this API method must use a different foreign_id. It will be included in the response and in all the callbacks for the invoice.

Invoice statuses

Screenshot2026 01 12at17 48 03

Invoice types

Invoice without a timer

Your customers can choose which cryptocurrency they want to pay in. The currency they choose will be automatically converted to your preferred currency. Once the customer confirms their choice of currency, the exchange will be fixed. Once the customer follows the link you send them, they will see the invoice details and will be asked to choose their payment currency. Invoice Pic 1 When the customer confirms their choice of currency, fills out the form and clicks Pay, the rate will be fixed for 15 minutes. During this period of time the user has to pay the invoice using the specified address. Invoice Pic 2

Invoice with a timer

This invoice type allows the customer to choose the payment currency themselves, but the time restriction will be 15 minutes starting from the invoice creation. By following the link the customer will see the information about the invoice, timer and will also be able to choose the payment currency. The rate will be fixed after the invoice creation. Invoice Pic 3 The customer has to pay the invoice using the specified address before the expiry of the timer. Invoice Pic 4

Invoice with a timer and a pre-selected currency

This invoice type allows the user to pay the invoice themselves in a definite currency with a time restriction for 15 minutes starting from invoice creation. By following the link the user will see the information about the invoice, 15 minutes timer and the payment currency. The user has to pay the invoice using the specified address before the expiry of the timer. Here you can see an example of a callback for each type of invoice.

Invoice failed

Invoice fails upon the occurrence of any of the following:
  1. 15 minutes timer expiration.
  2. Transaction has processing status for more than 24 hours.
  3. The customer paid an amount less than was requested. In this case the transaction will have a confirmed status but invoice will have a failed status.
  4. If the customer’s transaction was flagged by compliance, the 15-minute timer will likely run out by the time all checks are completed. The invoice will be failed automatically, and your customer will receive an email with a link to claim a full refund. This only applies to invoices that are still at the processing or pending stage.

Cancel an invoice

To cancel invoices, use the /api/v2/invoices/foreign_id/cancel/ endpoint. You can only cancel invoices while they are still at the created, pending or processing stage. Invoices that have the confirmed or failed statuses cannot be cancelled. When you cancel an invoice:
  1. The invoice status will be changed to failed.
  2. You’ll get a callback with the ‘Cancelled by customer’ error message.
  3. Your customer will receive an email with a link to claim a full refund.