Error Code Overview
Complete error code reference for M2P UPI Platform and NPCI UPI system — 1000+ codes with resolution guidance.
Comprehensive error code reference covering both M2P platform errors and NPCI UPI system errors.
M2P Platform Errors
Application-level errors from the M2P UPI Platform — UPI common, profile, transaction, mandate, bank aggregator, and circuit breaker errors. ~300 codes.
NPCI UPI Errors
NPCI-defined response codes for the UPI ecosystem — general, U-series, mandate, validation, credential, device, and dispute codes. 700+ codes.
Error Response Format
All M2P API errors follow this structure:
{
"status": "FAILURE",
"exception": {
"errorCode": "UPI_218",
"message": "Insufficient funds",
"detailedMessage": "Account balance is INR 500.00, requested amount is INR 1000.00"
},
"seqNo": "1"
}Error Categories
| Code Pattern | Source | Retryable | Description |
|---|---|---|---|
UPI_001–UPI_016 | M2P | Varies | Common platform errors |
UPI_101–UPI_195 | M2P | Varies | Profile & account errors |
UPI_201–UPI_272 | M2P | Varies | Transaction errors |
BAGG_001–BAGG_039 | M2P | Varies | Bank aggregator errors |
CB_001–CB_007 | M2P | Yes | Circuit breaker errors |
00 | NPCI | N/A | Success |
U01–U99 | NPCI | Some | UPI switch/system errors |
Z5–ZY | NPCI | No | Credential/limit errors |
Q/V series | NPCI | No | Mandate-specific errors |
Error codes with {0}, {1}, {2} placeholders contain dynamic values substituted at runtime — VPA names, account numbers, amounts, or action types.
Webhooks & Notifications
Real-time event notifications via Kafka and HTTP webhooks — complete reference with 18+ webhook types, SMS templates, and event payloads.
M2P Platform Error Codes
Complete M2P UPI Platform error code reference — common, profile, transaction, mandate, bank aggregator, and circuit breaker errors with resolutions.
