Skip to main content

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.

A payment method in IteraPay represents a specific cryptocurrency that your merchant account can accept. Each payment method maps to a particular token on a particular blockchain — so USDT on the TRON network (USDT-TRC20) and USDT on Ethereum (USDT-ERC20) are separate payment methods with separate IDs, separate deposit addresses, and separate balances. When you create an invoice, you specify the payment method ID to tell IteraPay which token and network your customer should pay on.

Listing available payment methods

To see all payment methods currently supported by IteraPay, call the payment methods endpoint. This endpoint is not scoped to a specific merchant, but does require authentication:
GET /payment_methods
Example response:
[
  {
    "id": 1,
    "name": "USDT-TRC20",
    "network": "TRON",
    "ticker": "USDT"
  },
  {
    "id": 2,
    "name": "USDT-ERC20",
    "network": "Ethereum",
    "ticker": "USDT"
  },
  {
    "id": 3,
    "name": "USDC-ERC20",
    "network": "Ethereum",
    "ticker": "USDC"
  }
]
Payment method IDs are stable integers. Cache this list in your application rather than calling the endpoint on every request. Check periodically for newly added methods.

Using method IDs

The integer id from the payment methods list is the value you supply as methodID whenever you interact with invoices or addresses. You use it in three places: Creating an invoice — specify which cryptocurrency the invoice should accept:
POST /merchants/{merchantID}/invoices
{
  "type": "onetime",
  "methodID": 1,
  "amount": 100.00
}
Requesting a deposit address — get the blockchain address for a specific method on an existing invoice:
GET /public/invoices/{invoiceID}/method/{methodID}/address
Filtering invoices and transactions — narrow results to a specific token using the method ID as a filter parameter.

One address per method per invoice

Each combination of invoice and payment method produces a unique deposit address on the relevant blockchain. When a customer calls the address endpoint for method ID 1 on a given invoice, they always receive the same address — IteraPay provisions it once and reuses it for that invoice/method pair. This means:
  • A customer must send the exact cryptocurrency that corresponds to the method ID. Sending a different token to the same address may result in permanent loss.
  • Each invoice can have addresses provisioned for multiple payment methods if you offer a currency choice to your customers.
Always display the correct network to your customer alongside the deposit address. Sending tokens to an address on the wrong network (for example, sending ERC20 tokens to a TRC20 address) results in lost funds that cannot be recovered.

Choosing a payment method for your integration

When deciding which payment methods to support, consider:
  • Customer familiarity — stablecoins like USDT and USDC on major networks are widely held and easy for customers to send
  • Network fees — TRON (TRC20) typically has lower transaction fees than Ethereum (ERC20), which matters for smaller payment amounts
  • Settlement speed — different networks have different confirmation times; check your configured limits for minimum collect amounts relative to expected payment sizes
If you want to give customers a choice of payment method, create one invoice per method or use a reusable invoice and call the address endpoint for each method ID you want to display.

Create invoice

Create an invoice specifying a payment method ID and USD amount.

Payment info

Retrieve deposit addresses for a given invoice and method.

Invoices

Understand how invoices use payment methods to generate deposit addresses.

Accept payments guide

Step-by-step walkthrough of creating an invoice and collecting a payment.