Invoices are the foundation of payment collection on IteraPay. You create an invoice, share it with your customer, and IteraPay generates a crypto payment address for them to send funds to. This guide walks you through the full flow — from creating your first invoice to confirming that payment was received.Documentation Index
Fetch the complete documentation index at: https://docs.iterapay.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you start, make sure you have:- A merchant account with your
merchantID - A valid API key or JWT bearer token
- The ID of the payment method you want to accept (e.g., USDT on TRON)
Create a one-time invoice
Aonetime invoice accepts a single payment. Use this for individual orders or transactions.
Create the invoice
Send a Expected response:Save the
POST request to create the invoice. Provide the amount in USD, a description, and set the type to onetime.id — you’ll use it in the next steps.Retrieve the payment address for a crypto method
Use the public endpoint to get a payment address for a specific payment method. This endpoint requires no authentication, so you can call it from your frontend or redirect your customer to it.Expected response:
Share the invoice with your customer
Send your customer the payment address and the exact crypto amount. You can also share the public invoice URL so they can view it directly:This endpoint requires no authentication and returns the full invoice details — safe to link to from your checkout page or email.
List all payment addresses for an invoice
If your invoice supports multiple payment methods, retrieve all available addresses at once:Create a reusable invoice
Areusable invoice accepts multiple payments over time — useful for payment links, donation pages, or any scenario where more than one customer may pay.
- One-time
- Reusable
- Accepts a single payment
- Expires after the first successful payment
- Best for individual orders and transactions
Reusable invoices generate a new payment address each time a customer requests one, ensuring that payments are tracked individually even though they share the same invoice.