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:
ownerAddresschainIdinvoiceId
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,invoiceIdpage,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:
ownerAddresschainIdinvoiceId
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>'