Upload Invoice File
PUT
/api/pay/v1/orders/{orderId}/invoice/{invoiceId}/uploadUploads the actual invoice file (PDF/image) for a previously created invoice record.
Prerequisites:
- Invoice must be created first via the Capture Invoice API (Step 1).
- Use the
invoiceIdfrom Step 1 response.
Constraints:
- Maximum file size: 5 MB
- Allowed file types: PDF (.pdf), JPEG (.jpeg, .jpg), PNG (.png)
- File upload is one-time. Re-uploading returns 409 Conflict.
Requires
Bearer token. Get token →Path Parameters
| Name | Type | Description |
|---|---|---|
orderId | stringrequired | Order ID. |
invoiceId | stringrequired | Invoice ID returned from the Capture Invoice API. |
Request Body
| Name | Type | Description |
|---|---|---|
file | stringrequired | The invoice file to upload. Max 5 MB. Allowed types - PDF, JPEG, PNG. |
Response
| Name | Type | Description |
|---|---|---|
invoiceId | string | Invoice identifier. |
orderId | string | Order ID. |
invoiceNumber | string | Invoice number. |
invoiceDate | string | Invoice date. |
supplierName | string | Supplier name (if provided during creation). |
status | string | Updated to INVOICE_UPLOADED on success. |
Status Codes
200 | Invoice file uploaded successfully. |
400 | Validation error. |
401 | |
409 | Invoice file already uploaded. |
422 | Invoice not found. |
500 |
Request
curl --request PUT \
--url https://pluraluat.v2.pinepg.in/api/pay/v1/orders/%7BorderId%7D/invoice/%7BinvoiceId%7D/upload \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: multipart/form-data'Run this request
orderIdinvoiceId200 OK
{
"invoiceId": "inv-260520225359-ab-XyZ123",
"orderId": "v1-260520225359-aa-LHy288",
"invoiceNumber": "v1-260520225359-aa-LHy288-IN",
"invoiceDate": "2026-05-20",
"supplierName": null,
"status": "INVOICE_UPLOADED"
}