Skip to main content

Payment Service API Invoices

Base route: /integration/invoices

All requests are signed and include timestamp headers.

POST /integration/invoices

Create invoice for owner wallet.

{
"ownerAddress": "0x501BEF961A6f40E063efD6048768b0BC35ab1428",
"chainId": 8453,
"invoiceId": "1000456",
"amount": "12.5",
"tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"description": "Payment for order #1000456",
"expiresAt": 1735689600000,
"metadata": {
"orderId": "1000456"
}
}
curl -X POST '<BASE_URL>/integration/invoices' \
-H 'Content-Type: application/json' \
-H 'x-depay-timestamp: <TIMESTAMP_MS>' \
-H 'x-depay-signature: <REQUEST_SIGNATURE>' \
-d '{
"ownerAddress": "<OWNER_ADDRESS>",
"chainId": 8453,
"invoiceId": "1000456",
"amount": "12.5"
}'

GET /integration/invoices/status

Query params:

  • ownerAddress
  • chainId
  • invoiceId

Triggers live on-chain re-check and returns latest state.

curl '<BASE_URL>/integration/invoices/status?ownerAddress=<OWNER>&chainId=8453&invoiceId=1000456' \
-H 'x-depay-timestamp: <TIMESTAMP_MS>' \
-H 'x-depay-signature: <REQUEST_SIGNATURE>'

GET /integration/invoices

Required:

  • ownerAddress

Optional filters:

  • chainId, status, paid, tokenAddress, invoiceId
  • page, limit, dateFrom, dateTo
curl '<BASE_URL>/integration/invoices?ownerAddress=<OWNER>&page=1&limit=20&status=pending' \
-H 'x-depay-timestamp: <TIMESTAMP_MS>' \
-H 'x-depay-signature: <REQUEST_SIGNATURE>'

DELETE /integration/invoices

Query params:

  • ownerAddress
  • chainId
  • invoiceId

Soft-delete invoice and remove it from active monitor/queue.

curl -X DELETE '<BASE_URL>/integration/invoices?ownerAddress=<OWNER>&chainId=8453&invoiceId=1000456' \
-H 'x-depay-timestamp: <TIMESTAMP_MS>' \
-H 'x-depay-signature: <REQUEST_SIGNATURE>'