#Remitter & Account Info
#1. NPCI Requirements for Remitter Details and Account Info for all Bill Payments
Bill payments require remitter details and payment instrument information, and you will need to format them correctly for different payment methods. This guide provides the exact formatting specifications NPCI requires for each payment mode, plus validation rules to ensure your requests are accepted.
The key principle: each payment method has its own format requirements, from simple UPI addresses to complex card authorization codes, and getting these wrong will cause payment failures.
#2. Fields Reference
| Property | Type | Constraints | Purpose | Notes |
|---|---|---|---|---|
paymentDetails.accountInfo | String | Format varies by payment mode | NPCI-compatible instrument info for the debit instrument | Required in payment requests |
remitter | Object | - | Captures information about the person making the payment | May differ from account holder |
#2.1 Remitter Object Properties
| Property | Type | Constraints | Purpose | Notes |
|---|---|---|---|---|
name | String | min: 1, max: 50 | Remitter's full name | Required in payment requests |
email | String | min: 1, max: 50 | Remitter's email address | Optional |
pan | String | min: 1, max: 50 | Remitter's PAN number | Optional |
aadhaar | String | min: 1, max: 50 | Remitter's Aadhaar number | Optional |
#3. Usage Across Flows
- Fetch/Validation requests:
remitteris optional. - Payment requests (Flow 1–3):
remitter.nameandpaymentDetails.accountInfoare required.
#3.1 Sample Payment Request
{"refId": "{{REF_ID_FROM_FETCH_OR_VALIDATION}}","paymentDetails": {"amount": 50000,"mode": "UPI","custConvFee": 120, // Optional; Total to debit = amount + custConvFee"paymentRefId": "{{UNIQUE_DEBIT_ID}}","timestamp": "{{ISO_8601}}","accountInfo": "user@ybl"},"remitter": {"name": "{{PAYER_NAME}}"}}
#4. NPCI Specifications
#4.1 Account Information Format by Payment Mode
| Payment Mode | Value Example | Length Constraints | NPCI Code | Description |
|---|---|---|---|---|
| AccountTransfer, BharatQR, InternetBanking | SRAN0000341|9912345123456 | Min: 3, Max: 50 | IFSC|AccountNo | IFSC and account number used for payment |
| CreditCard, DebitCard, PrepaidCard | 1234567890123456|123456 | Min: 3, Max: 50 | CardNum|AuthCode | Card number and authorization code used for payment |
| UPI | dummy@ybl | Min: 3, Max: 50 | VPA | Virtual Provider Address used for payment |
| Wallet | PayTM|9004644121 | Min: 12, Max: 50 | WalletName|MobileNo | Wallet name and mobile number used for payment |
| AEPS, BHIM Aadhaar Pay | 123456789012|1234567 | Min: 3, Max: 50 | Aadhaar|IIN | Aadhaar number and IIN used for payment |
| Cash, USSD | <Payment remarks> | Min: 1, Max: 50 | Remarks | Remarks when payment mode is cash |
#4.2 Code Format Examples
The following table provides detailed formatting specifications for different NPCI codes:
| Code | Format | Example |
|---|---|---|
| Remarks | Alphanumeric Special Min Length: 1, Max Length: 50 | UNI000 |
| CardNum|AuthCode | Alphanumeric with characters on either side of '|' separator Min Length: 3, Max Length: 50 | 1234567890123456|123456 |
| IFSC|AccountNo | Alphanumeric with characters on either side of '|' separator Min Length: 3, Max Length: 50 | SRAN0000341|01234567 |
| MMID|MobileNo | Numeric with characters on either side of '|' separator Fixed Length: 18 | 9240111|9004644121 |
| WalletName|MobileNo | Alphanumeric with characters on either side of '|' separator Min Length: 12, Max Length: 50 | TA Wallet|9004644121 |
| VPA | Alphanumeric Special Min Length: 3, Max Length: 50 | manoj@icici |
| Aadhaar|IIN | Alphanumeric with characters on either side of '|' separator Min Length: 3, Max Length: 50 | 123456789012|1234567 |
#4.3 Field Handling Rules
#4.3.1 Mandatory Behavior
- In payment requests across Flow 1–3,
remitter.nameandpaymentDetails.accountInfoare required - The
paymentDetails.accountInfofield must contain NPCI-compatible values corresponding to the selected payment mode
Was this page helpful?