iPintiPint Docs
API Reference

GET /invoice

Check the payment status and details of an invoice.

GET /invoice

GET/invoice

Retrieve the current status and details of an invoice. Call this after receiving a webhook callback to verify the payment server-side.

Headers

HeaderRequiredDescription
content-typeYesapplication/json
apikeyYesYour API key
signatureYesHMAC-SHA384 signature
nonceYesCurrent Unix timestamp

Request

ParameterTypeRequiredDescription
idstringYesThe session ID from /checkout response (query param)
histbooleanNoSet 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

FieldTypeDescription
invoice_idstringInvoice identifier (same as session_id from /checkout)
transaction_statusstringCurrent status (see below)
invoice_amount_in_local_currencystringOriginal invoice amount in local currency
invoice_amount_in_usdstringOriginal invoice amount in USD
invoice_crypto_amountstringCrypto amount requested
received_amount_in_local_currencystringAmount actually received in local currency
received_amount_in_usdstringAmount received in USD
received_crypto_amountstringCrypto amount actually received
transaction_cryptostringWhich cryptocurrency was used
transaction_hashstringOn-chain transaction hash
blockchain_confirmationsstringConfirmations (e.g. 0/6)
blockchain_transaction_statusstringOn-chain status (PENDING, etc.)
wallet_addressstringDeposit address the customer paid to
invoice_creation_timestringUnix timestamp of invoice creation
depositor_email_idstringEmail of the depositor
local_currency_codestringLocal currency code
transaction_timestringTransaction time

transaction_status values

StatusMeaningAction
CHECKINGChecking for transaction on blockchainWait
PROCESSINGTransaction hit blockchain, confirmations < 3Wait
COMPLETEDTransaction completedMark payment successful. Stop querying.
FAILEDCustomer didn't pay, or transaction pending on blockchain (low fee)Mark failed. Stop querying.
CANCELLEDCustomer closed before QR was generatedMark 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 fieldCompare with
invoice_amount_in_local_currencyreceived_amount_in_local_currency
invoice_amount_in_usdreceived_amount_in_usd
invoice_crypto_amountreceived_crypto_amount

Sometimes invoices are underpaid or overpaid. Always compare before giving credit.

Try it live

Open in Swagger UI →

Next steps

On this page