/

to search

Introducing Setu Changelog Check it out ↗

#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

PropertyTypeConstraintsPurposeNotes
paymentDetails.accountInfoStringFormat varies by payment modeNPCI-compatible instrument info for the debit instrumentRequired in payment requests
remitterObject-Captures information about the person making the paymentMay differ from account holder

#2.1 Remitter Object Properties

PropertyTypeConstraintsPurposeNotes
nameStringmin: 1, max: 50Remitter's full nameRequired in payment requests
emailStringmin: 1, max: 50Remitter's email addressOptional
panStringmin: 1, max: 50Remitter's PAN numberOptional
aadhaarStringmin: 1, max: 50Remitter's Aadhaar numberOptional

#3. Usage Across Flows

  • Fetch/Validation requests: remitter is optional.
  • Payment requests (Flow 1–3): remitter.name and paymentDetails.accountInfo are 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 ModeValue ExampleLength ConstraintsNPCI CodeDescription
AccountTransfer, BharatQR, InternetBankingSRAN0000341|9912345123456Min: 3, Max: 50IFSC|AccountNoIFSC and account number used for payment
CreditCard, DebitCard, PrepaidCard1234567890123456|123456Min: 3, Max: 50CardNum|AuthCodeCard number and authorization code used for payment
UPIdummy@yblMin: 3, Max: 50VPAVirtual Provider Address used for payment
WalletPayTM|9004644121Min: 12, Max: 50WalletName|MobileNoWallet name and mobile number used for payment
AEPS, BHIM Aadhaar Pay123456789012|1234567Min: 3, Max: 50Aadhaar|IINAadhaar number and IIN used for payment
Cash, USSD<Payment remarks>Min: 1, Max: 50RemarksRemarks when payment mode is cash

#4.2 Code Format Examples

The following table provides detailed formatting specifications for different NPCI codes:

CodeFormatExample
RemarksAlphanumeric Special
Min Length: 1, Max Length: 50
UNI000
CardNum|AuthCodeAlphanumeric with characters on either side of '|' separator
Min Length: 3, Max Length: 50
1234567890123456|123456
IFSC|AccountNoAlphanumeric with characters on either side of '|' separator
Min Length: 3, Max Length: 50
SRAN0000341|01234567
MMID|MobileNoNumeric with characters on either side of '|' separator
Fixed Length: 18
9240111|9004644121
WalletName|MobileNoAlphanumeric with characters on either side of '|' separator
Min Length: 12, Max Length: 50
TA Wallet|9004644121
VPAAlphanumeric Special
Min Length: 3, Max Length: 50
manoj@icici
Aadhaar|IINAlphanumeric 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.name and paymentDetails.accountInfo are required
  • The paymentDetails.accountInfo field must contain NPCI-compatible values corresponding to the selected payment mode

Was this page helpful?