Invoicing
Create invoice
Open a draft invoice. Secret key. JSON body, not RSA-wrapped. Issue it before the customer can pay.
POST
/invoice/v1Same host as Create order (https://payment-api-service.dev.payinvert.com on test). Header api-key is the secret key from the same Credentials set. Also send x-env-id. Send Idempotency-Key so a retry does not create a second draft.
| Field | Notes |
|---|---|
invoiceTitle | Shown on the invoice. |
customerEmail / customerName / customerPhone | Who the invoice is for. Set customerPhone (E.164) so Pay invoice can open checkout on the first click. |
dueDate | ISO-8601. Example 2026-09-01T00:00:00Z. |
currency | ISO 4217 code. Sample uses NGN. Same style as Create order. |
invoiceType | professional or simple. |
tax | Percent. Sample uses 7.5. |
invoiceItems | Each row has item, amount, quantity. Amounts are major units. |
externalReference | Your ERP or ledger id. |
metadata | Optional key/value map for your integration. |
sendEmail | Leave false on create. Issue is what emails the customer. |
Flow: create draft โ update if needed โ issue (status unpaid) โ customer pays. PayInvert marks the invoice paid when the order succeeds.
Keep the invoice reference
Later calls use it. The last reference from a test panel is kept on this tab.