API Reference
GET /invoice
Check the payment status and details of an invoice.
GET /invoice
GET
/invoiceRetrieve the current status and details of an invoice. Call this after receiving a webhook callback to verify the payment server-side.
Headers
| Header | Required | Description |
|---|---|---|
content-type | Yes | application/json |
apikey | Yes | Your API key |
signature | Yes | HMAC-SHA384 signature |
nonce | Yes | Current Unix timestamp |
Request
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The session ID from /checkout response (query param) |
hist | boolean | No | Set to true to show transaction history |
curl example
curl --location --request GET 'https://api.ipint.io:8003/invoice?id=invoice-id-from-checkout' \
--header 'content-type: application/json' \
--header 'apikey: your-api-key' \
--header 'signature: hmac-signature-using-your-api-secret' \
--header 'nonce: current-unix-time'Full response
{
"data": {
"invoice_id": "3hovNh96SmZXXaQ7PwEHc5Rr2B4E",
"transaction_status": "CHECKING",
"invoice_amount_in_local_currency": "100.50",
"received_amount_in_local_currency": "100.50",
"local_currency_code": "EUR",
"invoice_amount_in_usd": "107.86",
"received_amount_in_usd": "107.86",
"invoice_crypto_amount": "0.0037",
"received_crypto_amount": "0.0037",
"transaction_crypto": "BTC",
"invoice_creation_time": "1633960704",
"depositor_email_id": "user@email.com",
"blockchain_transaction_status": "PENDING",
"transaction_hash": "",
"blockchain_confirmations": "",
"wallet_address": "1NaJJPyXJokyy8jwmCMojwafM9hsAW1MnN",
"transaction_time": ""
}
}Response fields
data object
| Field | Type | Description |
|---|---|---|
invoice_id | string | Invoice identifier (same as session_id from /checkout) |
transaction_status | string | Current status (see below) |
invoice_amount_in_local_currency | string | Original invoice amount in local currency |
invoice_amount_in_usd | string | Original invoice amount in USD |
invoice_crypto_amount | string | Crypto amount requested |
received_amount_in_local_currency | string | Amount actually received in local currency |
received_amount_in_usd | string | Amount received in USD |
received_crypto_amount | string | Crypto amount actually received |
transaction_crypto | string | Which cryptocurrency was used |
transaction_hash | string | On-chain transaction hash |
blockchain_confirmations | string | Confirmations (e.g. 0/6) |
blockchain_transaction_status | string | On-chain status (PENDING, etc.) |
wallet_address | string | Deposit address the customer paid to |
invoice_creation_time | string | Unix timestamp of invoice creation |
depositor_email_id | string | Email of the depositor |
local_currency_code | string | Local currency code |
transaction_time | string | Transaction time |
transaction_status values
| Status | Meaning | Action |
|---|---|---|
CHECKING | Checking for transaction on blockchain | Wait |
PROCESSING | Transaction hit blockchain, confirmations < 3 | Wait |
COMPLETED | Transaction completed | Mark payment successful. Stop querying. |
FAILED | Customer didn't pay, or transaction pending on blockchain (low fee) | Mark failed. Stop querying. |
CANCELLED | Customer closed before QR was generated | Mark cancelled. Stop querying. |
Do not rely on webhook callback data alone for marking payments. Always call
GET /invoice to verify the status after receiving a callback.
Verifying full payment
Compare invoice amounts with received amounts:
| Invoice field | Compare with |
|---|---|
invoice_amount_in_local_currency | received_amount_in_local_currency |
invoice_amount_in_usd | received_amount_in_usd |
invoice_crypto_amount | received_crypto_amount |
Sometimes invoices are underpaid or overpaid. Always compare before giving credit.
Try it live
Open in Swagger UI →Next steps
- Webhooks — callback payload reference
- Check Payment Status guide — step-by-step
- POST /checkout — create a checkout session