BBPS API Specifications v14!0!1
BBPS API Specifications v14!0!1
Version 14.0
Date: 20.02.2021
Abstract
This document contains information pertaining to different APIs used in BBPS and
some considerations which will be beneficial while designing the same.
1
Table of Contents
Document History ............................................................................................................................................................. 6
1 Bill Fetch Request & Response .................................................................................................................................. 8
Sample Fetch Request API: Customer BBPOU to BBPCU .................................................................................. 8
Sample Fetch Request API: BBPCU to Biller BBPOU.......................................................................................... 9
Sample Fetch Response API: Biller BBPOU to BBPCU ....................................................................................... 9
Sample Fetch Response API: BBPCU to Customer BBPOU .............................................................................. 10
Bill Fetch Request Tag Details ......................................................................................................................... 11
Bill Fetch Request XSD..................................................................................................................................... 12
Bill Fetch Response Tag Details ....................................................................................................................... 12
Bill Fetch Response XSD .................................................................................................................................. 13
2 Bill Payment Request & Response .......................................................................................................................... 14
Sample Payment Request API: Customer BBPOU to BBPCU........................................................................... 14
Sample Payment Request API: BBPCU to Biller BBPOU .................................................................................. 15
Sample Payment Response API: Biller BBPOU to BBPCU ................................................................................ 17
Sample Payment Response API: BBPCU to Customer BBPOU ........................................................................ 17
Sample Reversal Request API: BBPCU to Biller BBPOU ................................................................................... 18
Sample Reversal Response API: Biller BBPOU to BBPCU ................................................................................ 18
Sample Reversal Response API: BBPCU to Customer BBPOU ......................................................................... 18
Bill Payment Request Tag Details .................................................................................................................... 18
Bill Payment Request XSD ............................................................................................................................... 21
Bill Payment Response Tag Details.................................................................................................................. 21
Bill Payment Response XSD ............................................................................................................................. 22
3 Transaction Status Check (402) API Request & Response (for Pending Transactions) ........................................... 23
402 API Request: BBPCU to Biller BBPOU ....................................................................................................... 23
402 API Response: Biller BBPOU to BBPCU ..................................................................................................... 23
402 API Request Tag Details ............................................................................................................................ 23
402 API Request XSD ....................................................................................................................................... 24
402 API Response Tag Details ......................................................................................................................... 24
402 API Response XSD ..................................................................................................................................... 25
4 Bill Validation Request & Response ........................................................................................................................ 26
Sample Validation Request API: Customer BBPOU to BBPCU......................................................................... 26
Sample Validation Request API: BBPCU to Biller BBPOU ................................................................................ 26
Sample Validation Response API: Biller BBPOU to BBPCU .............................................................................. 27
Sample Validation Response API: BBPCU to Customer BBPOU ...................................................................... 27
Document History
Date Version Prepared Reviewed Description
By By
29.12.2016 11.0 Arnab Arulananda Base version of API Specifications
Moitra Selvakumar
08.02.2018 12.0 Manoj Arulananda Merging of API Request and Response pairs
Chekuri Selvakumar Split of Bill Fetch and Bill Payment Request messages from Customer BBPOU to
BBPCU to Biller BBPOU
Split of Bill Fetch and Bill Payment Response messages from Biller BBPOU to
BBPCU to Customer BBPOU
Separate Reversal Request and Reversal Response sample messages
Addition of Bill Validation API
Addition of Complaint Re-assignment (502) and Complaint Closure (507) APIs
Split of CMS API into Transaction Status (401), Compliant Raise (501), Complaint
Re-assignment (502), Complaint Status (506) and Complaint Closure (507) APIs
Modification of Biller MDM Fetch API
Addition of Agent MDM Fetch API
Addition of Error Codes and Declines section
Addition of CMS Response Scenarios section
Addition of Biller Types in BBPS section
Addition of Amount Block Configuration in Bill Fetch & Bill Payment Messages
section
Addition of Fee Configuration section
Addition of Settlement File Transfer Mechanism section
Modification of Payment Mode & Channel Details section
- Splitting of Mobile and Internet payment channels: Mobile (Pre-login),
Mobile Banking (Post-login), Internet (Pre-login), Internet Banking (Post-
login)
- Addition of 2 payment channels: Agent and Business Correspondent
- Addition of 2 payment mode: AEPS and Account Transfer
Modification of parameter definitions in Elements Description section
Addition of Appendix section
05.11.2019 13.0 Manoj Arulananda Addition of Transaction Status Check (402) API between BBPCU and Biller
Chekuri Selvakumar BBPOU to check the status of Pending Transactions
Introduction of Fetch / Validation Re-utilization for Registered Customers
- Introduction of siTxn and origRefId attributes in Payment Request API
- Considerations for Customer and Biller BBPOUs
Modification of Biller MDM Fetch API
- Introduction of Either/OR configuration of Customer Parameters
- Passing default(possible) values against a Customer Parameter
Modification of BillerResponse block attributes presence in Fetch, Payment and
402 API Responses.
Change in Transaction Reference Id length and generation logic
Change in Customer Mobile Number length
Addition of URLs for Different APIs section
Modification of BBPS Error Codes and Declines
- Introduction of Deemed Success and Pending Status
- Modification of Forced Closure of Transactions by CU
Modification of Biller Types in BBPS section
Modification of Fee Configuration section
Modification of Payment Mode & Channel Details section
- Addition of 2 payment modes: Bharat QR and USSD
Modification of parameter definitions in Elements Description section
20.02.2021 14.0 Manoj Arulananda Change in BBPS IDs Generation Logic – Introduction of Julian Date in Ref ID &
Chekuri Selvakumar Msg ID
Introduction of QR & Paylink in BBPS.
Introduction of Biller Status APIs
Introduction of Plan MDM APIs
Introduction of new attribute paymentRefId in Payment Request.
Introduction of AdditionalInfo block in Payment & 402 API Responses.
Modification of Biller MDM Fetch Response API
- Introduction of billerAdditionalInfoPayment block to capture AdditionalInfo
configuration of Payment/402 API Response.
- Introduction of new attribute visibility under CustomerParams block against
each parameter.
- Introduction of Plan MDM Related parameters (planMdmRequirement tag &
planAdditionalInfo block).
Inclusion of additional details in 401 API Response – New URL has been created
for 401 API, which will provide additional information of the transaction.
Introduction of Call-back APIs for CMS module.
Modification/Addition of parameter definitions in Elements Description section.
Updated the documents in Appendinx section.
<bbps:BillFetchResponse xmlns:bbps="http://bbps.org/schema">
<Head ver="1.0" ts="2021-01-10T22:02:40+05:30" origInst="OU02"
refId="HENSVVR4QOS7X1UGPY7JGUV444P10102202" />
<Reason approvalRefNum="AB123456" responseCode="000/200" responseReason="Succcesful/Failure"
complianceRespCd="BFR001" complianceReason="Incorrect / invalid customer account" />
<Txn ts="2021-01-10T22:02:35+05:30" msgId="8ENSVVR4QOS7X1UGPY7JGUV444P10102202" />
<BillDetails>
<CustomerParams>
<Tag name="RefFld1" value="" />
<Tag name="RefFld2" value="" />
<Tag name="RefFld3" value="" />
</CustomerParams>
</BillDetails>
<BillerResponse customerName="Manoj Chekuri" amount="120000" dueDate="2021-09-24" billDate="2021-01-02"
billNumber="1232332"
billPeriod="ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED">
<Tag name="Amount 1" value="5000" />
<Tag name="Amount 2" value="4000" />
<Tag name="Amount 3" value="3000" />
</BillerResponse>
<AdditionalInfo>
<Tag name="BlRspFld1" value="" />
<Tag name="BlRspFld2" value="" />
<Tag name="BlRspFld3" value="" />
</AdditionalInfo>
</bbps:BillFetchResponse>
directBillChannel="L1QR/L1PL/L2QR/L2PL/L3QR/L3PL" directBillContentId="21010ABCDXXXX0001"
paymentRefId="ABCD1234abcd" >
<RiskScores>
<Score provider="OU01" type="TXNRISK" value="030" />
<Score provider="BBPS" type="TXNRISK" value="030" />
</RiskScores>
</Txn>
<Customer mobile="9505XXXX98">
<Tag name="EMAIL" value="manoj.chekuri@npci.org.in" />
<Tag name="AADHAAR" value="123456789012" />
<Tag name="PAN" value="BXXCG7754K" />
</Customer>
<Agent id="OU01XXXXINT001123456">
<Device>
<Tag name="MOBILE" value="9830098300" />
<Tag name="GEOCODE" value="12.9667,77.5667" />
<Tag name="POSTAL_CODE" value="400063" />
<Tag name="IP" value="124.170.23.22" />
<Tag name="INITIATING_CHANNEL" value="INT/INTB/MOB/MOBB/KIOSK/ATM/BNKBRNCH/AGT/BSC" />
<Tag name="TERMINAL_ID" value="1234556" />
<Tag name="IMEI" value="123456789012345" />
<Tag name="IFSC" value="ABCD0001234" />
<Tag name="MAC" value="00-0D-60-07-2A-FO" />
<Tag name="OS" value="iOS" />
<Tag name="APP" value="AGENTAPP" />
</Device>
</Agent>
<BillDetails>
<Biller id="VODA00000MUM03" />
<CustomerParams>
<Tag name="RefFld1" value="MK1234ABCD" />
<Tag name="RefFld2" value="" />
<Tag name="RefFld3" value="" />
</CustomerParams>
</BillDetails>
<BillerResponse customerName="Manoj Chekuri" amount="120000" dueDate="2021-09-24" billDate="2021-01-02"
billNumber="1232332"
billPeriod="ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED">
<Tag name="Amount 1" value="5000" />
<Tag name="Amount 2" value="4000" />
<Tag name="Amount 3" value="3000" />
</BillerResponse>
<AdditionalInfo>
<Tag name="BlRspFld1" value="" />
<Tag name="BlRspFld2" value="" />
<Tag name="BlRspFld3" value="" />
</AdditionalInfo>
<PaymentMethod quickPay="Yes/No" splitPay="Yes/No" OFFUSPay="Yes/No" paymentMode="Internet
Banking/Debit Card/Credit Card/IMPS/Cash/UPI/Wallet/NEFT/Prepaid Card/AEPS/Account Transfer/Bharat
QR/USSD" />
<Amount>
</CustomerParams>
</BillDetails>
<BillerResponse customerName="Manoj Chekuri" amount="120000" dueDate="2021-09-24" custConvFee="1000"
billDate="2021-01-02" billNumber="1232332"
billPeriod="ONETIME|DAILY|WEEKLY|BIMONTHLY|MONTHLY|QUARTERLY|HALFYEARLY|YEARLY|ASPRESENTED" />
<AdditionalInfo>
<Tag name="PaymentBlRspFld1" value="" />
<Tag name="PaymentBlRspFld2" value="" />
<Tag name="PaymentBlRspFld3" value="" />
</AdditionalInfo>
</bbps:BillPaymentResponse>
7.4.1 name Name of the reference field as configured for the Biller 1..n
7.4.2 value Value of the reference field which uniquely identifies the customer 1..n
for the Biller
7.4.3 enc_RefFld1 Tag which captures encrypted values of the masked tag, in case of 0..1
L3{QR/PL}.
8.1 <BillerResponse> Biller response parameters sent by the Biller supporting fetch is 0..1
copied in the payment request "as-is" – not applicable for payment
only Billers
8.1.1 customerName Name of the customer 0..1*
8.1.2 amount Amount of the bill 1..1
8.1.3 dueDate Due date of the bill 0..1*
8.1.4 billDate Generation date of the bill 0..1*
8.1.5 billNumber Unique identifier of the bill 0..1*
8.1.6 billPeriod Billing period of the bill 0..1*
8.2 <BillerResponse.Tag> Biller response related tag indicating the various amount options 0..n
provided by the Biller
8.2.1 name Name of the amount field assigned by the Biller 1..n
8.2.2 value Value of the amount field 1..n
9.1 <AdditionalInfo> Additional information parameters sent by the Biller supporting 0..1
fetch is copied in the payment request "as-is" – not applicable for
payment only Billers
9.2 <AdditionalInfo.Tag> Tag indicating any additional information provided by the Biller 1..n
9.2.1 name Name of the field assigned by the Biller 1..n
9.2.2 value Value of the field 1..n
10.1 <PaymentMethod> Payment method opted by the Customer 1..1
10.1.1 quickPay Flag indicating if the payment is initiated without a fetch or not 1..1
10.1.2 splitPay Flag indicating if the bill is paid using two different payment modes 1..1
10.1.3 OFFUSPay Flag indicating if it is an electronic ON-US or OFF-US transaction 1..1
10.1.4 paymentMode The payment mode which is accepted from the Customer 1..1
11.1 <Amount> Amount related details for the payment 1..1
11.2 <Amount.Amt> Details of the bill payment amount made by the Customer 1..1
11.2.1 amount Actual amount paid by the Customer for the transaction 1..1
11.2.2 custConvFee Customer convenience fee (CCF1) paid by the Customer BBPOU to 1..1
Biller BBPOU
11.2.3 COUcustConvFee Customer convenience fee (CCF2) paid by the Customer to 1..1
Customer BBPOU
11.2.4 currency Currency code of the transaction 1..1
11.3 <Amount.SplitPayAmoun Amount paid through the second payment mode 0..1
t>
11.4 <Amount.Tag> Amount paid by the customer indicating different amount option 0..n
combinations
11.4.1 name Name of the amount field assigned by the Biller 1..n
11.4.2 value Value of the amount field 1..n
12.1 <PaymentInformation> Payment information of the instrument which is used for making 1..1
the bill payment (this block is not passed by BBPCU to Biller
BBPOU)
12.2 <PaymentInformation.Ta Payment instrument details which is used for the bill payment 1..n
g> transaction
12.2.1 name Name of the parameter for the chosen payment instrument 1..n
12.2.2 value Value of the parameter for the chosen payment instrument 1..n
*For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid and Electricity all the attributes are MANDATORY, for
others only "amount" is MANDATORY.
2.1.3 origInst Code assigned to the BBPOU / BBPCU which forwards the transaction 1..1
2.1.4 refId Unique identification assigned by the initiating BBPOU to unambiguously 1..1
identify the transaction which is passed on, unchanged, throughout the
entire end-to-end chain, binding the Fetch and Payment messages
3.1 <Reason> Response details of the transaction 1..1
3.1.1 approvalRefNum Internal reference number which may be used by the Biller BBPOU for a 1..1
transaction – default value "AB123456"
3.1.2 responseCode Carries the response code indicating success or failure of the transaction 1..1
3.1.3 responseReason Description of the response code – possible values are "Successful" or 1..1
"Failure"
3.1.4 complianceRespCd Carries the compliance code indicating the reason for a failed 0..1
transaction – not required for a successful transaction
3.1.5 complianceReason Description of the compliance code – not required for a successful 0..1
transaction
4.1 <Txn> Transaction information, passed throughout the system, visible to all 1..1
entities of the eco-system
4.1.1 ts Transaction initiation timestamp which will remain constant throughout 1..1
all legs of the request and response message
4.1.2 msgId Unique identification assigned by the initiating BBPOU for chaining a 1..1
request and response message
4.1.3 xchangeId Identification of the type of the response – transaction status (402) 0..1
5.1 <BillDetails> Bill related details to identify a Customer 0..1
5.2 <BillDetails.CustomerParam Customer bill payment related details 1..1
s>
5.3 <BillDetails.CustomerParam Customer bill payment related reference field tag 1..n
s.Tag>
5.3.1 Name Name of the reference field as configured for the Biller 1..n
5.3.2 Value Value of the reference field which uniquely identifies the Customer for 1..n
the Biller
6.1 <BillerResponse> Response which is sent by the Biller for a successful transaction, i.e., 0..1
response code is ‘000’
6.1.1 customerName Name of the Customer 0..1*
6.1.2 amount Amount of the bill – should match with the "amount" attribute value 1..1
passed in the Payment request
6.1.3 dueDate Due date of the bill 0..1*
6.1.4 billDate Generation date of the bill 0..1*
6.1.5 billNumber Unique identifier of the bill 0..1*
6.1.6 billPeriod Billing period of the bill 0..1*
6.1.7 custConvFee Customer convenience fee paid by the Customer BBPOU to Biller BBPOU 0..1*
– should match with the CCF1 value in the Payment request
7.1 <AdditionalInfo> Additional information parameters provided by the Biller for a successful 0..1
transaction, i.e., response code is ‘000’
7.2 <AdditionalInfo.Tag> Tag indicating any additional information provided by the Biller 1..n
7.2.1 name Name of the field assigned by the Biller 1..n
7.2.2 value Value of the field 1..n
*For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid and Electricity all the attributes are MANDATORY, for others
only "amount" is MANDATORY.
<xs:annotation>
<xs:documentation>402 API Response</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="TxnStatusResponse">
<xs:sequence>
<xs:element type="bbps:headType" name="Head" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:reasonType" name="Reason" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:txnType" name="Txn" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:billDetailsType" name="BillDetails" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:billerResponseType" name="BillerResponse" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:additionalInfoType" name="AdditionalInfo" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</bbps:BillValidationRequest>
3.1.3 responseReason Description of the response code – possible values are "Successful" 1..1
or "Failure"
3.1.4 complianceRespCd Carries the compliance code indicating the reason for a failed 0..1
transaction – not required for a successful transaction
5.1.5 complianceReason Description of the compliance code – not required for a successful 0..1
transaction
6.1 <AdditionalInfo> Validation response parameters sent by the Biller for a successful 0..1
transaction, i.e., response code is ‘000’
6.2 <AdditionalInfo.Tag> Additional Information related tag indicating the validation 1..n
identifier provided by the Biller
6.2.1 name Name of the field assigned by the Biller 1..n
6.2.2 value Value of the field 1..n
<errorDtl>Head Timestamp gap between BBPCU and OU is more than acceptable tolerance.</errorDtl>
</errorMessages>
</bbps:ResDiagnostic>
The basic idea here is to proactively intimate the OUs about any status change arising out to assignment,
reassignment, closure without having them to depend on the CANVAS access.
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="TxnSearchDateCriteria">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="fromDate" use="required" />
<xs:attribute type="xs:string" name="toDate" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Credit Card</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Prepaid Card</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>IMPS</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Cash</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>No</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>UPI</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Wallet</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>NEFT</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>AEPS</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Account Transfer</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>Bharat QR</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentModes>
<paymentMode>USSD</paymentMode>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentModes>
<billerPaymentChannels>
<paymentChannel>INT</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>INTB</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>MOB</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>MOBB</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>POS</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>MPOS</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>ATM</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>BNKBRNCH</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>No</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>KIOSK</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>Yes</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>AGT</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>No</supportPendingStatus>
</billerPaymentChannels>
<billerPaymentChannels>
<paymentChannel>BSC</paymentChannel>
<minLimit>1</minLimit>
<supportPendingStatus>No</supportPendingStatus>
</billerPaymentChannels>
<billerCustomerParams>
<paramName>Customer Mobile Number</paramName>
<dataType>NUMERIC</dataType>
<optional>true</optional>
<minLength>10</minLength>
<maxLength>10</maxLength>
<regex>^[6-9]{1}[0-9]{9}$</regex>
<visibility>true</visibility>
</billerCustomerParams>
<billerCustomerParams>
<paramName>Email ID</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
<minLength>3</minLength>
<maxLength>70</maxLength>
<visibility>true</visibility>
</billerCustomerParams>
<billerCustomerParams>
<paramName>Id</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
<visibility>false</visibility>
</billerCustomerParams>
<customerParamGroups>
<group name="Group1.1" input="1">
<param>Customer Mobile Number</param>
<group name="Group1.2" input="1">
<param>Email ID</param>
</group>
</group>
</customerParamGroups>
<billerResponseParams>
<amountOptions>
<amountBreakupSet>BASE_BILL_AMOUNT</amountBreakupSet>
</amountOptions>
</billerResponseParams>
<billerAdditionalInfo>
<paramName>Package Name</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
</billerAdditionalInfo>
<billerAdditionalInfo>
<paramName>Package Duration</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
</billerAdditionalInfo>
<billerAdditionalInfo>
<paramName>Package Price</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
</billerAdditionalInfo>
<billerAdditionalInfoPayment>
<paramName>URL</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>true</optional>
</billerAdditionalInfoPayment>
<interchangeFeeConf>
<mti>PAYMENT</mti>
<responseCode>000</responseCode>
<fees>EBF</fees>
<fees>CCF</fees>
<defaultFee>true</defaultFee>
<effctvFrom>20180925</effctvFrom>
</interchangeFeeConf>
<interchangeFeeConf>
<mti>PAYMENT</mti>
<paymentChannel>AGT</paymentChannel>
<responseCode>000</responseCode>
<fees>PBF</fees>
<fees>CCF</fees>
<defaultFee>false</defaultFee>
<effctvFrom>20180925</effctvFrom>
</interchangeFeeConf>
<interchangeFeeConf>
<mti>PAYMENT</mti>
<paymentChannel>BNKBRNCH</paymentChannel>
<responseCode>000</responseCode>
<fees>PBF</fees>
<fees>CCF</fees>
<defaultFee>false</defaultFee>
<effctvFrom>20180925</effctvFrom>
</interchangeFeeConf>
<interchangeFeeConf>
<mti>PAYMENT</mti>
<paymentChannel>BSC</paymentChannel>
<responseCode>000</responseCode>
<fees>PBF</fees>
<fees>CCF</fees>
<defaultFee>false</defaultFee>
<effctvFrom>20180925</effctvFrom>
</interchangeFeeConf>
<interchangeFee>
<feeCode>PBF</feeCode>
<feeDesc>Biller Fee</feeDesc>
<feeDirection>B2C</feeDirection>
<interchangeFeeDetails>
<tranAmtRangeMax>9223372036854775807</tranAmtRangeMax>
<tranAmtRangeMin>0</tranAmtRangeMin>
<percentFee>0.00</percentFee>
<flatFee>500</flatFee>
<effctvFrom>2018-09-25</effctvFrom>
<effctvTo />
</interchangeFeeDetails>
</interchangeFee>
<interchangeFee>
<feeCode>CCF</feeCode>
<feeDesc>Customer Convenience Fee</feeDesc>
<feeDirection>C2B</feeDirection>
<interchangeFeeDetails>
<tranAmtRangeMax>9223372036854775807</tranAmtRangeMax>
<tranAmtRangeMin>0</tranAmtRangeMin>
<percentFee>0.00</percentFee>
<flatFee>0</flatFee>
<effctvFrom>2018-09-25</effctvFrom>
<effctvTo />
</interchangeFeeDetails>
</interchangeFee>
<interchangeFee>
<feeCode>EBF</feeCode>
<feeDesc>Biller Fee</feeDesc>
<feeDirection>B2C</feeDirection>
<interchangeFeeDetails>
<tranAmtRangeMax>9223372036854775807</tranAmtRangeMax>
<tranAmtRangeMin>0</tranAmtRangeMin>
<percentFee>0.00</percentFee>
<flatFee>250</flatFee>
<effctvFrom>2018-09-25</effctvFrom>
<effctvTo />
</interchangeFeeDetails>
</interchangeFee>
<Status>ACTIVE</Status>
<billerDescription>Sample Biller MDM Response</billerDescription>
<supportDeemed>Yes</supportDeemed>
<supportPendingStatus>Yes</supportPendingStatus>
<billerTimeOut>120</billerTimeOut>
<planMdmRequirement>MANDATORY</planMdmRequirement>
<planAdditionalInfo>
<paramName>Package Name</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>false</optional>
</planAdditionalInfo>
<planAdditionalInfo>
<paramName>Package Duration</paramName>
<dataType>ALPHANUMERIC</dataType>
<optional>false</optional>
</planAdditionalInfo>
</biller>
</bbps:BillerFetchResponse>
<xs:complexType name="searchType">
<xs:sequence>
<xs:element type="xs:string" name="billerId" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="billerName" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="billerCategoryName" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="paymentMode" minOccurs="0" maxOccurs="unbounded" />
<xs:element type="xs:string" name="paymentChannel" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="searchByTime">
<xs:sequence>
<xs:element type="xs:string" name="time" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="searchMyBiller">
<xs:attribute type="bbps:myBiller" name="mybiller" />
</xs:complexType>
<xs:simpleType name="myBiller">
<xs:restriction base="xs:string">
<xs:enumeration value="Yes" />
<xs:enumeration value="No" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
3.12 <biller.fetchRequirement Indicates if the Biller allows Bill Fetch or not – possible values are 1..1
> MANDATORY, OPTIONAL, NOT_SUPPORTED
3.13 <biller.supportBillValidat Indicates if the Biller allows Bill Validation or not – possible values 1..1
ion> are MANDATORY, OPTIONAL, NOT_SUPPORTED
3.14 <biller.paymentAmountE Indicates if the Biller (having Mandatory Bill Fetch) allows exact 0..1
xactness> payment or not – possible values are Exact, Exact and above, Exact
and below
3.15 <biller.billerEffctvFrom> Effective from date of the Biller 1..1
3.16 <biller.billerEffctvTo> Effective to date of the Biller 1..1
3.17 <biller.billerTempDeactiv Temporary deactivation start date of the Biller 1..1
ationStart>
3.18 <biller.billerTempDeactiv Temporary deactivation end date of the Biller 1..1
ationEnd>
3.19 <biller.billerPaymentMo Payment mode details of the Biller 1..n
des>
3.19.1 <biller.billerPaymentMo Payment modes supported by the Biller 1..1
des.paymentMode>
3.19.2 <biller.billerPaymentMo Maximum limit accepted by a Biller for a particular payment mode 0..1
des.maxLimit>
3.19.3 <biller.billerPaymentMo Minimum limit accepted by a Biller for a particular payment mode 1..1
des.minLimit>
3.19.4 <biller.billerPaymentMo Flag indicating whether Pending Status is applicable for the 0..1
des.supportPendingStat payment mode or not – Yes/No
us>
3.20 <biller.billerPaymentCha Payment channel details of the Biller 1..n
nnels>
3.20.1 <biller.billerPaymentCha Payment channels supported by the Biller 1..1
nnels.paymentChannel>
3.20.2 <biller.billerPaymentCha Maximum limit accepted by a Biller for a particular payment 0..1
nnels.maxLimit> channel
3.20.3 <biller.billerPaymentCha Minimum limit accepted by a Biller for a particular payment 1..1
nnels.minLimit> channel
3.20.4 <biller.billerPaymentCha Flag indicating whether Pending Status is applicable for the 0..1
nnels.supportPendingSta payment channel or not – Yes/No
tus>
3.21 <biller.billerCustomerPar Customer parameter details of the Biller 1..n
ams>
3.21.1 <biller.billerCustomerPar Customer parameter name 1..1
ams.paramName>
3.21.2 <biller.billerCustomerPar Customer parameter data type 1..1
ams.dataType>
3.21.3 <biller.billerCustomerPar Flag indicating if the Customer parameter is optional 1..1
ams.optional>
3.21.4 <biller.billerCustomerPar Minimum length of the Customer parameter 0..1
ams.minLength>
3.21.5 <biller.billerCustomerPar Maximum length of the Customer parameter 0..1
ams.maxLength>
o.dataType>
3.34.3 <biller.planAdditionalInf Flag indicating if the plan additional information parameter is 1..1
o.optional> optional
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PlanMDMRequirement">
<xs:restriction base="xs:string">
<xs:enumeration value="MANDATORY" />
<xs:enumeration value="OPTIONAL" />
<xs:enumeration value="NOT_SUPPORTED" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>Credit_Card</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>Prepaid_Card</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>IMPS</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>Cash</paymentMode>
<maxLimit>4999900</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>UPI</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>Wallet</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>NEFT</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>AEPS</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentModes>
<paymentMode>Account_Transfer</paymentMode>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentModes>
<agentPaymentChannels>
<paymentChannel>Agent</paymentChannel>
<maxLimit>20000000</maxLimit>
<minLimit>1</minLimit>
</agentPaymentChannels>
<agentEffctvFrom>2017-08-30</agentEffctvFrom>
<agentEffctvTo />
<agentStatus>ACTIVE</agentStatus>
<agentTempDeactivationStart />
<agentTempDeactivationEnd />
<agentRefId>Physical Agent 1</ agentRefId >
<agentBulk>False</agentBulk>
<agentPinCode>400063</agentPinCode>
<agentRegisteredCity>Mumbai</agentRegisteredCity>
<agentRegisteredState>MAHARASHTRA</agentRegisteredState>
<agentRegisteredAddress>Hub mall</agentRegisteredAddress>
<agentRegisteredCountry>India</agentRegisteredCountry>
</Agent>
</bbps:AgentFetchResponse>
3.14 <Agent.agentPaymentM Minimum limit accepted by an Agent for a particular payment 1..1
odes.minLimit> mode
3.15 <Agent.agentPaymentCh Payment channel details of the Agent 1..1
annels>
3.16 <Agent.agentPaymentCh Payment channels supported by the Agent 1..1
annels.paymentChannel
>
3.17 <Agent.agentPaymentCh Maximum limit accepted by an Agent for a particular payment 0..1
annels.maxLimit> channel
3.18 <Agent.agentPaymentCh Minimum limit accepted by an Agent for a particular payment 1..1
annels.minLimit> channel
3.19 <Agent.agentBulk> Flag indicating if the Agent is configured through bulk upload 1..1
feature in BBPS Canvas (intranet portal).
3.20 <Agent.agentRefId> ID used by a BBPOU / Agent Institution to internally identify an 1..1
Agent
3.21 <Agent.agentPinCode> PIN Code of the Agent 1..1
3.22 <Agent.agentRegistered Registered city of the Agent 1..1
City>
3.23 <Agent.agentRegistered Registered state of the Agent 1..1
State>
3.24 <Agent.agentRegistered Registered address of the Agent 1..1
Address>
3.25 <Agent.agentRegistered Registered country of the Agent 1..1
Country>
3.26 <Agent.agentEffctvFrom Effective from date of the Agent 1..1
>
3.27 <Agent.agentEffctvTo> Effective to date of the Agent 1..1
3.28 <Agent.agentTempDeact Temporary deactivation start date of the Agent 1..1
ivationStart>
3.29 <Agent.agentTempDeact Temporary deactivation end date of the Agent 1..1
ivationEnd>
3.30 <Agent.agentStatus> Status of the Agent, i.e., active, deactivated, etc. 1..1
<xs:complexType name="agent">
<xs:sequence>
<xs:element type="xs:string" name="agentId" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentBusnsType" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentName" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentAliasName" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentLinkedAgentInst" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentGeoCode" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agent_shop_name" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agent_mobile_no" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentDummy" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:PaymentModeLimit" name="agentPaymentModes" minOccurs="1"
maxOccurs="unbounded" />
<xs:element type="bbps:PaymentChannelLimit" name="agentPaymentChannels" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentEffctvFrom" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentEffctvTo" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentStatus" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentTempDeactivationStart" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentTempDeactivationEnd" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentRefId" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:boolean" name="agentBulk" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentPinCode" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentRegisteredCity" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentRegisteredState" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentRegisteredAddress" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:string" name="agentRegisteredCountry" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentModeLimit">
<xs:sequence>
<xs:element type="xs:string" name="paymentMode" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:long" name="maxLimit" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:long" name="minLimit" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentChannelLimit">
<xs:sequence>
<xs:element type="xs:string" name="paymentChannel" minOccurs="1" maxOccurs="1" />
<xs:element type="xs:long" name="maxLimit" minOccurs="0" maxOccurs="1" />
<xs:element type="xs:long" name="minLimit" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</schema>
<amountInRupees>599</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premiun 6 Months Plan" />
<Tag paramName="Package Duration" paramValue="6 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>4</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>999</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premiun 12 Months Plan" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>5</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Club</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>365</amountInRupees>
<planDescription>TV shows before telecast, Select ZEE5 Originals, Select ALT Balaji Shows, Select Movies, Zindagi
TV Shows, Kids, Live TV. Watch on 2 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Club 12 Months Plan" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>1</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>1 Month</subType>
</categorySubType>
<amountInRupees>299</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Disney+ Movies, Hollywood Movies, Kids Content, English Shows, Disney+ Originals. Full HD Quality and
Stream on 2 devices simultaneously</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar Premium" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>2</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>1499</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Disney+ Movies, Hollywood Movies, Kids Content, English Shows, Disney+ Originals. Full HD Quality and
Stream on 2 devices simultaneously</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar Premium" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>3</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>VIP</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>399</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Dubbed Disney+ Movies Hollywood Movies Kids Content. HD Quality and Stream on 1
device</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar VIP" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>1</Id>
<billerId>NETFLIX00NAT01</billerId>
<categoryType>Mobile</categoryType>
<amountInRupees>199</amountInRupees>
<planDescription>Watch on 1 mobile phone or tablet at a time in Standard Definition. Download videos on 1
phone or tablet</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Netflix Mobile Plan" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>2</Id>
<billerId>NETFLIX00NAT01</billerId>
<categoryType>Basic</categoryType>
<amountInRupees>499</amountInRupees>
<planDescription>Watch on 1 screen (TV or Computer or Mobile Phone or Tablet) at a time in Standard
Definition. Download videos on 1 phone or tablet</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Netflix Basic Plan" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>3</Id>
<billerId>NETFLIX00NAT01</billerId>
<categoryType>Standard</categoryType>
<amountInRupees>649</amountInRupees>
<planDescription>Watch on 2 screens at a time in Full HD(1080p). Download videos on 2 phones or
tablets</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Netflix Standard Plan" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>4</Id>
<billerId>NETFLIX00NAT01</billerId>
<categoryType>Premium</categoryType>
<amountInRupees>799</amountInRupees>
<planDescription>Watch on 4 screens at a time in Full HD(1080p) and Ultra HD(4k). Download videos on 4 phones
or tablets</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Netflix Premium Plan" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
</bbps:BBPSPlanMDMPush>
9.4.2Ad-hoc Pull:
<?xml version="1.0" encoding="UTF-8"?>
<bbps:BBPSPlanMDMPull xmlns:bbps="http://bbps.org/schema">
<Head ver="1.0" ts="2021-02-10T18:20:12+05:30" origInst="BBCU"
refId="GSPOQDAUAEHBZPAJFONIJOTD1ZZ10411820" type="REQUEST" />
<Search>
<billerId>HOTSTAR00NAT01</billerId>
<billerId>NETFLIX00NAT01</billerId>
<billerId>ZEE500000NAT01</billerId>
</Search>
<SearchByTime>
<time>2020-11-01T00:00:00+05:30</time>
</SearchByTime>
</bbps:BBPSPlanMDMPull>
<categorySubType>
<subType>1 Month</subType>
</categorySubType>
<amountInRupees>99.0</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premium 1 Month Plan" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>2</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>3 Months</subType>
</categorySubType>
<amountInRupees>299.0</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premiun 3 Months Plan" />
<Tag paramName="Package Duration" paramValue="3 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>3</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>6 Months</subType>
</categorySubType>
<amountInRupees>599.0</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premiun 6 Months Plan" />
<Tag paramName="Package Duration" paramValue="6 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>4</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>999.0</amountInRupees>
<planDescription>All ZEE5 Originals and Exclusives, Blockbuster Movies, All ALT Balaji Shows, Zindagi TV Shows,
Kids, Live TV, TV shows before telecast. Watch on 5 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Premiun 12 Months Plan" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>5</Id>
<billerId>ZEE500000NAT01</billerId>
<categoryType>Club</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>365.0</amountInRupees>
<planDescription>TV shows before telecast, Select ZEE5 Originals, Select ALT Balaji Shows, Select Movies, Zindagi
TV Shows, Kids, Live TV. Watch on 2 devices at a time</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="ZEE5 Club 12 Months Plan" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>1</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>1 Month</subType>
</categorySubType>
<amountInRupees>299.0</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Disney+ Movies, Hollywood Movies, Kids Content, English Shows, Disney+ Originals. Full HD Quality and
Stream on 2 devices simultaneously</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar Premium" />
<Tag paramName="Package Duration" paramValue="1 Month" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>2</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>Premium</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>1499.0</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Disney+ Movies, Hollywood Movies, Kids Content, English Shows, Disney+ Originals. Full HD Quality and
Stream on 2 devices simultaneously</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar Premium" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
<PlanDetails>
<Id>3</Id>
<billerId>HOTSTAR00NAT01</billerId>
<categoryType>VIP</categoryType>
<categorySubType>
<subType>12 Months</subType>
</categorySubType>
<amountInRupees>399.0</amountInRupees>
<planDescription>Unlimited Live Sports, Hotstar Specials and Star serials before TV, Multiples and New Indian
Movies, Dubbed Disney+ Movies Hollywood Movies Kids Content. HD Quality and Stream on 1
device</planDescription>
<planAdditionalInfo>
<Tag paramName="Package Name" paramValue="Disney+ Hotstar VIP" />
<Tag paramName="Package Duration" paramValue="12 Months" />
</planAdditionalInfo>
<effctvFrom>2021-01-01</effctvFrom>
<effctvTo>2021-12-31</effctvTo>
<status>ACTIVE</status>
</PlanDetails>
</bbps:BBPSPlanMDMPush>
<Search>
<billerId>ZEE500000NAT01</billerId>
<billerId>HOTSTAR00NAT01</billerId>
<billerId>NETFLIX00NAT01</billerId>
</Search>
<SearchByTime>
<time>2021-02-04T10:00:00+05:30</time>
</SearchByTime>
</bbps:BBPSPlanMDMPull>
11 Acknowledgment
Sample ACK for Fetch & Payment APIs
<?xml version="1.0" encoding="UTF-8"?>
<bbps:Ack xmlns:bbps="http://bbps.org/schema" api="PAYMENT_REQUEST"
refId="LNMSQQR4RKT7X1UGPY7JGUV454PL9T2C689" msgId="HENSVVR4QOS7X1UGPY7JGUV444P10461713"
RspCd="Successful/VALIDATION_ERR/DUPLICATE_REQ" ts="2021-02-15T17:13:46+05:30">
<errorMessages>
<errorCd>CPR001</errorCd>
<errorDtl> CustomerParams mandatory</errorDtl>
</errorMessages>
</bbps:Ack>
Acknowledgment XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bbps="http://bbps.org/schema"
targetNamespace="http://bbps.org/schema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="BBPS-Common.xsd" />
<xs:element name="Ack">
<xs:complexType>
<xs:sequence>
<xs:element name="errorMessages" type="bbps:errorMessage" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="api" type="xs:string" />
<xs:attribute name="refId" type="xs:string" />
<xs:attribute name="msgId" type="xs:string" />
<xs:attribute name="rspCd" type="xs:string" />
<xs:attribute name="ts" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:schema>
12 BBPS Common
BBPS Common XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bbps="http://bbps.org/schema"
targetNamespace="http://bbps.org/schema" elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:simpleType name="custIdentityConstant">
<xs:restriction base="xs:string">
<xs:enumeration value="EMAIL" />
<xs:enumeration value="PAN" />
<xs:enumeration value="AADHAAR" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="transactionType">
<xs:restriction base="xs:string">
<xs:enumeration value="FORWARD TYPE REQUEST" />
<xs:enumeration value="REVERSAL TYPE REQUEST" />
<xs:enumeration value="FORWARD TYPE RESPONSE" />
<xs:enumeration value="REVERSAL TYPE RESPONSE" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="deviceTagNameType">
<xs:restriction base="xs:string">
<xs:enumeration value="MOBILE" />
<xs:enumeration value="GEOCODE" />
<xs:enumeration value="POSTAL_CODE" />
<xs:enumeration value="IP" />
<xs:enumeration value="INITIATING_CHANNEL" />
<xs:enumeration value="TERMINAL_ID" />
<xs:enumeration value="IMEI" />
</xs:simpleType>
<xs:complexType name="customerDtlsType">
<xs:sequence>
<xs:element name="Tag" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute type="xs:string" name="name" use="required" />
<xs:attribute type="xs:string" name="value" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="mobile" use="required" />
</xs:complexType>
<xs:complexType name="deviceType">
<xs:sequence>
<xs:element name="Tag" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:attribute type="bbps:deviceTagNameType" name="name" use="required" />
<xs:attribute type="xs:string" name="value" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="agentType">
<xs:sequence>
<xs:element type="bbps:deviceType" name="Device" />
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="required" />
</xs:complexType>
<xs:complexType name="billerType">
<xs:attribute type="xs:string" name="id" use="required" />
</xs:complexType>
<xs:complexType name="customerParamsType">
<xs:sequence>
<xs:element name="Tag" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:attribute type="xs:string" name="name" use="required" />
<xs:attribute type="xs:string" name="value" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="billDetailsType">
<xs:sequence>
<xs:element type="bbps:billerType" name="Biller" minOccurs="1" maxOccurs="1" />
<xs:element type="bbps:customerParamsType" name="CustomerParams" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<!-- Modified by Nancy K on 17-SEP-2019 ( For New categories other than due amount all are optional ) -->
<xs:complexType name="billerResponseType">
<xs:sequence>
<xs:element name="Tag" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:attribute type="xs:string" name="name" use="required" />
<xs:attribute type="xs:string" name="value" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>kQYYeIFygZzHrwGxxfcah8YNO2QROfW7k85yeSK0YkE=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>VzOIbjYChpNmoCfq4GmY1w33Vnt2envQNBDUERfQLWXwe/pzNXK6cRQcZONUPi3SBmdu9Iyv8vTx
R+rPfNian+wEpuReOm23CuyasgtTGp+uf3QIyqhlCuZlR65ZfUhpFEraShYdRIOzfGFAiyGnG7Fl
Ilf4q/7mgCQjOw7/paAFiK0h5ERT909PeArLL4isA6KOkindYpTOkAyAGC3t2AJDVJP4SujHbRwx
BmcdPbfvMt6aY3n/u5pL/d6XlebWW2l6DhIGSTSBrwx+S2l9EvkRJvKZncNJDbWdUKy2mM0H4YSD
javG0rqE2u5CPftUWvHxiiwwqizyOEKMILMOyg==</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>vCidzRWCs8Mukb1E/R1JGCgexwhiDfQDuO0tPHXgX+SDdBptkr+1ThjSBW2D+kH6ZLc22EAL9o/o
zBVIJgWwMw4b0LlsdK0dEYjZiFiwFY1AlO4kLB48J2PwZ5Ly2ADKP+CzpZ7YhPNUz7tGCqiKyM3E
IXWqvzS1Yb4+zYardGBtUkLAJDNDltSgyDe/Fb27viTTxsps2rTZ7VZCWRGyCON5F149EVXnVFUt
SD1oye1x1IxDcfYEc49OAa+BZiheGMpNpzkCR263CFbe0UnQbuQwz9eaoPuCn5tQBxFv5v4/Ho1W
zbTZBSSf2Ow1N6fqXzWLw444Ea5ftyNpDq+HUw==</Modulus>
<Exponent>Aw==</Exponent>
</RSAKeyValue>
</KeyValue>
</KeyInfo>
</Signature>
For all the above response codes, there will be corresponding compliance response codes and compliance reasons.
Compliance response code will follow the following nomenclature.
All the compliance codes and their reasons will be accessible through a table and any modification to the list will be
possible.
BBPCU Declines
Under BBPCU declines, there will be list of compliance codes and compliance reasons for each tag / attribute. Please
note that the following terms have been used interchangeably in the following table:
BBPCU and CU
Customer BBPOU and Customer OU / COU
Biller BBPOU and Biller OU / BOU
Leg Scenario Fetch / Validation Payment
COU CU CU receives malformed CU declines COU request with a negative CU declines COU request with a negative
request from COU. ACK. ACK.
(beyond timeout
period) TYPE: FORWARD TYPE RESPONSE
Positive ACK by BOU
but not reaching CU
Any other generic reason CU initiates a Response Code 001 and CU initiates a Response Code 001 and
for request failure to Response Reason "Failure" decline to Response Reason "Failure" decline to
BOU, e.g., Connection COU. COU.
Reset, Connection
Refused, Bad Gateway, Compliance Response Code will be Compliance Response Code will be
Internal Server Error, BOU008 and Compliance Reason will carry BOU008 and Compliance Reason will carry
Null Pointer Exception, "Unable to Connect to BOU". "Unable to Connect to BOU".
etc.
TYPE: FORWARD TYPE RESPONSE
BOU is temporarily down CU initiates a Response Code 001 and CU initiates a Response Code 001 and
(BOU is not sending Response Reason "Failure" decline to Response Reason "Failure" decline to
diagnostic request). COU. COU.
retry within the timeout BOU002 and Compliance Reason will carry
period. Yet, there is no "<all the Error Codes from Negative Compliance Response Code will be
proper response from ACK>". BOU002 and Compliance Reason will carry
BOU within this timeout "<all the Error Codes from Negative
period. ACK>".
Pending applicable:
For a failed BOU -> CU response: For a failed BOU -> CU response:
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 003 and Response a Response Code 003 and Response
Reason "Failure". Reason "Failure".
For a failed BOU -> CU response: For a failed BOU -> CU response:
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 003 and Response a Response Code 003 and Response
Reason "Failure". Reason "Failure".
For a failed BOU -> CU response: For a failed BOU -> CU response:
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 003 and Response a Response Code 003 and Response
Reason "Failure". Reason "Failure".
For a failed BOU -> CU response: For a failed BOU -> CU response:
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 003 and Response a Response Code 003 and Response
Reason "Failure". Reason "Failure".
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 000 and Response a Response Code 000 and Response
Reason "Successful". Reason "Successful".
For a failed BOU -> CU response: For a failed BOU -> CU response:
CU closes and records the transaction with CU closes and records the transaction with
a Response Code 003 and Response a Response Code 003 and Response
Reason "Failure". Reason "Failure".
For the Billers, which does not support deemed success; the existing response codes and compliance codes will be
applicable (as mentioned below).
Leg Scenario Fetch / Validation Payment
CU COU Send Failed for response CU closes and records the transaction with CU will initiate a Reversal request to BOU.
sent to COU. a Response Code 001 and Response BOU will send a Reversal Response with
Reason “Failure”. Response Code 103 and Response Reason
Compliance Response Code will be “Failure”. On its way back to COU, the CU
COU001 and Compliance Reason will carry populates Compliance Response Code as
“Send Failed to COU”. COU001 and Compliance Reason will carry
“Send Failed to COU”.
If COU is down at that moment, it will be
retried till the point it is successfully
delivered.
delivered.
200 BPR009 Scheduled downtime taken by biller for maintenance activity. Please try again later
200 BPR010 Unscheduled downtime taken by biller for maintenance activity. Please try again later
200 BPR011 Payment Amount is different from current outstanding Amount
200 BPR012 FASTag Top-up is failed, Please try again later
Bill Validation
200 BVR001 Incorrect / invalid Customer account
200 BVR002 Invalid combination of Customer parameters
200 BVR003 Customer account is blocked / closed
200 BVR004 Customer account is not activated
200 BVR005 Invalid Amount
200 BVR006 Customer account deactivated - pay Rs. <xxx> to activate account
200 BVR007 Incomplete details in Biller system - update Customer profile
200 BVR008 Customer account valid but no bill due
200 BVR009 Technical exception from biller
200 Future Incorrect / Invalid Plan ID
Purpose
200 Future No recharge found for Plan ID and Customer account combination
Purpose
MTI Scenario Expected Biller Response Parameters Expected Reason Block Codes
Fetch Incorrect / invalid Biller Response block not required Response Code = 200
customer account Response Reason = Failure
Compliance Response Code = BFR001
Compliance Reason = Incorrect / invalid
customer account
Fetch Customer account is valid & Biller Response block not required Response Code = 200
bill data is not available Response Reason = Failure
Compliance Response Code = BFR003
Response Code = No bill data available
Fetch Customer account is Biller Response block not required Response Code = 200
valid & no bill due Response Reason = Failure
Compliance Response Code = BFR004
Compliance Reason = Payment received
for the billing period - no bill due
Payment Bill pay without fetch Customer Name = As Is (NA if Response Code = 000
Customer Name in unavailable) Response Reason = Successful
Amount = <copy amount value Compliance Response Code = <blank>
from BP Req> Compliance Reason = <blank>
Due Date = 0001-01-01
Bill Date = 0001-01-01
Bill Number = NA
Bill Period = NA
Customer Convenience Fee =
Payment Customer account not Biller Response block not required Response Code = 200
found Response Reason = Failure
Compliance Response Code = BPR001
Compliance Reason = Incorrect / invalid
customer account
List of Compliance Codes which has to be populated at the time of Customer BBPOU rejections are as follows:
Compliance Code Compliance Description
BFS001 Front end channel unavailable
BFS002 Customer has initiated reversal
BFS003 Receipt not generated
BFS004 Unable to process transaction internally
For the Billers, which does not support Deemed Success, when the Payment request initiated from Customer OU is
processed successfully and a positive response is provided by the Biller OU (Legs 1 – 3). For some reason (COU001 or
COU002) when Leg 4 of the transaction fails, CU will generate a Reversal Request and send it to the BOU (Leg 5). BOU
then generates a Reversal Response to BOU (Leg 6) which is ultimately forwarded to the COU (Leg 7).
All these “open” transactions (both FETCH and PAYMENT) without any assigned Response or Compliance Codes in
the transaction table even after a significant period of time. Such transactions need to be force closed by CU (moved
from transaction to reporting tables) after a certain interval (say, a configurable value of 4 hours) using the following
combination of Response and Compliance Codes.
S. Description Response Response Compliance Compliance Reason*
No. Code Reason Code
1 CU is not able to connect to the BOU for 100 Failure BOU004 <COU001/COU002>,
forwarding the Reversal Request BOU Reversal Retry Failure
2 BOU has not provided an ACK for the 100 Failure BOU004 <COU001/COU002>,
Reversal Request BOU Reversal Retry Failure
3 BOU has provided a negative ACK for the 100 Failure BOU004 <COU001/COU002>,
Reversal Request BOU Reversal Retry Failure
4 BOU has acknowledged the Reversal 100 Failure BOU005 <COU001/COU002>,
Request, but has not sent or has sent a BOU Reversal Response Timeout
malformed Reversal Response
5 CU is not able to connect to the COU for 100 Failure COU003 <COU001/COU002>,
forwarding the Reversal Response COU Reversal Retry Failure
6 COU has not provided an ACK for the 100 Failure COU003 <COU001/COU002>,
Reversal Response COU Reversal Retry Failure
7 COU has provided a negative ACK for the 100 Failure COU003 <COU001/COU002>,
Reversal Response COU Reversal Retry Failure
For the Billers which does not support Deemed Success
The revised CU decline scenarios effectively eliminate the Reversal legs because of the manner in which a failure in
Leg 4 of the transaction is handled for the billers which support Deemed Success. Thus, some transactions remaining
incomplete in the transaction table (OLTP) if one of Legs 5, 6 or 7 fails will no longer be a possibility and will not
require any forced closure by CU.
However, there may be exceptional scenarios like some “open” transactions (both FETCH and PAYMENT) without
any assigned Response or Compliance Codes in the transaction table even after a significant period of time. Such
transactions need to be force closed by CU (moved from transaction to reporting tables) after a certain interval (say,
a configurable value of 4 hours) using the following combination of Response and Compliance Codes.
S. No. Description Response Code Response Reason Compliance Code Compliance Reason
1 Leg 2 (CU to BOU) failure 100 Failure BOU001 Send Failed to BOU
2 Leg 3 (BOU to CU) failure 100 Failure BOU003 Timeout at BOU
3 Leg 4 (CU to COU) failure As sent by BOU As sent by BOU COU001 Send Failed to COU
For the Billers which support Deemed Success
For Leg 4 failure, system will consider the response given by the BOU as the final status for the biller which support
deemed success even for force closure.
Currently, for re-attempting a payment, in case of non CU rejected payment transactions, COUs are expected to re-
fetch the bill (or re-validate the customer params) and then initiate a payment for the same.
Basis the market feedback, we are allowing the Fetch response to be re-utilized only for registered customers, till
payment is successfully posted within 2 days of first try of the Payment. However, if COUs intend to reuse the
Validation response for making multiple retries till payment is successful, the ageing period will be 24 hrs of
successful Validation. In order to reutilize the Fetch/Validation response for multiple payment retries, COUs will be
required to pass siTxn attribute value as ‘Yes’ in all the payment requests mandatorily.
5. For first payment request COUs will be required to pass only the ref ID along with siTxn tag value as 'Yes'. In
case the payment was failed in BBPS (not CU rejection), COUs can reutilize the fetch/validation response,
however, COUs will be required to pass OrigRefId (original Ref ID will be the ref ID of the first attempt) along
with unique reference ID for each subsequent payment request.
6. For re-utilization of Fetch, there will be an ageing period of 2 days for reattempting payment using the
original reference ID. Ageing period for reutilization of fetch will start from the day of first payment request
made and the ageing period is in days.
7. For re-utilization of Validation, the ageing period will be 24 hrs from the Successful Validation done.
8. If COUs are going to retry payment using the origRefId, in case of first or other subsequent payment
failure(s), COUs should not send any communication (SMS/Email) to customer regarding the fate of
transaction i.e. transaction reference Id. COUs should only provide the information/status of the last
legitimate retry. COUs can provide acknowledgement that the transaction is in progress.
9. Once successful payment has been done, COUs has to send the communication (SMS/Email) to customer
related to transaction (i.e. transaction reference Id, status, etc.), which can be used for Transaction Status
Check, Complaint Registration.
10. If there are multiple payment tries, only the last transaction ref ID will be used for Complaints registration
and Disputes.
11. Additional tag origRefId will appear in the RAW file(s). All the entities who have automated their
reconciliation process needs to take cognisance of the change and act appropriately.
2 ONLINE T NOT_SUPPORTED OPTIONAL Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
NOT_SUPPORTED OPTIONAL Yes (T/F) No Payment against validation can also be done for any amount.
3 ONLINE T NOT_SUPPORTED MANDATORY Yes (T/F) No Payment against validation can also be done for any amount.
4 ONLINE T NOT_SUPPORTED NOT_SUPPORTED Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
5 ONLINE T MANDATORY - - No Ad-hoc Payment cannot be done. Payment against fetch can
be done for any amount.
7 OFFLINE A T OPTIONAL - - Yes Ad-hoc Payment can be done (for any amount).
OPTIONAL - - No Payment against fetch can also be done for any amount.
8 OFFLINE A T NOT_SUPPORTED OPTIONAL Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
NOT_SUPPORTED OPTIONAL Yes (T/F) No Payment against validation can also be done for any amount.
9 OFFLINE A T NOT_SUPPORTED MANDATORY Yes (T/F) No Payment against validation can also be done for any amount.
10 OFFLINE A T NOT_SUPPORTED NOT_SUPPORTED Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
11 OFFLINE A T MANDATORY - - No Ad-hoc Payment cannot be done. Payment against fetch can
be done for any amount.
13 OFFLINE B T NOT_SUPPORTED OPTIONAL Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
NOT_SUPPORTED OPTIONAL Yes (T/F) No Payment against validation can also be done for any amount.
14 OFFLINE B T NOT_SUPPORTED MANDATORY Yes (T/F) No Payment against validation can also be done for any amount.
15 OFFLINE B T NOT_SUPPORTED NOT_SUPPORTED Yes (T/F) Yes Ad-hoc Payment can be done (for any amount).
There might be a scenario where a Biller may pass on various amount values as part of Bill Fetch Response like Early
or Late Payment. These values are applicable only when all the conditions below hold true for a Biller:
1. Fetch is MANDATORY
2. Ad-hoc field is false
3. Biller accepts Exact payment
paramName:"A","dataType":"NUMERIC","optional":true},
paramName:"B","dataType":"NUMERIC","optional":true},
paramName:"C","dataType":"NUMERIC","optional":true},
"amountOptions":[
{"amountBreakupSet":["BASE_BILL_AMOUNT"]},
{"amountBreakupSet":["A"]},
{"amountBreakupSet":["B"]},
{"amountBreakupSet":["C"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","A"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","B"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","C"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","A","B"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","A","C"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","A","B","C"]},
{"amountBreakupSet":["BASE_BILL_AMOUNT","B","C"]},
{"amountBreakupSet":["A","B"]},
{"amountBreakupSet":["A","C"]},
{"amountBreakupSet":["A","B","C"]},
{"amountBreakupSet":["B","C"]}]
For the given amount breakup set, following calculations are possible.
Now, for the scenarios mentioned in the table, the amount block varies accordingly as shown below:
Scenario 1:
<Amount>
<Amt amount="200" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
</Amount>
Scenario 2:
<Amount>
<Amt amount="50" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
</Amount>
Scenario 3:
<Amount>
<Amt amount="75" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="B" value="75" />
</Amount>
Scenario 4:
<Amount>
<Amt amount="25" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="C" value="25" />
</Amount>
Scenario 5:
<Amount>
<Amt amount="250" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
</Amount>
Scenario 6:
<Amount>
<Amt amount="275" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="B" value="75" />
</Amount>
Scenario 7:
<Amount>
<Amt amount="225" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="C" value="25" />
</Amount>
Scenario 8:
<Amount>
<Amt amount="325" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="B" value="75" />
</Amount>
Scenario 9:
<Amount>
<Amt amount="275" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="C" value="25" />
</Amount>
Scenario 10:
<Amount>
<Amt amount="350" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="B" value="75" />
<Tag name="C" value="25" />
</Amount>
Scenario 11:
<Amount>
<Amt amount="300" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="B" value="75" />
<Tag name="C" value="25" />
</Amount>
Scenario 12:
<Amount>
<Amt amount="125" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="B" value="75" />
</Amount>
Scenario 13:
<Amount>
<Amt amount="75" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="C" value="25" />
</Amount>
Scenario 14:
<Amount>
<Amt amount="150" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="A" value="50" />
<Tag name="B" value="75" />
<Tag name="C" value="25" />
</Amount>
Scenario 15:
<Amount>
<Amt amount="100" currency="356" custConvFee="calculated as per config" COUcustConvFee="as charged by COU
from Customer" />
<Tag name="B" value="75" />
<Tag name="C" value="25" />
</Amount>
19 Fee Configuration
Interchange Fee
Generally, it is proposed that Customer Operating Unit (Customer BBPOU) and the Biller Operating Unit (Biller
BBPOU) would share a fee that would either be charged to the Biller and / or to the customer for bill payment
transactions.
An interchange fee code needs to be configured for a Category or Category & Biller. The fee could be slab-based,
however, the amount ranges should not overlap and neither should there be any gap between a maximum amount
of one slab and a minimum amount of the next higher slab. A flat fee, percent fee or a combination of both may be
applicable while configuring these fee codes in a particular direction (C2B or B2C). An illustrative example is provided
below.
Biller Biller ID Fee Tran. Amount Tran. Amount Percentage Fee Flat Fee Fee
Category Code Range (Min) Range (Max) (in percentage) (in Paisa) Direction
When flat fee or percent fee field value is zero for a particular fee code, the system will consider that particular
component to be zero while calculating fee.
For a particular Fee Code, system will ensure only one scenario to be applied to Biller Category, Biller, MTI, Response
Code and Channel combination in one direction, i.e., from Customer to Biller BBPOU or vice-versa, in the Interchange
Fee Config table. This implies that these fee combinations are mutually exclusive, i.e., only one of these combinations
can exist at a time. The table below illustrates the following:
Biller Category Biller ID MTI Payment Channel Response Code Fees Default Flag
A combination of Biller Category, Response Code and MTI are mandatory fields while Biller ID and Channel are
optional fields.
For a combination of Biller Category (Mobile Postpaid), Biller (VODA00000NAT01), Response Code (000), MTI
(PAYMENT), and Channels (Bank Branch, Agent & Business Correspondent) CCF and PBF are applicable. Ceteris
paribus, for any other Channel, CCF and EBF are applicable since the default indicator is true.
If the system is not able to uniquely identify a combination of Biller Category, Biller, MTI, Response Code and
Channel, then it will perform computations based on the condition default flag = TRUE for the Biller Category,
Biller, Response Code and MTI combination.
Duplicate configuration will not be allowed for any interchange fee.
A Response Code ‘000’ identifies a successful transaction.
The default flag is true only for one unique combination of Biller Category, Biller, MTI, Response Code and
Channel.
The Interchange Fee Config table comprises of the following major fields:
Interchange fee can be configured and authorized by the authorized BBPCU Admin / User. On the basis of these
parameters and the applicable fee rate table items, the interchange fee, along with the fee direction will be
computed for the respective BBPOUs. Front end configuration will be given to the authorized Canvas user for adding,
modifying or deleting interchange fee structure with maker / checker option. Maker can only configure the
interchange fee and once approved by the checker, relevant changes will be reflected in the respective tables.
Interchange fee that has been charged during the original transaction will be reversed when any action results in a
fund movement in the opposite direction. When a transaction reversal is done, the interchange fee will be taken
from the bill payment. This could mean that the interchange fee being reversed will not differ from the original
interchange fee charged. In case of disputed transactions, the interchange fee of the originating payment transaction
will be referred to and be applied in the opposite direction.
Note: In case of Refund Good Faith Partial, only percentage fee will be reversed, flat fee won’t be reversed.
20 BBPS IDs
ID Generation Stages
Online & Offline (A) Online & Offline (A) Offline (B)
Identification Generator Bill Fetch Bill Fetch Payment Payment Payment Payment
Request Response Request Response Request Response
msgID Customer Populated Carried Populated Carried Populated Carried
BBPOU by Customer From Bill by Customer From Bill by Customer From Bill
BBPOU Fetch BBPOU Payment BBPOU Payment
Request Request Request
Generation Logic
Identification Messages Length Type Logic Example Applicable
to BBPOU
Message ID Unique ID assigned by 35 Alphanumeric Random Alpha Numeric – 27 AWPNSPV Y
the initiating BBPOU Julian Date of the BPVPWDA
for chaining a request Transaction Initiation Date LTOMJSNB
and response message (YDDD) – 4 FQNOS104
Time of the Transation 31207
Initiation (HHMM) – 4
Reference ID / Unique ID assigned by 35 Alphanumeric Random Alpha Numeric – 27 BWPNSPV Y
Original the initiating BBPOU to Julian Date of the BPVPWDA
Reference ID unambiguously identify Transaction Initiation Date LTOMJSNB
the transaction which (YDDD) – 4 FQNOS104
is passed on, Time of the Transation 31207
unchanged, Initiation (HHMM) – 4
throughout the entire
end-to-end chain
Transaction Unique ID for all BBPS 12 / 20 Alphanumeric Customer BBPOU code - 4; OU015678 Y
Reference ID payment transactions Random alphanumeric – 8 9123
The Customer BBPOU may not be able pass on the payment mode details under certain circumstances. Then it may
follow the below format while passing payment information:
The BBPCU system sends the following files to BBPOUs as part of every settlement cycle, which typically happens
multiple times on every working day:
1. RAW File – Will be generated for OU & Participating AI if transactions available for Settlement (XML format)
2. Daily Settlement Report – Will be generated for OU & Participating AI (CSV & PDF formats)
3. Daily GST Report – Will be generated for OU (CSV & PDF formats)
4. Participating AI wise Aggregated Daily Report – Will be generated for OU (CSV & PDF formats)
5. Pending Transactions Report – Will be generated for OU & Participating AI (CSV & PDF formats)
The BBPCU also shares Monthly reports once a month with the BBPOUs:
All files are securely shared over HTTPS. To be able to receive these files, BBPOU systems must expose the below
APIs. Assuming a BBPOU name as OU12, and base URL of BBPOU system as https://a.b.c.d/context
URL Files Received MIME Type Method
https://a.b.c.d/context/csv Settlement Report: multipart/for POST
Example: 07001OU122016080400.csv m-data
Account Ledger:
Example: 85201607OU122016080400.csv
https://a.b.c.d/context/pdf Settlement Report:
Example: 07001OU122016080400.pdf
Account Ledger:
Example: 85201607OU122016080400.pdf
https://a.b.c.d/context/txt Raw Data File:
Example: 00001OU132016080400.xml
This file contains all transactions for the settlement cycle in XML
format, and the XML is signed
All APIs are expected to return an OK (200) status on successfully receiving a file.
The example mentioned in the file transfer process mentions a nomenclature https://a.b.c.d/context (context is just
indicative) and this in its entirety is assumed to be the endpoint URL. This is the same endpoint URL which BBPOUs
provide for transmission of online messages but in the form https://<IP_Address>:<Port_No>. Also, it is the same
location where the BBPOUs have deployed their respective BBPOU application.
Note: Please refer to Appendix 22.2 for details on the file naming convention for settlement related files.
23 Elements Description
Element: Root
Presence : Mandatory
Definition : XML root element representing each API.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Definition
BillFetchRequest The message is used for fetch request
BillFetchResponse The message is used for fetch response
BillPaymentRequest The message is used for payment request
BillPaymentResponse The message is used for payment response
TxnStatusRequest The message is used for transaction status request (for pending transactions)
TxnStatusResponse The message is used for transaction status response (for pending transactions)
BillValidationRequest The message is used for validation request
BillValidationResponse The message is used for validation response
ReqDiagnostic The message is used for diagnostic request
ResDiagnostic The message is used for diagnostic response
TxnStatusComplainRequest The message is used for transaction status and complaint related requests
TxnStatusComplainResponse The message is used for transaction status and complaint related responses
BillerFetchRequest The message is used for Biller MDM request
BillerFetchResponse The message is used for Biller MDM response
AgentFetchRequest The message is used for Agent MDM request
AgentFetchResponse The message is used for Agent MDM response
Ack The message is used for acknowledgement message
BBPSPlanMDMPush This message is used for Plan MDM Push
BBPSPlanMDMPull This message is used for Plan MDM Pull
BillerStatusUpdate This message is used for Biller Status Update
BillerActivationCheckRequest This message is used for Biller Activation Check Request from CU to BOU
BillerActivationCheckResponse This message is used for Biller Activation Check Response from BOU to CU
BillerStatusRequest This message is used for Biller Status Request
BillerStatusResponse This message is used for Biller Status Response
Attribute: xmlns
Presence : Mandatory
Definition : API Schema namespace.
Data Type : Alphanumeric
Format : Min Length – 1, Max Length – 255
Compliance : Namespace declaration used: xmlns:bbps="http://bbps.org/schema"
Element: <Head>
Presence : Mandatory
Definition : Header of the message.
Attribute: ver
Presence : Mandatory
Definition : Version of the API. This is the API version. NPCI may host multiple versions for supporting gradual
migration.
Data Type : Alphanumeric
Format : Min Length – 3, Max Length – 4
Compliance : Data format and type.
Currently the default production version is 1.0 with subsequent versions being 2.0, 3.0, etc.
Attribute: ts
Presence : Mandatory
Definition : Header timestamp will be populated at the time of creating the message which will be updated at
each leg of the transaction.
Data Type : ISODateTime
Format : Fixed Length – 25 i.e., YYYY-MM-DDThh:mm:ss+hh:mm (e.g. 2017-02-14T13:10:15+05:30)
Where,
YYYY = four-digit year
MM = two-digit month number (01 indicates January, etc.)
DD = two-digit day of month (01 through 31)
T = separator used between date and time
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
+hh:mm = time zone difference from GMT in hours and minutes. The default value of this
attribute is assumed to be IST (+05:30).
Compliance : Tolerance of +/- 299 seconds from the current BBPCU time for Bill Fetch and Bill Payment
messages. Since time stamp plays a critical role, it is highly recommended that BBPOU systems are
time synchronized with global NTP server.
Attribute: origInst
Presence : Mandatory
Definition : It is a unique code allocated by BBPCU for identifying the institution forwarding a message to
BBPCU. When BBPCU is the originator, the value is "BBCU".
Data Type : Alphanumeric
Format : Fixed Length – 4, e.g. OU12
Alpha – 2, Numeric – 2
Compliance : BBPOU ID allocated to the provider by BBPCU at the time of on-boarding.
Attribute: refId
Presence : Mandatory
Definition : Code generated by the BBPOU that acquires the customer for every bill fetch transaction initiated
and used across all messages. UUID logic defined by ISO to be used for generation of the reference
number.
Data Type : Alphanumeric
Format : Fixed Length – 35 (Random Alpha Numeric – 27, Julian Date of the Transaction Date (YDDD) – 4,
Time of the Transation Initiation (HHMM) – 4)
Compliance : Unique identification assigned by the initiating BBPOU to unambiguously identify the transaction
which is passed on, unchanged, throughout the entire end-to-end chain.
The reference ID should be same for fetch / validation and payment request as well as in response
for all transactions including reversals.
Attribute: siTxn
Presence : Conditional
Definition : Flad indicating Payment is for registered customers or not.
Data Type : Code Set
Format : Min Length – 2, Max Length – 3 (Yes / No)
Compliance : If Customer OUs intend to re-utilize the Fetch / Validaation, they need to pass siTxn attribute value
as 'Yes' in all the Payment requests.
Attribute: origRefId
Presence : Conditional
Definition : Code generated by the BBPOU that acquires the customer for a bill payment transaction initiated
in-case previous attempt was failed for a registered customer. UUID logic defined by ISO to be used
for generation of the reference number.
Data Type : Alphanumeric
Format : Fixed Length – 35 (Random Alpha Numeric – 27, Julian Date of the Transaction Date (YDDD) – 4,
Time of the Transation Initiation (HHMM) – 4)
Compliance : Unique identification assigned by the initiating BBPOU to unambiguously identify the transaction
which is passed on, unchanged, throughout the entire end-to-end chain.
For first payment request COUs will be required to pass only the refId along with siTxn value as 'Yes'.
In case the payment was failed in BBPS (not CU rejection), COUs can reutilize the fetch/validation
response, however, COUs will be required to pass origRefId (original Ref ID will be the refId of the
first attempt) along with unique reference ID for each subsequent payment request.
Element: <Analytics>
Presence : Optional
Definition : The data provided in the Meta element will be used for MIS and analytics purpose.
Element: <Analytics.Tag>
Presence : Conditional
Definition : The tag is defined in name value pairs to accommodate the MIS related parameters. It is mandatory
to have the following name-value pairs mentioned below.
Attribute: name
Presence : Conditional
Definition : The name attribute will have the values as defined in the code table.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Definition
FETCHREQUESTSTART The time at which the fetch request was initiated in the BBPOU system
FETCHREQUESTEND The time at which the fetch request was sent out from the BBPOU system
PAYREQUESTSTART The time at which the payment request was initiated in the BBPOU system
PAYREQUESTEND The time at which the payment request was sent out from the BBPOU system
Attribute: value
Presence : Conditional
Definition : Details of transaction initiated time and end time in the BBPOU system.
Data Type : ISODateTime
Format : Fixed Length – 25, i.e., YYYY-MM-DDThh:mm:ss+hh:mm (e.g. 2017-02-14T13:10:15+05:30)
Where,
YYYY = four-digit year
MM = two-digit month number (01 indicates January, etc.)
DD = two-digit day of month (01 through 31)
T = separator used between date and time
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
+hh:mm = time zone difference from GMT in hours and minutes. The default value of this
attribute is assumed to be IST (+05:30).
Compliance : Data format and type.
Element: <Txn>
Presence : Mandatory
Definition : This element contains the transaction details and is passed to all parties involved in the transaction
processing. This element is populated by the originator of the transaction and the same must be
passed across all the entities.
Attribute: ts
Presence : Mandatory
Definition : Transaction timestamp created by the initiating BBPOU which will remain constant throughout all
legs of the transaction.
Data Type : ISODateTime
Format : Fixed Length – 25 i.e., YYYY-MM-DDThh:mm:ss+hh:mm (e.g. 2017-02-14T13:10:15+05:30)
Where,
YYYY = four-digit year
MM = two-digit month number (01 indicates January, etc.)
DD = two-digit day of month (01 through 31)
T = separator used between date and time
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
+hh:mm = time zone difference from GMT in hours and minutes. The default value of this
attribute is assumed to be IST (+05:30).
Compliance : Tolerance of +/- 299 seconds from the current BBPCU time for Bill Fetch and Bill Payment
messages. Since time stamp plays a critical role, it is highly recommended that devices are time
synchronized with global NTP server.
Attribute: msgId
Presence : Mandatory
Definition : Code generated by the BBPOU that acquires the customer for every transaction initiated. UUID
logic defined by ISO to be used for generation of the reference number and is used for matching with
every request and response message.
Data Type : Alphanumeric
Format : Fixed Length – 35 (Random Alpha Numeric – 27, Julian Date of the Transaction Date (YDDD) – 4,
Time of the Transation Initiation (HHMM) – 4)
Compliance : Unique identification assigned by the initiating BBPOU for chaining a request and response
message. The ID should be same for request and response message.
Attribute: txnReferenceId
Presence : Conditional
Definition : This data element will contain a unique reference ID for all BBPS payment transactions. This will be
used by the Customer for referring to a payment transaction.
Data Type : Alphanumeric
Format : Fixed Length – 12 or 20
i) Originating Institution ID (Customer OU Id or Participating AI Id) - 04, Random alphanumeric - 08
ii) Originating Institution ID (Customer OU Id or Participating AI Id) - 04, Julian Date - 04 and Random
alphanumeric - 12
Compliance : This field is applicable for all payment transactions. COUs are expected to ensure that the Julian
date used is of Current Date.
Attribute: paymentRefId
Presence : Optional
Definition : This data element will contain a unique reference ID generated at the time of customer account
debit at PG.
Data Type : Alphanumeric
Format : Min Length – 4 & Max Length – 80
Compliance : This field is applicable for payment transactions.
Attribute: directBillChannel
Presence : Conditional
Definition : This data element will contain channel through which transaction was initiated in case of
QR/PayLink.
Data Type : Code Set
Format : L1QR/L1PL/L2QR/L2PL/L3QR/L3PL
Compliance : This field is applicable for QR/PayLink type of transactions.
Attribute: directBillContentId
Presence : Conditional
Definition : This data element will contain the unique content id of the QR/PL, generated by Biller. This is
required in case of L3{QR/PL}
Data Type : Alpha Numeric
Format : Min length – 12, Max length – 17 and First 5 digits should be valid Julian date
Compliance : This field is applicable for L3 QR/PayLink type of transactions.
Attribute: type
Presence : Conditional
Definition : This attribute describes the transaction type for a bill payment transaction.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Definition
FORWARD TYPE REQUEST Payment request transaction is in forward nature
REVERSAL TYPE REQUEST Payment request transaction is in reversal nature
FORWARD TYPE RESPONSE Response is sent to the forward type request
REVERSAL TYPE RESPONSE Response is sent to the reversal type response
Attribute: xchangeId
Presence : Conditional
Definition : Identification of the type of the request as listed in the following table.
Data Type : Code Set
Format : Fixed Length – 3
Compliance : Data format and type as follows:
Element: <Txn.RiskScores>
Presence : Mandatory
Definition : This element defines the risk evaluation associated with the transaction and the related parties in
the transaction.
Element: <Txn.RiskScores.Score>
Presence : Mandatory
Definition : Risk score related to the transaction and the entities.
Attribute: provider
Presence : Mandatory
Definition : Entity providing the risk scores. This is the entity which evaluates the risk associated with the
transaction. When BBPCU is the provider, the value is "BBPS".
Data Type : Code Set
Format : Fixed Length – 4
Compliance : The provider ID should be same as the originating institution ID used for initiating the fetch or
payment request.
Attribute: type
Presence : Mandatory
Definition : This attribute describes the type of risk.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Pre-defined values, e.g. TXNRISK
Attribute: value
Presence : Mandatory
Definition : Code Set
Data Type : Numeric
Format : Fixed Length – 3
Compliance : Value of risk evaluation ranging from "000" (No Risk) to "100" (Maximum Risk) with default score
being "030".
Element: <Customer>
Presence : Mandatory
Definition : Customer related details who initiate the transaction, i.e. details of the customer viewing / paying
the bill.
Attribute: mobile
Presence : Mandatory
Definition : Mobile number of customer who initiates the bill fetch / payment.
Data Type : Numeric
Format : Minimum Length – 6, Maximum Length - 20
Compliance : Data format and type should be for a valid mobile number.
Element: <Customer.Tag>
Presence : Conditional
Definition : The tag is defined in name value pairs to accommodate the parameters for the Customer initiating
the fetch / payment transaction. It is mandatory to have the following name-value pairs mentioned
below.
Attribute: name
Presence : Conditional
Definition : The name attribute will have the values as defined in the code table.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Definition
EMAIL Email ID of the customer
AADHAAR Aadhaar number of the customer
PAN PAN of the customer
Attribute: value
Presence : Conditional
Definition : Valid values pertaining to Email, Aadhaar and PAN details provided by the customer initiating the
fetch / payment transaction.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Value
EMAIL manoj.chekuri@npci.org.in
AADHAAR 123123123200
PAN BXXPC4454Q
Element: <Agent>
Presence : Mandatory
Definition : Details pertaining to the Agent which initiates the transaction.
Attribute: id
Presence : Mandatory
Definition : Agent ID is the unique number which identifies the agent.
Data Type : Alphanumeric
Format : Fixed Length – 20, e.g. OU01OU02INT000000001
Where,
Customer BBPOU ID – 4
Agent Institution ID – 4
Agent Payment Channel Code – 3
Random number – 9
Compliance : The Agent ID should be active in BBPCU system. Agent Payment Channel Code is as follows:
Element: <Agent.Device>
Presence : Mandatory
Definition : Details of the device from which the transaction was initiated.
Element: <Agent.Device.Tag>
Presence : Conditional
Definition : This tag captures the device details in name value pair.
Attribute: name
Presence : Conditional
Definition : The name attribute will have the values as defined in the code table.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Attribute: value
Presence : Conditional
Definition : Specified value as defined
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Element: <BillDetails>
Presence : Mandatory
Definition : This tag captures the Biller ID and bill related details to identify a Customer.
Element: <BillDetails.Biller>
Presence : Mandatory
Definition : Biller related details for which the transaction is initiated.
Attribute: id
Presence : Mandatory
Definition : Biller ID is the unique number which identifies the Biller.
Data Type : Alphanumeric
Format : Fixed Length – 14, e.g. TATAPWR00DEL01
Where,
Short identifier of the biller (may be augmented with trailing zeroes) - 9
Coverage - 3
Random number - 2
Compliance : The Biller ID should be active in BBPCU system.
Element: <BillDetails.CustomerParams>
Presence : Mandatory
Definition : This tag captures the customer parameters.
Element: <BillDetails.CustomerParams.Tag>
Presence : Conditional
Definition : This tag captures the biller’s reference fields in name value pair.
Attribute: name
Presence : Conditional
Definition : Name of the reference field as configured for the Biller in BBPCU system. These data elements
would be conditional, i.e., they would be mandatory for specific billers only.
Code Definition
RefFld1 Reference fields that may be customised according to the requirements of specific Billers at the time
RefFld2 of on-boarding a Biller.
RefFld3 Sample values include Consumer Number (Electricity billers), Subscriber ID (DTH operators), etc.
Attribute: value
Presence : Conditional
Definition : Value of the reference field which uniquely identifies the Customer for the Biller.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type as follows:
Element: <Reason>
Presence : Mandatory
Definition : This tag captures the response details of the transaction.
Attribute: approvalRefNum
Presence : Mandatory
Definition : Internal reference number which may be used by the Biller BBPOU for a transaction.
Data Type : Alphanumeric Special
Format : Min Length – 4, Max Length – 100
Compliance : Default value to be "AB123456".
Attribute: responseCode
Presence : Mandatory
Definition : Carries the response code indicating success or failure of the transaction.
Data Type : Code Set
Format : Fixed Length – 3
Compliance : Response code should be sent per the response code list shown below.
Attribute: responseReason
Presence : Mandatory
Definition : Description of the response code sent by the Biller BBPOU.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Response reason should be sent per the response code list shown below.
Attribute: complianceRespCd
Presence : Conditional
Definition : The compliance response code for the compliance violation of the specific rule-set by BBPCU. It
indicates the reason for a failed transaction and is not required for a successful transaction.
Data Type : Code Set
Format : Fixed Length – 6, e.g. HED001
Alpha – 3, Numeric – 3
Compliance : Compliance code should be sent per the compliance code list. Data format and type as follows:
Attribute: complianceReason
Presence : Conditional
Definition : The compliance response description for the compliance violation of the specific rule-set by BBPCU.
It indicates the reason for a failed transaction and is not required for a successful transaction.
Data Type : Code Set
Format : Min Length – 1, Max Length – 100
Compliance : Compliance reason should be sent per the compliance code list. Data format and type as follows:
Element: <BillerResponse>
Presence : Conditional
Definition : This tag captures the bill responses provided by the biller for a successful transaction, i.e., response
code is '000'.
Attribute: customerName
Presence : Conditional
Definition : Customer name as registered with the Biller.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type.
i) To be populated as "NA" where customer name is unavailable
ii) For a payment transaction without a fetch, the customer name value should be "NA".
iii) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid
and Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Attribute: amount
Presence : Conditional
Definition : Actual bill amount inclusive of all charges (in paise).
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
For a payment transaction without a fetch, the amount value should be same as the amount passed
as payment request.
For a reversal transaction, the amount should be same as per the original request.
Attribute: dueDate
Presence : Conditional
Definition : This field denotes due date of the bill.
Data Type : ISO Date
Format : Fixed Length – 10, e.g. 2016-01-01
Compliance : Data format and type.
i) To be populated as "9999-01-01" where due date is unavailable.
ii) For a payment transaction without a fetch, the due date value should be current date.
iii) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid
and Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Attribute: billDate
Presence : Conditional
Definition : This field denotes generation date of the bill.
Data Type : ISO Date
Format : Fixed Length – 10, e.g. 2016-01-01
Compliance : Data format and type.
i) To be populated as "0001-01-01" where bill generation date is unavailable.
ii) For a payment transaction without a fetch, the bill date value should be current date.
iii) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid
and Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Attribute: billNumber
Presence : Conditional
Definition : This field denotes the bill number of the bill fetch / payment message requested.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type.
i) To be populated as "NA" where bill number is unavailable
ii) For a payment transaction without a fetch, the bill number value should be "NA".
iii) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid
and Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Attribute: billPeriod
Presence : Conditional
Definition : The bill period of the bill fetch / payment requested.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type.
i) Possible values are: ONETIME, DAILY, WEEKLY, BIMONTHLY, MONTHLY, QUARTERLY,
HALFYEARLY, YEARLY and ASPRESENTED.
ii) To be populated as "NA" where bill period is unavailable
iii) For a payment transaction without a fetch, the bill period value should be "NA".
iv) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid
and Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Attribute: custConvFee
Presence : Conditional
Definition : Customer convenience fee (CCF1) paid by the Customer BBPOU to Biller BBPOU. This value is
copied from the convenience fee attribute in the amount tag for the payment transaction.
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
i) For Biller Categories Mobile Postpaid, Gas, Water, Landline Postpaid, DTH, Broadband Postpaid and
Electricity all the attributes are MANDATORY, for others only "amount" is MANDATORY
Element: <BillerResponse.Tag>
Presence : Conditional
Definition : This tag captures the biller’s amount fields in name value pair. It indicates the various amount
options provided by the Biller.
Attribute: name
Presence : Conditional
Definition : Name of the amount field as configured for the Biller in BBPCU system. These data elements would
be conditional, i.e., they would be mandatory for specific billers only.
Data Type : Code Set
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type as follows:
Code Definition
Amount 1 Amount fields that may be customised according to the requirements of specific Billers at the time of
Amount 2 on-boarding a Biller.
Amount 3 Sample values include Late Fee, Discount, etc.
Attribute: value
Presence : Conditional
Definition : Specified value as defined (in paise).
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type as follows:
Element: <AdditionalInfo>
Presence : Conditional
Definition : This tag captures the additional information provided by the Biller as part of response for a
successful transaction, i.e., response code is ‘000’.
Element: <AdditionalInfo.Tag>
Presence : Conditional
Definition : This tag captures the biller’s response fields in name value pair.
Attribute: name
Presence : Conditional
Definition : Name of the additional information field as configured for the Biller in BBPCU system. These data
elements would be conditional, i.e., they would be mandatory for specific billers only.
Data Type : Code Set
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type as follows:
Code Definition
BlRspFld1 Additional information fields that may be customised according to the requirements of
BlRspFld2 specific Billers at the time of on-boarding a Biller.
PaymentBlRspFld1 Sample values include Early Payment Date, Status, etc.
PaymentBlRspFld2
Attribute: value
Presence : Conditional
Definition : Specified value as defined.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 255
Element: <PaymentMethod>
Presence : Mandatory
Definition : This tag captures the payment method used for the transaction.
Attribute: quickPay
Presence : Mandatory
Definition : Flag indicating if the payment is initiated without a fetch or not.
Data Type : Code Set
Format : Min Length – 2, Max Length – 3
Compliance : Accepted values are "Yes" or "No".
Attribute: splitPay
Presence : Mandatory
Definition : Flag indicating if the bill is paid using two different payment modes.
Data Type : Code Set
Format : Min Length – 2, Max Length – 3
Compliance : Accepted values are "Yes" or "No".
Attribute: OFFUSPay
Presence : Optional
Definition : Flag indicating if it is an electronic ON-US or OFF-US transaction.
Data Type : Code Set
Format : Min Length – 2, Max Length – 3
Compliance : Accepted values are "Yes" or "No".
Attribute: paymentMode
Presence : Mandatory
Definition : Defines the payment mode which is used for the bill payment transaction
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Wallet Wallet
NEFT NEFT
Prepaid Card Prepaid_Card
AEPS AEPS
Account Transfer Account_Transfer
Bharat QR Bharat_QR
USSD USSD
Element: <Amount>
Presence : Mandatory
Definition : Block containing different amount related details for the payment transaction.
Element: <Amount.Amt>
Presence : Mandatory
Definition : Details of the bill payment amount made by the Customer.
Attribute: amount
Presence : Mandatory
Definition : Actual amount paid by the Customer for the transaction (in paise).
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
Attribute: custConvFee
Presence : Mandatory
Definition : Customer convenience fee (CCF1) paid by the Customer BBPOU to Biller BBPOU. This flows from the
Customer BBPOU to the Biller BBPOU.
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
Attribute: COUcustConvFee
Presence : Optional
Definition : Customer convenience fee (CCF2), paid by the Customer to Customer BBPOU. This value should be
within the prescribed limits set for a Biller and the transaction amount and will flow from Customer
BBPOU to BBPCU but will not be forwarded to Biller BBPOU.
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
Attribute: currency
Presence : Mandatory
Definition : Defines the currency in which the payment is initiated.
Data Type : Code set (ISO 4217)
Format : Fixed Length – 3
Element: <Amount.SplitPayAmount>
Presence : Conditional
Definition : This data element will carry the bill payment amount which is paid in the mode other than the
primary mode of payment (in paise).
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
Element: <Amount.Tag>
Presence : Conditional
Definition : It indicates the amount paid by the customer for any amount other than the base bill amount. This
is applicable only when all the conditions below hold true for a Biller:
Fetch is Mandatory
Biller does not accept ad-hoc payment
Biller accepts exact payment
Attribute: name
Presence : Conditional
Definition : Name of the amount field other than the base bill amount as configured for the Biller in BBPCU
system.
Data Type : Code Set
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type as follows:
Code Definition
Amount 1 Valid amount combination(s) selected from the Biller response other than the base bill amount.
Amount 2 Sample values include Late Fee, Discount, etc.
Amount 3
Attribute: value
Presence : Conditional
Definition : Specified value as defined (in paise).
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type as follows:
Element: <PaymentInformation>
Presence : Conditional
Definition : Details of the payment instrument used for the payment. This tag will flow from Customer BBPOU
to BBPCU but will not be forwarded to Biller BBPOU.
Element: <PaymentInformation.Tag>
Presence : Conditional
Definition : Payment instrument details which is used for the bill payment transaction.
Attribute: name
Presence : Conditional
Definition : The name attribute will have the values as defined in the code table.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Code Description
Remarks Remarks when the mode of payment is cash
CardNum|AuthCode Card number and authorization code used for the payment
IFSC|AccountNo IFSC and account number used for the payment
MMID|MobileNo MMID and mobile number used for the payment
WalletName|MobileNo Wallet name and mobile number used for the payment
VPA Virtual Provider Address used for the payment
Aadhaar|IIN Aadhaar number and IIN used for the payment
Attribute: value
Presence : Conditional
Definition : Specified value as defined.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Element: <errorMessages>
Presence : Conditional
Definition : Error messages in the API message.
Element: <errorMessages.errorCd>
Presence : Conditional
Definition : Error Code for API message.
Element: <errorMessages.errorDtl>
Presence : Conditional
Definition : Error Reason for the API message.
Attribute: api
Presence : Mandatory
Definition : Name of the API for which acknowledgement is given out.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type as follows:
Attribute: RspCd
Presence : Mandatory
Definition : Denotes success or failure in receiving the original request message.
Data Type : Code Set
Attribute: ts
Presence : Mandatory
Definition : Transmission date and time of the transaction.
Data Type : ISODateTime
Format : Fixed Length – 25 i.e., YYYY-MM-DDThh:mm:ss+hh:mm (e.g. 2017-02-14T13:10:15+05:30)
Where,
YYYY = four-digit year
MM = two-digit month number (01 indicates January, etc.)
DD = two-digit day of month (01 through 31)
T = separator used between date and time
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
+hh:mm = time zone difference from GMT in hours and minutes. The default value of this
attribute is assumed to be IST (+05:30).
Compliance : Data format and type.
Element: <TxnStatusComplainReq>
Presence : Mandatory
Definition : Information pertaining to transaction status and complaint related requests.
Attribute: complaintType
Presence : Mandatory
Definition : Type of complaint – Transaction or Service based complaint.
Data Type : Code Set
Format : Min Length – 1, Max Length – 11
Compliance : Accepted value is "Transaction".
Attribute: mobile
Presence : Conditional
Definition : Mobile number against which the transaction status is to be searched.
Data Type : Numeric
Format : Fixed Length – 10
Compliance : Data format and type.
Attribute: complaintId
Presence : Conditional
Definition : Complaint ID generated by BBPCU to check the complaint status, re-assign or close a complaint
subsequently.
Data Type : Alphanumeric
Format : Fixed Length – 15; 1st 4 characters of Tran Ref ID – 4, Julian Date of the Complaint Registration Date
(YYDDD) - 5, Random Numeric – 6
Attribute: disposition
Presence : Conditional
Definition : Disposition for transaction based complaints.
Data Type : Code Set
Format : Min Length – 1, Max Length – 100
Compliance : Disposition details should be sent per the list shown below.
Attribute: description
Presence : Conditional
Definition : Description of the complaint where the customer may provide some additional information on the
reason for raising the complaint.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Compliance : Data format and type.
Element: <TxnSearchDateCriteria>
Presence : Conditional
Definition : Searching the transaction details on the basis of date range.
Attribute: fromDate
Presence : Conditional
Definition : This field denotes the start date for transaction search.
Data Type : ISO Date
Format : Fixed Length – 10, e.g. 2016-01-01
Compliance : Data format and type.
Attribute: toDate
Presence : Conditional
Definition : This field denotes the end date for transaction search.
Data Type : ISO Date
Format : Fixed Length – 10, e.g. 2016-01-01
Compliance : Data format and type.
Element: <TxnStatusComplainResp>
Presence : Mandatory
Definition : Information pertaining to transaction status and complaint related responses.
Attribute: responseCode
Presence : Mandatory
Definition : Carries the response code indicating success or failure of CMS API request.
Data Type : Code Set
Format : Fixed Length – 3
Compliance : Response code should be sent per the response code list shown below.
Attribute: responseReason
Presence : Mandatory
Definition : Description of the response code sent by the Biller BBPOU.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Response reason should be sent per the response code list shown below.
Attribute: complaintId
Presence : Conditional
Definition : Complaint ID generated by BBPCU to check the complaint status, re-assign or close a complaint
subsequently.
Data Type : Alphanumeric
Format : Fixed Length – 15; 1st 4 characters of Tran Ref ID – 4, Julian Date of the Complaint Registration Date
(YYDDD) - 5, Random Numeric – 6
Compliance : Data format and type.
Attribute: assigned
Presence : Conditional
Definition : Name of BBPOU to which the complaint is assigned.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Compliance : The BBPOU should present in the BBPCU system.
Attribute: openComplaint
Presence : Conditional
Definition : Flag indicating if the transaction based complaint being raised is currently open in the system or not
– "Y" will show the details for the complaint raised earlier.
Data Type : Code Set
Format : Fixed Length – 1
Compliance : Accepted values are "Y" or "N".
Attribute: complaintStatus
Presence : Conditional
Definition : It denotes the complaint status of the transaction.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Complaint status should be sent per the below mentioned table.
Code Definition
Assigned A customer has raised a complaint at an agent outlet or on the BBPS website, and a
Complaint ID has been assigned to it.
By default, it is assigned to the Customer BBPOU. At this stage, the Customer BBPOU
may assign the complaint to the Biller BBPOU depending on the details of the complaint.
Escalated If the BBPOU does not respond to the complaint within the specified TAT, the complaint
gets escalated.
Re Assigned When Customer BBPOU re assigned the complaint to the Biller BBPOU.
Assigned to COU / When BBPCU assign the complaint to BBPOU.
Assigned to BOU / If the COU and BOU are same for a transaction, then the status of complaint will be
Assigned to OU changed to Assigned to OU.
Resolved Once the BBPOU resolves the customer related complaint, the BBPOU updates the
system.
Unresolved If the BBPOU does not respond to the complaint within the specified TAT (Super
escalation), the complaint status changed to unresolved.
Attribute: remarks
Presence : Conditional
Definition : Last updated additional information provided by the BBPOU pertaining to the complaint and
fetched in the complaint status check (506) response.
Data Type : Alphanumeric Special
Format : Min Length – 1, Max Length – 100
Element: <TxnStatusComplainResp.TxnList>
Presence : Conditional
Definition : List of transactions containing the details of transactions linked to a mobile number and date range
combination.
Element: <TxnStatusComplainResp.TxnList.TxnDetail>
Presence : Conditional
Definition : Record containing the details of a single transaction.
Attribute: txnReferenceId
Presence : Conditional
Definition : Transaction reference number used by the Customer for referring to a payment transaction.
Data Type : Alphanumeric
Format : Fixed Length – 12 or 20
i) Originating Institution ID (Customer OU Id or Participating AI Id) - 04, Random alphanumeric - 08
ii) Originating Institution ID (Customer OU Id or Participating AI Id) - 04, Julian Date - 04 and Random
alphanumeric - 12
Compliance : Data format and type.
Attribute: amount
Presence : Conditional
Definition : Amount (in paise) involved in the payment transaction.
Data Type : Numeric
Format : Min Length – 1, Max Length – 18
Compliance : Data format and type.
Attribute: txnDate
Presence : Conditional
Definition : Date of the bill payment transaction.
Data Type : ISODateTime
Format : Fixed Length – 25 i.e., YYYY-MM-DDThh:mm:ss+hh:mm (e.g. 2017-02-14T13:10:15+05:30)
Where,
YYYY = four-digit year
MM = two-digit month number (01 indicates January, etc.)
DD = two-digit day of month (01 through 31)
T = separator used between date and time
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
+hh:mm = time zone difference from GMT in hours and minutes. The default value of this
attribute is assumed to be IST (+05:30).
Compliance : Data format and type.
Attribute: agentId
Presence : Conditional
Definition : Agent ID of the Agent involved in the transaction.
Data Type : Alphanumeric
Format : Fixed Length – 20, e.g. OU01OU02INT000000001
Where,
Customer BBPOU ID – 4
Agent Institution ID – 4
Agent Payment Channel Code – 3
Random number – 9
Compliance : Data format and type.
Attribute: billerId
Presence : Conditional
Definition : Biller ID of the Biller involved in the transaction.
Data Type : Alphanumeric
Format : Fixed Length – 14, e.g. TATAPWR00DEL01
Where,
Short identifier of the biller (may be augmented with trailing zeroes) - 9
Coverage - 3
Random number - 2
Compliance : Data format and type.
Attribute: txnStatus
Presence : Conditional
Definition : Status of the transaction – successful or failure.
Data Type : Code Set
Format : Min Length – 1, Max Length – 50
Compliance : Data format and type.
Element: <TxnStatusComplainResp.CustomerDetails>
Presence : Conditional
Definition : Details of the customer for a successful transaction search (401) response.
Attribute: mobile
Presence : Conditional
Definition : Mobile number linked to the transaction(s).
Data Type : Numeric
Format : Minimum Length – 6, Maximum Length - 20
Compliance : Data format and type.
Element: <SearchMyBiller>
Presence : Optional
Definition : Search the Biller details associated or non-associated with the BBPOU initiating the request.
Attribute: mybiller
Presence : Conditional
Definition : Flag indicating request for the Biller details associated or non-associated with the BBPOU initiating
the request.
Data Type : Code Set
Format : Min Length – 2, Max Length – 3
Compliance : Accepted values are "Yes" or "No".
Element: <Search>
Presence : Optional
Definition : Search the Biller or Agent details based on certain parameters.
Element: <Search.billerId>
Presence : Conditional
Definition : Biller ID for which the Biller details are requested.
Element: <Search.billerCategory>
Presence : Conditional
Definition : Biller Category for which the Biller details are requested.
Element: <Search.agentId>
Presence : Conditional
Definition : Agent ID for which the Agent details are requested.
Element: <SearchByTime>
Presence : Optional
Definition : Searching the Biller or Agent details based on time parameter.
Element: <SearchByTime.time>
Presence : Conditional
Definition : Request for Biller or Agent details for all the Billers or Agents updated in the system after the time
provided.
Element: <biller>
Presence : Conditional
Definition : MDM details of the Biller.
Element: <biller.billerId>
Presence : Mandatory
Definition : Identifier of the Biller.
Element: <biller.billerName>
Presence : Mandatory
Definition : Name of the Biller.
Element: <biller.billerAliasName>
Presence : Mandatory
Definition : Alias name of the Biller.
Element: <biller.billerCategoryName>
Presence : Mandatory
Definition : Biller category.
Element: <biller.billerMode>
Presence : Mandatory
Definition : Biller mode, i.e., Online, Offline A, Offline B.
Element: <biller.billerAcceptsAdhoc>
Presence : Mandatory
Definition : Flag indicating if the Biller accepts adhoc payment.
Element: <biller.parentBiller>
Presence : Mandatory
Definition : Flag indicating if the Biller is a parent Biller.
Element: <biller.parentBillerId>
Presence : Conditional
Definition : Identifier of the parent Biller.
Element: <biller.billerOwnerShp>
Presence : Mandatory
Definition : Biller ownership, i.e., Government, PSU, Private.
Element: <biller.billerCoverage>
Presence : Mandatory
Definition : Coverage of the Biller, i.e., National, State/UT, City/District.
Element: <biller.fetchRequirement>
Presence : Mandatory
Definition : Indicates if the Biller allows Bill Fetch or not – possible values are MANDATORY, OPTIONAL,
NOT_SUPPORTED.
Element: <biller.supportBillValidation>
Presence : Mandatory
Definition : Indicates if the Biller allows Bill Validation or not – possible values are MANDATORY, OPTIONAL,
NOT_SUPPORTED.
Element: <biller.paymentAmountExactness>
Presence : Conditional
Definition : Indicates if the Biller (having Mandatory Bill Fetch) allows exact payment or not – possible values
are Exact, Exact and above, Exact and below.
Element: <biller.billerEffctvFrom>
Presence : Mandatory
Definition : Effective from date of the Biller.
Element: <biller.billerEffctvTo>
Presence : Mandatory
Definition : Effective to date of the Biller.
Element: <biller.billerTempDeactivationStart>
Presence : Mandatory
Definition : Temporary deactivation start date of the Biller.
Element: <biller.billerTempDeactivationEnd>
Presence : Mandatory
Definition : Temporary deactivation end date of the Biller.
Element: <biller.billerPaymentModes>
Presence : Mandatory
Definition : Payment mode details of the Biller.
Element: <biller.billerPaymentModes.paymentMode>
Presence : Mandatory
Definition : Payment modes supported by the Biller.
Element: <biller.billerPaymentModes.maxLimit>
Presence : Conditional
Definition : Maximum limit accepted by a Biller for a particular payment mode.
Element: <biller.billerPaymentModes.minLimit>
Presence : Mandatory
Definition : Minimum limit accepted by a Biller for a particular payment mode.
Element: <biller.billerPaymentModes.supportPendingStatus>
Presence : Conditional
Definition : Flag indicating whether Pending Status is applicable for the payment mode or not – Yes/No.
Element: <biller.billerPaymentChannels>
Presence : Mandatory
Definition : Payment channel details of the Biller.
Element: <biller.billerPaymentChannels.paymentChannel>
Presence : Mandatory
Definition : Payment channels supported by the Biller.
Element: <biller.billerPaymentChannels.maxLimit>
Presence : Conditional
Definition : Maximum limit accepted by a Biller for a particular payment channel.
Element: <biller.billerPaymentChannels.minLimit>
Presence : Mandatory
Definition : Minimum limit accepted by a Biller for a particular payment channel.
Element: <biller.billerPaymentChannels.supportPendingStatus>
Presence : Conditional
Definition : Flag indicating whether Pending Status is applicable for the payment channel or not – Yes/No.
Element: <biller.billerCustomerParams>
Presence : Mandatory
Definition : Customer parameter details of the Biller.
Element: <biller.billerCustomerParams.paramName>
Presence : Mandatory
Definition : Customer parameter name.
Element: <biller.billerCustomerParams.dataType>
Presence : Mandatory
Definition : Customer parameter data type.
Element: <biller.billerCustomerParams.optional>
Presence : Mandatory
Definition : Flag indicating if the Customer parameter is optional.
Element: <biller.billerCustomerParams.minLength>
Presence : Conditional
Definition : Minimum length of the Customer parameter.
Element: <biller.billerCustomerParams.maxLength>
Presence : Conditional
Definition : Maximum length of the Customer parameter.
Element: <biller.billerCustomerParams.regex>
Presence : Conditional
Definition : Regular expression (RegEx) is a string of characters representing permissible values of the customer
parameters for a biller.
Element: <biller.billerCustomerParams.values>
Presence : Conditional
Definition : Default (possible) values list against a Customer Parameter.
Element: <biller.billerCustomerParams.visibility>
Presence : Mandatory
Definition : Visibility of the customer parameter in COU/AIs front-end screen. Possible values "true/false".
Presence : Conditional
Definition : Customer Parameter Groups with respect to the various combinations supported.
Presence : Conditional
Definition : Customer Parameter Group.
Presence : Conditional
Definition : Name of the Parent/Sub-Group.
Presence : Conditional
Definition : Flag indicating the required number of tags from the group.
Presence : Conditional
Definition : Customer parameter name.
Element: <biller.billerResponseParams>
Presence : Mandatory
Definition : Biller Responses with respect to the various amount combinations supported.
Element: <biller.billerResponseParams.amountOptions>
Presence : Mandatory
Definition : Amount options supported by the Biller.
Element: <biller.billerResponseParams.amountOptions.amountBreakupSet>
Presence : Mandatory
Definition : Amount combination for a particular amount option.
Element: <biller.billerAdditionalInfo>
Presence : Conditional
Definition : Additional information details provided by the Biller.
Element: <biller.billerAdditionalInfo.paramName>
Presence : Conditional
Definition : Additional information parameter name.
Element: <biller.billerAdditionalInfo.dataType>
Presence : Conditional
Definition : Additional information parameter data type.
Element: <biller.billerAdditionalInfo.optional>
Presence : Conditional
Definition : Flag indicating if the additional information parameter is optional.
Element: <biller.billerAdditionalInfoPayment>
Presence : Conditional
Definition : Additional information details provided by the Biller.
Element: <biller.billerAdditionalInfoPayment.paramName>
Presence : Conditional
Definition : Additional information parameter name.
Element: <biller.billerAdditionalInfoPayment.dataType>
Presence : Conditional
Definition : Additional information parameter data type.
Element: <biller.billerAdditionalInfoPayment.optional>
Presence : Conditional
Definition : Flag indicating if the additional information parameter is optional.
Element: <biller.interchangeFeeConf>
Presence : Mandatory
Definition : Interchange fee configuration details of the Biller.
Element: <biller.interchangeFeeConf.mti>
Presence : Mandatory
Definition : Message Type Indicator for the fee, i.e., fetch, payment, etc.
Element: <biller.interchangeFeeConf.responseCode>
Presence : Mandatory
Definition : Response code associated with the fee.
Element: <biller.interchangeFeeConf.paymentMode>
Presence : Conditional
Definition : Payment mode associated with the fee.
Element: <biller.interchangeFeeConf.paymentChannel>
Presence : Conditional
Definition : Payment channel associated with the fee.
Element: <biller.interchangeFeeConf.fees>
Presence : Mandatory
Definition : Fee codes for applicable interchange fee.
Element: <biller.interchangeFeeConf.defaultFee>
Presence : Mandatory
Definition : Flag indicating if it is a default fee or not.
Element: <biller.interchangeFeeConf.effctvFrom>
Presence : Mandatory
Definition : Effective from date for the fee.
Element: <biller.interchangeFeeConf.effctvTo>
Presence : Mandatory
Definition : Effective to date for the fee.
Element: <biller.interchangeFee>
Presence : Mandatory
Definition : Interchange fee details of the Biller.
Element: <biller.interchangeFee.feeCode>
Presence : Mandatory
Definition : Fee code associated with the Biller.
Element: <biller.interchangeFee.feeDesc>
Presence : Mandatory
Definition : Description of the corresponding fee code.
Element: <biller.interchangeFee.feeDirection>
Presence : Mandatory
Definition : Direction of fee movement, i.e., Customer BBPOU to Biller BBPOU or vice-versa.
Element: <biller.interchangeFee.interchangeFeeDetails>
Presence : Mandatory
Definition : Interchange fee details pertaining to range, type and validity.
Element: <biller.interchangeFee.interchangeFeeDetails.tranAmtRangeMax>
Presence : Mandatory
Definition : Maximum range for a particular fee configuration.
Element: <biller.interchangeFee.interchangeFeeDetails.tranAmtRangeMin>
Presence : Mandatory
Definition : Minimum range for a particular fee configuration.
Element: <biller.interchangeFee.interchangeFeeDetails.percentFee>
Presence : Mandatory
Definition : Percentage fee details.
Element: <biller.interchangeFee.interchangeFeeDetails.flatFee>
Presence : Mandatory
Definition : Flat fee details.
Element: <biller.interchangeFee.interchangeFeeDetails.effctvFrom>
Presence : Mandatory
Definition : Effective from date for the fee configuration.
Element: <biller.interchangeFee.interchangeFeeDetails.effctvTo>
Presence : Mandatory
Definition : Effective to date for the fee configuration.
Element: <biller.Status>
Presence : Mandatory
Definition : Status of the Biller, i.e., active, deactivated, etc.
Element: <biller.billerDescription>
Presence : Optional
Definition : Additional information related to Billers.
Element: <biller.supportDeemed>
Presence : Optional
Definition : Flag indicating whether deemed success is applicable for the biller or not – Yes/No.
Element: <biller.supportPendingStatus>
Presence : Optional
Definition : Flag indicating whether pending status is applicable for the biller or not – Yes/No.
Element: <biller.billerTimeOut>
Presence : Conditional
Definition : Final Timeout of the Biller in minutes, which supports Pending Status.
Element: <biller.planMdmRequirement>
Presence : Optional
Definition : Flag indicating whether Plan MDM is applicable for the biller or not –
MANDATORY/OPTIONAL/NOT_SUPPORTED.
Element: <biller.planAdditionalInfo>
Presence : Conditional
Definition : Plan Additional information details provided by the Biller.
Element: <biller.planAdditionalInfo.paramName>
Presence : Conditional
Definition : Plan Additional information parameter name.
Element: <biller.planAdditionalInfo.dataType>
Presence : Conditional
Definition : Plan Additional information parameter data type.
Element: <biller.planAdditionalInfo.optional>
Presence : Conditional
Definition : Flag indicating if the additional information parameter is optional.
Element: <Agent>
Presence : Conditional
Definition : MDM details of the Agent.
Element: <Agent.agentId>
Presence : Mandatory
Definition : Identifier of the Agent.
Element: <Agent.agentBusnsType>
Presence : Mandatory
Definition : Business type of the Agent.
Element: <Agent.agentName>
Presence : Mandatory
Definition : Name of the Agent.
Element: <Agent.agentAliasName>
Presence : Mandatory
Definition : Alias name of the Agent.
Element: <Agent.agentLinkedAgentInst>
Presence : Mandatory
Definition : Code of the Agent Institution associated with the Agent.
Element: <Agent.agentGeoCode>
Presence : Mandatory
Definition : Agent geo-location.
Element: <Agent.agent_shop_name>
Presence : Mandatory
Definition : Shop name of the Agent.
Element: <Agent.agent_mobile_no>
Presence : Mandatory
Definition : Mobile number of the Agent.
Element: <Agent.agentDummy>
Presence : Mandatory
Definition : Flag indicating if the Agent represents an electronic or physical channel.
Element: <Agent.agentPaymentModes>
Presence : Mandatory
Definition : Payment mode details of the Agent.
Element: <Agent.agentPaymentModes.paymentMode>
Presence : Mandatory
Definition : Payment modes supported by the Agent.
Element: <Agent.agentPaymentModes.maxLimit>
Presence : Conditional
Definition : Maximum limit accepted by an Agent for a particular payment mode.
Element: <Agent.agentPaymentModes.minLimit>
Presence : Mandatory
Definition : Minimum limit accepted by an Agent for a particular payment mode.
Element: <Agent.agentPaymentChannels>
Presence : Mandatory
Definition : Payment channel details of the Agent.
Element: <Agent.agentPaymentChannels.paymentChannel>
Presence : Mandatory
Definition : Payment channels supported by the Agent.
Element: <Agent.agentPaymentChannels.maxLimit>
Presence : Conditional
Definition : Maximum limit accepted by an Agent for a particular payment channel.
Element: <Agent.agentPaymentChannels.minLimit>
Presence : Mandatory
Definition : Minimum limit accepted by an Agent for a particular payment channel.
Element: <Agent.agentBulk>
Presence : Mandatory
Definition : Flag indicating if the Agent is configured through bulk upload feature in BBPS Canvas (intranet
portal).
Element: <Agent.agentRefId>
Presence : Mandatory
Definition : ID used by a BBPOU / Agent Institution to internally identify an Agent.
Element: <Agent.agentPinCode>
Presence : Mandatory
Definition : PIN Code of the Agent.
Element: <Agent.agentRegisteredCity>
Presence : Mandatory
Definition : Registered city of the Agent.
Element: <Agent.agentRegisteredState>
Presence : Mandatory
Definition : Registered state of the Agent.
Element: <Agent.agentRegisteredAddress>
Presence : Mandatory
Definition : Registered address of the Agent.
Element: <Agent.agentRegisteredCountry>
Presence : Mandatory
Definition : Registered country of the Agent.
Element: <Agent.agentEffctvFrom>
Presence : Mandatory
Definition : Effective from date of the Agent.
Element: <Agent.agentEffctvTo>
Presence : Mandatory
Definition : Effective to date of the Agent.
Element: <Agent.agentTempDeactivationStart>
Presence : Mandatory
Definition : Temporary Deactivation Start date of the Agent.
Element: <Agent.agentTempDeactivationEnd>
Presence : Mandatory
Definition : Temporary deactivation end date of the Agent.
Element: <Agent.agentStatus>
Presence : Mandatory
Definition : Status of the Agent, i.e., active, deactivated, etc.
API: BBPSPlanMDMPush
Attribute: type
Presence : Mandatory
Definition : Type of the Plan MDM Push – "REQUEST/RESPONSE".
Element: <PlanDetails>
Presence : Mandatory
Definition : Plan Details of the specific biller.
Element: <PlanDetails.Id>
Presence : Mandatory
Definition : Plan ID as defined by the Biller.
Data Type : Alpha Numeric
Format : Minimum Length – 1, Maximum Length - 32
Compliance : Plan ID has to share with BBPCU as defined by the Biller.
Element: <PlanDetails.billerId>
Presence : Mandatory
Definition : Biller ID for which Plan Details are available.
Element: <PlanDetails.categoryType>
Presence : Mandatory
Definition : Plan Category.
Data Type : Alpha Numeric
Format : Minimum Length – 1, Maximum Length - 100
Compliance : Plan category as defined by the Biller.
Element: <PlanDetails.categorySubType>
Presence : Optional
Definition : Plan Sub Category.
Data Type : Alpha Numeric
Compliance : Plan sub category as defined by the Biller.
Element: <PlanDetails.amountInRupees>
Presence : Mandatory
Definition : Denomination of the Plan Amount in Rupees.
Data Type : Numeric/Decimal
Format : Minimum Length – 1, Maximum Length - 10
Element: <PlanDetails.planDescription>
Presence : Mandatory
Definition : Plan Description.
Data Type : Alpha Numeric Special
Format : Text
Compliance : Plan description as defined by the Biller.
Element: <PlanDetails.planAdditionalInfo>
Presence : Conditional
Definition : Plan Additional information details provided by the Biller.
Element: <PlanDetails.planAdditionalInfo.paramName>
Presence : Conditional
Definition : Plan Additional information parameter name.
Element: <PlanDetails.planAdditionalInfo.paramValue>
Presence : Conditional
Definition : Plan Additional information parameter value.
Element: <PlanDetails.effctvFrom>
Presence : Mandatory
Format : ISO Date Format
Definition : Effective from date of corresponding Plan.
Element: <PlanDetails.effctvTo>
Presence : Mandatory
Format : ISO Date Format
Definition : Effective to date of corresponding Plan.
Element: <PlanDetails.Status>
Presence : Mandatory
Definition : Status of the Plan. Possible Values "ACTIVE" / "DEACTIVATED".
API: BBPSPlanMDMPull
Attribute: type
Presence : Mandatory
Definition : Type of the Plan MDM Push – "REQUEST ".
Element: <Search>
Presence : Optional
Definition : Search the Plan details based on certain parameters.
Element: <Search.billerId>
Presence : Conditional
Definition : Biller ID for which the Plan details are requested.
Element: <SearchByTime>
Presence : Optional
Definition : Searching the Plan details based on time parameter.
Element: <SearchByTime.time>
Presence : Conditional
Definition : Request for Plan details for all the Plans updated in the system after the time provided.
24 Appendix
List of Error Messages
ErrorCodeWithMessa
ges v6.0.xlsx
Naming Convention
for BBPS Settlement Files v3.0.docx