post
https://test-accounts.payu.in/api/v3/merchants//kyc_document
The Upload Bank Proof API uploads bank account proof when auto-verification from Step 05 failed (Step 06 of 16 — conditional).
Notes:
- When to call: Only if GetMerchant shows
bank_verification_statusasfailedorpending.- Accepted types (examples): Cancelled Cheque, Bank Verification Letter, Bank Statement, Passbook.
HTTP Method: POST
Environment
| URL | |
|---|---|
| Test Environment | https://test-partner.payu.in/api/v3/merchants/{mid}/kyc_document |
| Production Environment | https://partner.payu.in/api/v3/merchants/{mid}/kyc_document |
Sample Request
Sample request
curl --location 'https://test-partner.payu.in/api/v3/merchants/{{mid}}/kyc_document' \
--header 'Authorization: Bearer {{access_token}}' \
--form 'merchant[document_category]="Bank Account Proof"' \
--form 'merchant[document_type]="Cancelled Cheque"' \
--form 'merchant[processed_document]=@"/path/to/cancelled_cheque.pdf"'Sample Response
Success scenario
Success scenario
{
"merchant": {
"mid": "8390925",
"kyc_document_name": "Bank Account Proof",
"kyc_document_uuid": "11ef-587e-4383...",
"kyc_document_status": "DOCUMENT_SUBMITTED",
"error_message": null,
"created_at": "2024-08-12T07:41:19.000Z"
}
}Failure scenario
Failure scenario
- 422 — Invalid document category/type, file missing, too large, or unsupported format
{
"error": {
"document": "must be present"
}
}Response parameters
Response parameters
| Parameter | Description | Example |
|---|---|---|
| merchant.mid | string — Merchant ID | 8390925 |
| merchant.kyc_document_name | string — Uploaded document category name | Bank Account Proof |
| merchant.kyc_document_uuid | string — Document UUID for show/delete APIs | 11ef-587e-4383... |
| merchant.kyc_document_status | string — Document status after upload | DOCUMENT_SUBMITTED |
| merchant.error_message | string/null — Error detail if any | null |
| merchant.created_at | string — Upload timestamp (ISO 8601) | 2024-08-12T07:41:19.000Z |
Request parameters
Header parameters
Header parameters
| Header | Description | Example |
|---|---|---|
Authorizationmandatory | string — Bearer token from Step 00 (GetToken) | Bearer {{access_token}} |
Content-Typemandatory | string — Must be multipart/form-data | multipart/form-data |
Path parameters
Path parameters
| Parameter | Description | Example |
|---|---|---|
midmandatory | string — Numeric merchant ID (mid) from Step 01 | 8390925 |
Body parameters
Body parameters
| Parameter | Description | Example |
|---|---|---|
merchant[document_category]mandatory | string — Use Bank Account Proof | Bank Account Proof |
merchant[document_type]mandatory | string — e.g. Cancelled Cheque, Bank Statement, Passbook | Cancelled Cheque |
merchant[processed_document]mandatory | file — JPG/PNG/PDF, max 5 MB | cancelled_cheque.pdf |
400Bad Request
401Unauthorized - Invalid or expired token
403Forbidden - No access to this resource
404Not Found
422Validation Failed
500Internal Server Error
