/

to search

Introducing Setu Changelog Check it out ↗

#Remitter Details Integration Guide

#Overview

NPCI has introduced comprehensive remittance information handling across two distinct integration flows to accommodate acceptance of remittance data from Agent Institutions for Credit Card Bill Payments. These enhancements ensure compliance with NPCI specifications while providing flexibility for different integration approaches.

#Remitter Details Specification

PropertyTypeConstraintsPurposeNotes
accountInfoString (variable)Must correspond to selected payment modeContains customer's remittance information in NPCI-compatible formatRequired field
remitterObject-Captures information about the person making the paymentMay differ from credit card holder

#Remitter Object Properties

PropertyTypeConstraintsPurposeNotes
nameStringmin: 1, max: 50Remitter's full nameAuto-fallback: 'Not Available' for CC payments if not provided
emailStringmin: 1, max: 50Remitter's email address-
panStringmin: 1, max: 50Remitter's PAN number-
aadhaarStringmin: 1, max: 50Remitter's Aadhaar number-

#Key Notes

  • NPCI Compatibility: The accountInfo field must be formatted according to NPCI specifications and to be passed with all Bill Payments and the remitter object to be passed with all Credit Card Bill Payments.
  • Credit Card Fallback: When remitter name is not provided for credit card payments, the system automatically sends "Not Available" to NPCI
  • Remitter vs Cardholder: The person making the payment (remitter) may be different from the credit card holder

#Remitter Details in Bill Payment API Flow

#Bill Fetch Request API Enhancement

The bill fetch request API has been enhanced to include remitter details within the remitter object.

Sample Request

{
"agent": {
"mac": "48-4D-7E-CB-DB-6F",
"mobile": "string",
"postalCode": "600001",
"id": "AX01AI06512391457204",
"ifsc": "ICIC0000152",
"imei": "123456789012345",
"ip": "124.170.23.24",
"os": "iOS",
"app": "SmartPay",
"channel": "INT",
"geocode": "19.0139,72.8254",
"terminalId": "6000011234"
},
+ "remitter": {
+ "aadhaar": "123456789012",
+ "email": "test@example.com",
+ "name": "John Doe",
+ "pan": "ABDCE1121E"
+ },
"biller": {
"id": "MAHI00000NATIC"
},
"customer": {
"customerId": "4881317598",
"mobile": "string",
"customerParams": [
{
"name": "John Doe",
"value": "1895159"
}
]
}
}

#Bill Payment Request API Enhancement

The bill payment request API has been enhanced to include remitter details under the remitter object and account information within the accountInfo property of the paymentDetails object.

#RefId Based Payment Request

  • The bill fetch request API must be called to get the bill details before initiating the payment.
  • The refId from the bill fetch request API must be used to make the payment.

Sample Request

{
"refId": "HENSVVR4QOS7X1UGPY7JGUV444P10102202",
+ "remitter": {
+ "aadhaar": "123456789012",
+ "email": "test@example.com",
+ "name": "John Doe",
+ "pan": "ABDCE1121E"
+ },
"bills": "Selection on bills in case of list billers",
"paymentDetails": {
"custConvFee": 0,
"paymentRefId": "BD019181220291",
"timestamp": "2020-12-12T13:12:00+05:30",
"COUcustConvFee": 0,
+ "accountInfo": "ICIC0000152|1234567890",
"amount": 1,
"currency": 0,
"mode": "Internet Banking",
"selectedPaymentOptions": [
{
"amount": 1,
"name": "John Doe"
}
]
}
}

#Direct Payment Request

Sample Request

{
"biller": {
"id": "MAHI00000NATIC"
},
"agent": {
"mac": "48-4D-7E-CB-DB-6F",
"mobile": "string",
"postalCode": "600001",
"id": "AX01AI06512391457204",
"ifsc": "ICIC0000152",
"imei": "123456789012345",
"ip": "124.170.23.24",
"os": "iOS",
"app": "SmartPay",
"channel": "INT",
"geocode": "19.0139,72.8254",
"terminalId": "6000011234"
},
+ "remitter": {
+ "aadhaar": "123456789012",
+ "email": "test@example.com",
+ "name": "John Doe",
+ "pan": "ABDCE1121E"
+ },
"paymentDetails": {
"custConvFee": 0,
"paymentRefId": "BD019181220291",
"timestamp": "2020-12-12T13:12:00+05:30",
"COUcustConvFee": 0,
+ "accountInfo": "ICIC0000152|1234567890",
"amount": 1,
"currency": 0,
"mode": "Internet Banking",
"selectedPaymentOptions": [
{
"amount": 1,
"name": "John Doe"
}
]
},
"bills": "Selection on bills in case of list billers",
"customer": {
"customerId": "4881317598",
"mobile": "string",
"customerParams": [
{
"name": "John Doe",
"value": "1895159"
}
]
}
}

#NPCI Specifications

#Account Information Format by Payment Mode

Payment ModeValue ExampleLength ConstraintsNPCI CodeDescription
IMPS9240111|9004644121Fixed: 18MMID|MobileNoMMID and mobile number used for payment
NEFT, 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

#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

#Field Handling Rules

#Mandatory Behavior

  • The accountInfo field must contain NPCI-compatible values corresponding to the selected payment mode
  • For credit card bill payments, both the accountInfo and remitter objects must be provided.

#Optional Field Handling

  • If remitter details or account information are not available, the fields should be omitted entirely
  • System automatically handles fallback scenarios