Skip to main content
POST
MCP scope: dac.write Finrock’s invoicing feature lets you generate on-chain payment requests that your customers can settle in cryptocurrency. When you create an invoice you specify either a fiat price or a crypto asset and amount, a descriptive memo, optional payer details, and URLs for payment notifications and payer redirects. Finrock returns the invoice with a deposit address, a hosted payment page URL, an expiry time, and the payment status.

Body Parameters

Method: POST URL: https://api.finrock.io/dac/v1/invoice
Every invoice needs crypto.asset_id, the asset the payer pays in. Set the price in one of two ways: with fiat, which Finrock converts into the crypto amount, or with crypto.amount. A request with fiat but no crypto.asset_id returns HTTP 400 with {"code": 1002, "error": "ASSET_REQUIRED"}.
object
Fiat price of the invoice. Finrock uses it only to calculate the crypto amount due. Use it instead of crypto.amount when you price in fiat. You still need crypto.asset_id.
object
Crypto asset and amount the payer settles the invoice in. Always required, because it sets the asset the payer pays with.
string
required
A descriptive note for this payment. Use it to identify the invoice in your records, and to filter with List Invoices.
object
Information about the payer. Each field can be null.
string
URL that receives an instant payment notification (IPN) for this invoice.
string
URL the payer is redirected to after a successful payment.
string
URL the payer is redirected to when the payment fails.

Response

A successful request returns HTTP 200 with the created invoice object.
string
Unique invoice identifier. Use it with the id filter on List Invoices.
string
Invoice status. One of Pending, Processing, Paid, Expired, Failed, Cancelled, or Refunded.
object
Fiat price of the invoice and how much of it has been paid.
object
Crypto asset, amount due, and the deposit address the payer sends funds to.
string
The memo attached to the invoice.
object
Payer details. Each field is null when not provided.
object
Details of the company issuing the invoice.
integer
Invoice expiry time as a Unix timestamp in seconds.
string
On-chain hash of the payment transaction. null until a payment is received.
string
Block explorer URL for the payment transaction. null until a payment is received.
string
URL of the hosted payment page. Send your payer here to complete the payment.
string
URL that receives payment notifications for this invoice.
string
URL the payer is redirected to after a successful payment.
string
URL the payer is redirected to when the payment fails.
string
Block confirmations received out of the number required, for example 0/5.
array
Payment transactions received against this invoice. Empty until a payment arrives.
Invoices are time-limited. Ensure your payer sends the payment before expiry_ts. Payments received after expiry may require manual reconciliation.