Prepaid API Specification Document
Date: 13/02/2019
Version 1.6
1
Revision History
Document/Dept. : BSGOwner:
BSG
Created By :Prabhdeep Kaur Date: 13/02/2019
Reviewed By : Praveen Acharya Date : 15/02/2019Revised By Date Revised New Version #
Prabhdeep 11/02/2019 1.1Prabhdeep 08/03/2019 1.2Prabhdeep 19/03/2019 1.3Prabhdeep 26/03/2019 1.4Prabhdeep 30/05/2019 1.5Prabhdeep 19/06/2019 1.6
2
Table of Contents1. Purpose................................................................................................................................................................5
2. API Definition.......................................................................................................................................................5
3. About XML...........................................................................................................................................................5
4. API Request URL...................................................................................................................................................6
5. API Details............................................................................................................................................................6
5.1. Channel partner login.................................................................................................................................6
5.1.1. Request..................................................................................................................................................6
5.1.2. Response................................................................................................................................................6
5.2. Customer on Boarding................................................................................................................................7
5.2.1. Minimum KYC Request...........................................................................................................................7
5.2.2. Minimum KYC Response.........................................................................................................................8
5.2.3. Full KYC Onboarding Request.................................................................................................................9
5.2.4. Full KYC Onboarding Response.............................................................................................................12
5.3 Customer Validation.........................................................................................................................................12
5.3.1 Request................................................................................................................................................12
5.3.2 Response..............................................................................................................................................13
5.4 Resend OTP...............................................................................................................................................13
5.4.1 Request................................................................................................................................................13
5.4.2 Response..............................................................................................................................................14
5.5 Customer KYC Upload...............................................................................................................................14
5.5.1 Request................................................................................................................................................14
5.5.2 Response..............................................................................................................................................17
5.6 Get Details................................................................................................................................................17
5.6.1 Request................................................................................................................................................18
5.6.2 Response..............................................................................................................................................18
5.7 Account Load............................................................................................................................................22
5.7.1 Request................................................................................................................................................22
5.7.2 Response..............................................................................................................................................23
5.8 Load Query...............................................................................................................................................24
5.8.1 Request................................................................................................................................................24
5.8.1.1 Response..........................................................................................................................................25
5.9 Transaction Details...................................................................................................................................26
3
5.9.1 Request................................................................................................................................................26
5.9.2 Response..............................................................................................................................................26
5.10 Wallet Account Balance............................................................................................................................28
5.10.1 Request............................................................................................................................................28
5.10.2 Response..........................................................................................................................................29
5.11 Debit API...................................................................................................................................................29
5.11.1 Request............................................................................................................................................29
5.11.2 Response..........................................................................................................................................30
5.12 Debit Query..............................................................................................................................................32
5.12.1 Request............................................................................................................................................32
5.12.2 Response..........................................................................................................................................32
5.13 Wallet Blocking/Unblocking......................................................................................................................33
5.13.1 Request............................................................................................................................................33
5.13.2 Response..........................................................................................................................................34
5.14 Update Customer Details API...................................................................................................................35
5.14.1 Request............................................................................................................................................35
5.14.2 Response.................................................................................................................................................38
5.15 Refund API................................................................................................................................................38
5.15.1 Request............................................................................................................................................39
5.15.2 Response..........................................................................................................................................39
1. PurposeThe purpose of this document is to provide the APIs for Prepaid scenario use cases. Major API usage is dependent on business flow and hence is designed accordingly. So these may not be used standalone.
4
2. API DefinitionApplication programming interface (API) is a middleware that communicates between the host system and the front end application. API connects the Prepaid platform with the banking front end channel. API is built with standard XML protocol for portability and easy integration.
3. About XML
XML provides a rich text-base to describe and also apply a tree-based structure for information processing. At its base level, all information is manifested as text, interspersed with markup that indicates the information's separation into a hierarchy of character data, container-like elements, and attributes of those elements. In this respect, it is similar to the LISP programming language's S-expressions, which describe tree structures wherein each node may have its own property list.
The fundamental unit in XML is character, as defined by the Universal Character Set. Characters are combined to form an XML document. The document consists of one or more entities, each of which is typically part portion of the document's characters, stored in a text file.
XML files may be served with a variety of Media types. RFC 3023 defines the types "application/xml" and "text/xml", which say only that the data is in XML, and nothing about its semantics. The use of "text/xml" has been criticized as a potential source of encoding problems but now is in the process of being deprecated RFC 3023 also recommends that XML-based languages be given media types beginning in "application/" and ending in "+xml"; for example "application/atom+xml" for Atom. This page discusses further XML and MIME.
The ubiquity of text file authoring software (basic text editors such as Notepad and Text Edit as well as word processors) facilitates rapid XML document authoring and maintenance. Prior to the advent of XML, there were very few data description languages that were general-purpose, Internet protocol-friendly, and very easy to learn and author. In fact, most data interchange formats were proprietary, special-purpose, "binary" formats (based foremost on bit sequences rather than characters) that could not be easily shared by different software applications or across different computing platforms, much less authored and maintained in common text editors.
4. API Request URL
S:NO URL’s1 https://gateway.rblbank.com/prod/sb/prepaid/Channel_partner_login
5
2 https://gateway.rblbank.com/prod/sb/prepaid/Update_customer_details3 https://gateway.rblbank.com/prod/sb/prepaid/Wallet_blocking_unblocking4 https://gateway.rblbank.com/prod/sb/prepaid/Debit_query5 https://gateway.rblbank.com/prod/sb/prepaid/Debit_API6 https://gateway.rblbank.com/prod/sb/prepaid/Wallet_account_balance7 https://gateway.rblbank.com/prod/sb/prepaid/Load_query8 https://gateway.rblbank.com/prod/sb/prepaid/Account_load9 https://gateway.rblbank.com/prod/sb/prepaid/Get_details
10 https://gateway.rblbank.com/prod/sb/prepaid/Customer_KYC_Upload11 https://gateway.rblbank.com/prod/sb/prepaid/Resend_OTP12 https://gateway.rblbank.com/prod/sb/prepaid/Minimum_KYC_Onboarding13 https://gateway.rblbank.com/prod/sb/prepaid/Full_KYC_Onboarding14 https://gateway.rblbank.com/prod/sb/prepaid/Customer_validation15 https://gateway.rblbank.com/prod/sb/prepaid/Refund16 https://gateway.rblbank.com/prod/sb/prepaid/Transaction_details
5. API Details
5.1. Channel partner login
This is the XML service exposed by RBL to Channel Partners for authentication. The Login API is designed to create login session active for 1 hour. Post completion of 1 hour, the session token needs to be regenerated.
5.1.1. Request<channelpartnerloginreq><username>kartik</username><password>50D8DDE5C4B98B57C600982A65E645ED0C16B28B</password><bcagent>eur1012333</bcagent></channelpartnerloginreq>
5.1.2. Response<?xml version="1.0" encoding="utf-16" standalone="no"?>
6
Field Name Data Type Length Description
Username* String 5-29 Describes the Channel partner user name maintained by RBL.
Password* String 5-39 Describes the API password given by RBLBcagent* String 5-49 Describes the Partner’s branch maintained.
<channelpartnerloginres> <sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken> <timeout>10/11/2017 2:14:44 PM</timeout> <status>1</status></channelpartnerloginres>
5.2. Customer on Boarding
Customer on-boarding will be categorized into 2 parts as mentioned below;
(1) Minimum KYC (2) Full KYC
This xml is used to create the Customer and further allocate and activate the wallet.
For Minimum KYC flow, post customer self on-boarding, the “Customer validation” API will be called. In this scenario, customer validation will be processed by verifying the OTP sent on the customer’s mobile number as mentioned in the on-boarding details.Mobile number will be the unique identifier for duplicate check of data in Minimum KYC onboarding scenario.
For Full KYC flow, the required demographic details and KYC documents will be shared with the Bank by calling the “Customer KYC upload” API. The Full KYC onboarding flow will be followed in scenario’s wherein the minimum KYC customer wants to upgrade to full KYC customer.
5.2.1. Minimum KYC Request
<MinKYCOnboardingreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F5016D8C5800F35A79389AF1CB7F30B7102B7B2C899369C48</sessiontoken>
7
Field Name Data Type Length Description
Sessiontoken String 1-200Session is created after validating the Credentials. This Key serves as the identifier for consumption of other API’s.
Timeout Date Time 5-49 Describes the login logout Format(mm/dd/yyyy h:mm:ss AM/PM)
Status Int 1 0-failure1-success
</header><firstname>Mri</firstname><middlename></middlename ><lastname>Singh</lastname><mobilenumber>9815384427</mobilenumber><idproofname>1</idproofname><idproofnumber>gkjgdaui678564648</idproofnumber></MinKYCOnboardingreq>
Field Name(* Mandatory)
Data Type Length Description
sessiontoken* String 1-200 Session created at the time of login is used here
firstname* String 1-50 Describes the customer first nameMiddlename String 1-50 Describes the customer middle namelastname* String 1-50 Describes the customer last namemobilenumber* Int 10 Describes the customer mobile number
Idproofname* Int 1
Describes the customer ID proof name1 – Aadhaar card2 – PAN card3 – Passport4 – Driver license5 – Voter ID card
Ifproofnumber* String 5-199 Describes the customer ID proof number of selected ID proof
5.2.2. Minimum KYC Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><MinKYCOnboardingres> <status>1</status> <customerid>4133513</customerid> <firstname>Mri</firstname> <middlename></middlename > <lastname>Singh</lastname> <mobilenumber>9815384427</mobilenumber> <idproofname>1</idproofname> <idproofnumber>gkjgdaui678564648</idproofnumber></MinKYCOnboardingres>
8
Field Name Data Type Length Description
Status Int 1
0- failure1-success2 – Duplicate5 – Token expired
Customerid Int 8-12 Unique identification of customerfirstname String 1-50 Describes the customer first nameMiddlename String 1-50 Describes the customer middle namelastname String 1-50 Describes the customer last namemobilenumber Int 10 Describes the customer mobile number
Idproofname String 1
Describes the customer ID proof name1 – Aadhaar card2 – PAN card3 – Passport4 – Driver license5 – Voter ID card
Ifproofnumber String 5-199 Describes the customer ID proof number of selected ID proof
5.2.3. Full KYC Onboarding Request
<FullKYCOnboardingreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F5016D8C5800F35A79389AF1CB7F30B7102B7B2C899369C48</sessiontoken></header><firstname>Mri</firstname><middlename></middlename ><lastname>Singh</lastname><dateofbirth>09/09/1993</dateofbirth><gender>Female</gender><mothermaidenname></mothermaidenname><nationality>Indian</nationality><occupation>Banker</occupation><resaddress1>106, Riverra</resaddress1><resaddress2>106, Riverra</resaddress2><city>Mumabi</city><state>Maharashtra</state>
9
<pincode>401001</pincode><rescountry>India</rescountry ><mobilenumber>9815384427</mobilenumber><emailaddress>[email protected]</emailaddress><laddress1>106, Riverra</laddress1><laddress2>106, Riverra</laddress2><lcity>Alwar</lcity><lstate>Raj.</lstate><lpincode>301001</lpincode><lcountry>India</lcountry><CustomerStatus>2</CustomerStatus><CustomerType>12</CustomerType><SourceIncomeType>13</SourceIncomeType><AnnualIncome>7</AnnualIncome><PoliticallyExposedPerson>1</PoliticallyExposedPerson><actioncode>11</actioncode><fatcadecl>1</fatcadecl></FullKYCOnboardingreq>
Field Name(* Mandatory)
Data Type Length Description
sessiontoken* String 1-200 Session created at the time of login is used here
firstname* String 1-50 Describes the customer first nameMiddlename String 1-50 Describes the customer middle namelastname* String 1-50 Describes the customer last name
dateofbirth* Date 15 Describes the customer Date of birth (MM/DD/YYYY)
gender* String 3-49 Describes the customer gender Male/Female
Mothermaidenname String 3-49 Describes the customer’s mother maiden name
nationality* String 10 Describes the customer nationalityoccupation* String 1-10 Describes the customer occupationresaddress1* String 5-199 Describes the customer residential address1resaddress2* String 5-199 Describes the customer residential address2
city* String 3-49 Describes the customer city
state* String 3-49 Describes the customer statepincode* String 10 Describes the pin code numberrescountry* String 20 Describes the customer countrymobilenumber* Int 10 Describes the customer mobile numberEmailaddress String 3-49 Describes the customer email address
10
laddress1 String 3-49 Describes the customers local address 1laddress2 String 1-49 Describes the customers local address 2Lcity String 3-49 Describes the customers local cityLstate String 3-49 Describes the customers local stateLpincode String 3-49 Describes the local pincodeLcountry String 3-49 Describes the customers country
CustomerStatus* Int 1-2Describes the customer status1-individual 2-Non-Individual(Same for both UAT and Prod)
CustomerType* Int 1-2
Describes the customer type in UAT16-Salaried 15-Self Employed including Professional 14-Farmer 17-Housewife 12-MinorDescribes the customer type in Prod1-Salaried 2-Self Employed including Professional 3-Farmer 4-Housewife 5-Minor
SourceIncomeType* Int 1-2
Describes the customer source of income values in UAT8- Govt 9- Public sector 10- Private Sector 11- Business 13- Agriculture 12- Dependent
Describes the customer source of income values in Prod1- Govt 2- Public sector 3- Private Sector 4- Business 5- Agriculture 6- Dependent
AnnualIncome* Int 1-2
Describes the customer annual income value in UAT6- Rs. 0.00 lacs to Rs. 2.00 Lacs7- Rs. 2.00 Lacs to Rs. 5 Lacs8- Rs. 5 Lacs to Rs. 10 Lacs9- More than Rs. 10 Lacs
Describes the customer annual income values in Prod1- Rs. 0.00 lacs to Rs. 2.00 Lacs2- Rs. 2.00 Lacs to Rs. 5 Lacs3- Rs. 5 Lacs to Rs. 10 Lacs4- More than Rs. 10 Lacs
PoliticallyExposedPerson* Int 1-2 Describes if PEP or not1-Yes 0-No
actioncode* Int 1-2 06 – Update Customer Detail
11
Fatcadecl* String 2
Describes whether the customer is tax resident of India or not
0 – Individual is tax resident of outside India1 – Individual is tax resident of India
5.2.4. Full KYC Onboarding Response<?xml version="1.0" encoding="utf-8" standalone="no"?><FullKYCOnboardingres> <status>1</status> <customerid>4133515</customerid> <Description>SUCCESS</Description></FullKYCOnboardingres>
5.3 Customer Validation
This API will be used for customer validation using OTP.
5.3.1 Request
<walletregistrationvalidatereq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F92DB433B4ABD9CCACB6753D2CB84474B02B7B2C899369C48</sessiontoken></header><mobilenumber>9815384407</mobilenumber><verficationcode>188734</verficationcode><customerid>4132940</customerid></walletregistrationvalidatereq>
12
Field Name Data Type Length Description
Status Int 10-failure1-success5-Token expired
customerid Int 12 Unique Identifier number for customer
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session created at the time of login is used here
mobilenumber* Int 10 Describes the customer mobile numberverificationcode* Int 6 OTP to validate the customercustomerid* Int 8-12 Unique Identifier for customer
5.3.2 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><walletregistrationvalidateres> <mobilenumber>9815384407</mobilenumber> <Status>1</Status> </walletregistrationvalidateres>
Field Name Data Type Length Description Mobilenumber Int 10 Customer Mobile Number
Status Int 10- failure1-success5 – Token expired
5.4 Resend OTP
This API is used to resend the OTP in case customer does not receive it.
5.4.1 Request
<walletregistrationresendotpreq><header>
13
<sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F92DB433B4ABD9CCACB6753D2CB84474B02B7B2C899369C48</sessiontoken></header><mobilenumber>9815384406</mobilenumber><customerid>4132939</customerid></walletregistrationresendotpreq>
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session created at the time of login is used here
mobilenumber* Int 10 Describes the customer mobile numbercustomerid* Int 8-12 Unique Identifier for customer
5.4.2 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><walletregistrationresendotpres> <status>1</status></walletregistrationresendotpres>
Field Name Data Type Length Description
Status Int 10- failure1-success5 – Token expired
5.5 Customer KYC Upload
This XML service is exposed to Channel Partners by RBL to upload KYC documents of the customer on the RBL BC platform. Documents can be uploaded in the following format only - .PDF/.JPG.
5.5.1 Request
<customerkycreq><header>
14
<sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3FFD903CDD6AC26238CB6753D2CB84474B02B7B2C899369C48</sessiontoken></header><customerid>4132964</customerid><bcagentid>eur1012333</bcagentid><idproofname>1</idproofname><idproofnumber>gkjgdaui678564648</idproofnumber><idproofissuedate>09/09/2005</idproofissuedate><idproofexpirydate>09/09/2020</idproofexpirydate><idproofissueplace>hfgwr765</idproofissueplace><addressproof>1</addressproof><addressproofurl>Fish10.jpg</addressproofurl><idproofurl>28.jpg</idproofurl><CustomerStatus>2</CustomerStatus><CustomerType>12</CustomerType><SourceIncomeType>13</SourceIncomeType><AnnualIncome>7</AnnualIncome><PoliticallyExposedPerson>1</PoliticallyExposedPerson><uploadtype>1</uploadtype><registrationform></registrationform></customerkycreq>
15
16
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session created at the time of login is used here
customerid* Int 8-12 Describes the customer IDbcagentid* String 5-199 Describes the agent id
Idproofname* String 1
Describes the customer ID proof name1 – Aadhaar card2 – PAN card3 – Passport4 – Driver license5 – Voter ID card
Ifproofnumber* String 5-199 Describes the customer ID proof number of selected ID proof
Idproofissuedate String 10 Describes the customer ID proof issued date
Idproofexpirydate String 10 Describes the customer ID proof expiry date
Idproofissueplace String 2-49 Describes the customer ID proof issued place
addressproof* String 1-2
Describes the customer address proof1 – Aadhaar card3 – Passport4 - Driver license5 – Voter ID card6 – Phone bill (BSNL/MTNL)7 – Bank statement8 – Shop license9 – Electricity bill10 - Others
addressproofurl* String 5-199 Describes the customer address proof path name
idproofurl* String 5-199 Describes the customer ID proof path name
CustomerStatus* Int 1-2Describes the customer status1-individual 2-Non-Individual(Same for both UAT and Prod)
CustomerType* Int 1-2
Describes the customer type in UAT16-Salaried 15-Self Employed including Professional 14-Farmer 17-Housewife 12-MinorDescribes the customer type in Prod1-Salaried 2-Self Employed including Professional 3-Farmer 4-Housewife 5-Minor
SourceIncomeType* Int 1-2
Describes the customer source of income values in UAT8- Govt 9- Public sector 10- Private Sector 11- Business 13- Agriculture 12- DependentDescribes the customer source of income values in Prod1- Govt 2- Public sector 3- Private Sector 4- Business 5- Agriculture 6- DependentDescribes the customer annual income
5.5.2 Response<?xml version="1.0" encoding="utf-16" standalone="no"?><customerkycres> <status>1</status></customerkycres>
Field Name Data Type Length Description
Status Int 10- failure1-success5- Token expired
5.6 Get Details
This API is used to fetch the below details; Details of Applicant data Status of Approval Wallet creation status/Account number
The same API will be called for both Full KYC and Minimum KYC customers.
In case of Minimum KYC customer, except for the below mentioned fields, all fields will be passed with null value.
Status First name Middle name Last name Mobile number Customer id Approval status
5.6.1 Request
17
<GetCustDetailsreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3FFD903CDD6AC26238CB6753D2CB84474B02B7B2C899369C48</sessiontoken></header> <mobilenumber>9815384302</mobilenumber></ GetCustDetailsreq >
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
Mobilenumber* Int 10 Describes the customer mobile number
5.6.2 Response
<GetCustDetailsres> <status>1</status> <firstname>Mri</firstname> <middlename>Singh</middlename> <lastname /> <dateofbirth>09/09/1993</dateofbirth> <gender>Female</gender> <mothermaidenname /> <nationality>Indian</nationality> <resaddress1>106, Riverra</resaddress1> <resaddress2>106, Riverra</resaddress2> <city>Alwar</city> <state>Maharashtra</state> <pincode>401001</pincode> <rescountry>India</rescountry> <mobilenumber>9815384302</mobilenumber> <emailaddress>[email protected]</emailaddress> <laddress1>106, Riverra</laddress1> <laddress2>106, Riverra</laddress2> <lcity>Alwar</lcity> <lstate>Raj.</lstate> <lpincode>301001</lpincode> <lcountry>India</lcountry> <CustomerStatus>NON-INDIVIDUAL</CustomerStatus> <CustomerType>Minor</CustomerType> <SourceIncomeType>Agriculture</SourceIncomeType> <AnnualIncome>Rs. 2.00 Lacs to Rs. 5 Lacs</AnnualIncome>
18
<PoliticallyExposedPerson>YES</PoliticallyExposedPerson> <customerid>4132901</customerid> <Approvalstatus>7</Approvalstatus> <cardAlias></cardAlias> <AccountNumber>9113454</AccountNumber> <idproofname>1</idproofname> <idproofnumber>gkjgdaui678564648</idproofnumber> <walletdetails> <wallet> <schemeid></schemeid> <walletid></walletid > </wallet> </walletdetails> </ GetCustDetailsres>
Field Name Data Type Length Description
Status Int 10-failure1-success5- Token expired
Firstname String 1-50 Describes the customer first name
Middlename String 50 Describes the customer middle name
Lastname String 1-50 Describes the customer last name
Dateofbirth Date Date Describes the customer Date of birth (MM/DD/YYYY)
Gender String 3-49 Describes the customer gender Male/Female
mothermaidenname String 49 Describes the customer maiden name/mothername
Nationality String 10 Describes the customer nationality
resaddress1 String 5-199 Describes the customer residential address1
resaddress2 String 5-199 Describes the customer residential address2
City String 3-49 Describes the customer cityState String 3-49 Describes the customer statePincode String 10 Describes the pincode numberRescountry String 20 Describes the customer country
Mobilenumber Int 10 Describes the customer mobile number
Emailaddress String 3-49 Describes the customer email
19
address
laddress1 String 49 Describes the customers local address 1
laddress2 String 49 Describes the customers local address 2
Lcity String 49 Describes the customers local cityLstate String 49 Describes the customers local stateLpincode String 49 Describes the local pincodeLcountry String 49 Describes the customer country
CustomerStatus Int 1-2
Describes the customer status1-individual 2-Non-Individual(Same for both UAT and Prod)
CustomerType Int 1-2
Describes the customer type in UAT16-Salaried 15-Self Employed including Professional 14-Farmer 17-Housewife 12-MinorDescribes the customer type in Prod1-Salaried 2-Self Employed including Professional 3-Farmer 4-Housewife 5-Minor
SourceIncomeType Int 1-2
Describes the customer source of income values in UAT8- Govt 9- Public sector 10- Private Sector 11- Business 13- Agriculture 12- Dependent
Describes the customer source of income values in Prod1- Govt 2- Public sector 3- Private Sector 4- Business 5- Agriculture 6- Dependent
AnnualIncome Int 1-2 Describes the customer annual income value in UAT6- Rs. 0.00 lacs to Rs. 2.00 Lacs7- Rs. 2.00 Lacs to Rs. 5 Lacs8- Rs. 5 Lacs to Rs. 10 Lacs9- More than Rs. 10 Lacs
Describes the customer annual income values in Prod1- Rs. 0.00 lacs to Rs. 2.00 Lacs
20
2- Rs. 2.00 Lacs to Rs. 5 Lacs3- Rs. 5 Lacs to Rs. 10 Lacs4- More than Rs. 10 Lacs
PoliticallyExposedPerson Int 1-2 Describes if PEP or not. 1-Yes 0-No
Customerid Int 12 Unique identification of customer
Approvalstatus Int 2
0-KYC not done1-KYC uploaded not accepted (In Process)3- KYC rejected10- KYC reuploaded- in process7- KYC Accepted
CardAlias String 1-20 Card reference number (will be blank)
AccNumber Int 1-20 Unique account number
Idproofname String 1
Describes the customer ID proof name1 – Aadhaar card2 – PAN card3 – Passport4 – Driver license5 – Voter ID card
Ifproofnumber String 5-199 Describes the customer ID proof number of selected ID proof
Schemeid Int 1-2Walletid Int 8 Describes the wallet id
5.7 Account Load
This API is used for loading of wallet.
5.7.1 Request<walletloadreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><loadsource></loadsource><customerid>4132933</customerid><PGid></PGid><load>
21
<walletload><amount>10000</amount><schemeid>1</schemeid><RefNo>vdsy97dcac</RefNo><Remarks></Remarks></walletload></load></walletloadreq>
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
Loadsource* Int 1-2
Describes the source for load1 – Credit card2 – Debit card3 – Net banking4 – UPI5 - Cashback
customerid* Int 12 Describes the customer ID
PGid* Int 10
Describes the unique identification number assigned to a transaction by PG
Amount* Int 1-10 The amount to be loaded
Schemeid* Int 1-2 Describes the sub wallet id
RefNo* String 1-20Unique reference number per transaction by Channel partner
Remarks* String 1-50 Request description
5.7.2 Response<?xml version="1.0" encoding="utf-16" standalone="no"?><walletloadres> <status>1</status> <desc>SUCCESS</desc> <customerid>4132933</customerid> <Totalbalance></Totalbalance>
22
<load> <walletload> <loadstatus></loadstatus> <desc></desc> <amount></amount> <schemeid></schemeid> <accnumber></accnumber> <Bankrefid></Bankrefid> <RefNo>vdsy97dcac</RefNo> </walletload> </load> </walletloadres>
Field Name Data Type Length Description
Status Int 10- failure1-success5-Token expired
Desc String 50 Response description
Customerid Int 12 Describes the customer ID
Total balance Int 1-10 The total available balance of wallet
loadstatus Int 1Describes status of load0 – Failure1 - Success
desc String 50 Response description
Amount Int 1-10 The amount that is loaded
Schemeid Int 1-2 Describes the sub wallet id
Accnumber Int 1-10 Describes the account number
Bankrefid String 1-20 Unique reference number per transaction by bank
RefNo String 1-20Unique reference number per transaction by Channel partner
5.8 Load Query
23
This API is used to enquire on the status of the wallet loading initiated through Account load API.
5.8.1 Request
<walletloadrequeryreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><walletquery><RefNo>vdsy97dcac</RefNo></walletquery></walletloadrequeryreq>
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
RefNo* String 1-20Reference number for account load generated by channel partner
5.8.1.1 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><walletloadrequeryres><customerid></customerid> <status>1</status><desc></desc><query><walletqueryres><loadstatus></loadstatus><desc></desc><schemeid></schemeid><accnumber></accnumber> <Bankrefid></Bankrefid><Remarks></Remarks><RefNo>vdsy97dcac</RefNo></walletqueryres>
24
</query></walletloadqueryres>
Field Name Data Type Length Description
customerid Int 12 Describes the customer ID
Status Int 1
Describes status of API call0 – Failure1 – Success5- Token expired
desc String 50 Response description
loadstatus Int 1Describes status of load0 – Failure1 - Success
desc String 50 Response descriptionschemeid Int 1-2
accnumber Int 1-10 Describes the account number
Bankrefid String 1-20 Unique reference number per transaction by bank
Remarks String 1-50 Response description
RefNo String 1-20Reference number for account load generated by channel partner
5.9 Transaction Details
This API is used to display all successful and unsuccessful transaction details for a wallet.
5.9.1 Request
<trandetailsreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><customerid>4132933</customerid>
25
<schemeid>1</ schemeid > <Tranhistory>1</Tranhistory> <startdate>2017-10-10</startdate><enddate>2017-10-11</enddate></trandetailsreq>
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session created at the time of login is used here
customerid* Int 12 Unique Identifier for customerSchemeid Int 1-2
Tranhistory* Int 10 – to provide successful transaction details1 – to provide successful and failure transaction details
Startdate* Date 10 Start date for transaction to be displayed.( YYYY-MM-DD)
Enddate* Date 10 End date till transaction to be displayed( YYYY-MM-DD)
5.9.2 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><trandetailsres><status>1</status><desc>Successful</desc><transaction><AmBill>10000</AmBill><Fees> </Fees><txndatetime>2019-02-15 15:50:57</txndatetime><CrDb>2</CrDb><Partialdebits></Partialdebits> <TxnStatus>1</TxnStatus><desc>SUCCESS</desc><Mcc>0</Mcc><loadsource>< loadsource ><Remarks></Remarks><MerchantorPGname>abc</MerchantorPGname><MerchantorPGid>abc</MerchantorPGid><Walletlevel><Wallet>
26
<Debitamount></Debitamount><Accountnumber> </Accountnumber> <Schemeid></Schemeid> <wallettxnid></wallettxnid> </Wallet> </Walletlevel> </transaction></trandetailsres>
Field Name Data Type Length Description
Status Int 1
Describes status of API call0 – failure1 - success5- Token expired
desc String 50 Response descriptionAmbill Int 1-10 The amount that is debitedfees Int 1-10 Describes transaction fee (null)
Txndatetime Int 19 Describes date and time of the transaction(YYYY-MM-DD-HH:MM:SS)
CrDb Int 1 Credit debit flagpartialdebits Int 1-10 Describes partial debits (null)
Txnstatus Int 1Describes status of transaction0 – failure1 - success
Dec String 50 Response descriptionMcc Int 4 Merchant category code
loadsource Int 1-2
Describes the source for load1 – Credit card2 – Debit card3 – Net banking4 – UPI5 - Cashback
Remarks String 1-50 Response descriptionMerchantorPGname String 20 Describes merchant or PG nameMerchantorPGid Int 10 Describes merchant or PG idDebitamount Int 1-10 The amount that is debitedaccountnumber Int 1-10 Describes the account numberschemeid Int 1-2
27
wallettxnid String 1-20 Unique reference number per wallet transaction by bank
5.10 Wallet Account BalanceThis API is used to check wallet account balance.
5.10.1 Request<Balancecheckreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><customerid>87584</customerid><Wallet><schemeid></schemeid></Wallet></Balancecheckreq>
Field Name Data Type Length Description
sessiontoken* String 1-200 Session Token received in Login Response
customerid* Int 12 Unique Identifier for customer
Schemeid* Int 1-2
5.10.2 Response<?xml version="1.0" encoding="utf-16" standalone="no"?><Balancecheckres><customerid></customerid><Totalbalance></Totalbalance><balance><Wallet><schemeid></schemeid><accnumber></accnumber><walletbalance></walletbalance> </Wallet></balance></Balancecheckres>
28
Field Name Data Type Length Description
customerid Int 12 Unique Identifier for customer
Totalbalance Int 1-10 The total available balance of wallet
schemeid Int 1-2
accnumber Int 1-10 Describes the account number
Wallet balance Int 1-10 Available balance for a wallet
5.11 Debit API
This service is used to debit wallet holder for any purchase. Unique reference id is assigned to each debit.
5.11.1 Request
<debitreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><amount>10000</amount><customerid>4132933</customerid><schemeid>1123</schemeid><DebitrefNo>vdsy97dcac</DebitrefNo><mcc>5643</mcc><Remarks></Remarks><Narration>TATA SKY BROADBAND SERVICES</Narration><merchantid>TAT100010</merchantid></debitreq>
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
amount* Int 1-10 The amount to be debited
Customerid* Int 12 Unique Identifier for
29
customerSchemeid* Int 1-2
Debitrefno* String 1-20Unique reference number per transaction by Channel partner
Mcc* Int 4 Merchant category codeRemarks* String 1-50 Request description
narration String 50 Describes the service for which debit is initiated
merchantid* Int - Describes the merchant identification number
5.11.2 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><debitres> <status>1</status> <desc>SUCCESS</desc> <customerid>4132933</customerid> <Debitamount>10000</amount> <Fees></Fees> <Bankdebitrefno>11101701283611</Bankdebitrefno> <DebitrefNo>vdsy97dcac</DebitrefNo> <txndatetime>2019-02-15 15:50:57</txndatetime> <Partialdebits></Partialdebits> <Narration></Narration> <walletlevelbalance> <Wallet> <Debitamount></Debitamount> <Accountnumber> </Accountnumber> <Schemeid></Schemeid> <walletdebitid></walletdebitid> </Wallet> </walletlevelbalance></debitres>
Field Name Data Type Length Description
Status Int 10- failure1-success5- Token expired
30
Desc String 50 Response description
Customerid Int 12 Describes the customer ID
Debitamount Int 1-10 The amount that is debited
Fees Int 1-10 Describes transaction fee (null)
bankdebitrefno String 1-20Unique reference number per debit transaction by bank
Debitrefno String 1-20Unique reference number per transaction by Channel partner
Txndatetime Int 19
Describes date and time of the transaction(YYYY-MM-DD-HH:MM:SS)
Partialdebits Int 1-10 Describes partial debits (null)
Narration String 50 Describes partial debit
Debitamount Int 1-10 The amount to be debited
accountnumber Int 1-10 Describes the account number
Schemeid Int 1-2
Walletdebitid String 1-20Unique reference number per wallet debit transaction by bank
5.12 Debit Query
This API is used to enquire on a debit transaction made.
5.12.1 Request
<debitqueryreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><DebitrefNo>vdsy97dcac</DebitrefNo></debitqueryqreq>
31
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
debitrefno* String 1-20Unique reference number per transaction by Channel partner
5.12.2 Response
<?xml version="1.0" encoding="utf-16" standalone="no"?><debitqueryres><Status>1</Status><desc></desc><customerid>4132933</customerid><BankRefID>11101701283611</BankRefID><DebitrefNo>vdsy97dcac</DebitrefNo><txndatetime>2019-02-15 15:50:57</txndatetime><Partialdebits></Partialdebits><Narration></Narration><Remarks></Remarks><walletlevelbalance><Wallet><Debitamount></Debitamount><Accountnumber> </Accountnumber><Schemeid></Schemeid><walletdebitid></walletdebitid></Wallet></walletlevelbalance></debitqueryqres>
Field Name Data Type Length Description
Status Int 10- failure1-success5- Token expired
desc String 50 Response description
customerid Int 12 Describes the customer ID
bankrefid String 1-20 Unique reference number per debit transaction by
32
bank
debitrefno String 1-20Unique reference number per transaction by Channel partner
txndatetime Int 19
Describes date and time of the transaction(YYYY-MM-DD-HH:MM:SS)
partialdebits Int 1-10 Describes partial debits (null)
narration String 50 Describes partial debitRemarks String 1-50 Request description
debitamount Int 1-10 The amount that is debited
accountnumber Int 1-10 Describes the account number
schemeid Int 1-2
walletdebitid String 1-20Unique reference number per wallet debit transaction by bank
5.13 Wallet Blocking/Unblocking
This API is used for blocking/unblocking a wallet.
5.13.1 Request
<walletblockunblockreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3F7E94BCF85FD78209F5D5FBA05A47CEE802B7B2C899369C48</sessiontoken></header><customerid>4132933</customerid><Walletid>1123</Walletid><flag>01</flag ></walletblockunblockreq>
33
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session created at the time of login is used here
customerid* Int 12 Unique Identifier for customerWallet id* Int 8 Unique number
flag* Int 2
00 – Normal blocked01 – Temporary blocked02 – Permanent blocked03 - Unblock
5.13.2 Response<?xml version="1.0" encoding="utf-16" standalone="no"?><walletblockunblockres> <customerid>4132933</customerid> <Walletid>1123</Walletid> <status>1</status> <desc>SUCCESS</desc></walletblockunblockres>
Field Name Data Type Length Descriptioncustomerid Int 12 Unique Identifier for customer
Status Int 10- failure1-success5- Token expired
Desc String 50 response description
5.14 Update Customer Details API
This API will be used to update the details of the customer.In case of Minimum KYC customer update, only the below mentioned fields will be mandatory in the API request;
Mobile number
5.14.1 Request
<customerupdationreq>
34
<header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3FFD903CDD6AC26238CB6753D2CB84474B02B7B2C899369C48</sessiontoken></header><bcagent>eur1012333</bcagent><customerid>4132904</customerid><firstname>Mri</firstname><middlename>Devi</middlename><lastname>Singh</lastname><dateofbirth>10/10/1987</dateofbirth><gender>Female</gender><mothermaidenname>Devi</mothermaidenname><nationality>Indian</nationality><occupation>Banker</occupation><resaddress1>106, Riverra</resaddress1><resaddress2>106, Riverra</resaddress2><city>Alwar</city><state>Maharashtra</state><pincode>400101</pincode><rescountry>India</rescountry ><mobilenumber>9815384305</mobilenumber><emailaddress>[email protected]</emailaddress><laddress1>106, Riverra</laddress1><laddress2>106, Riverra</laddress2><lcity>Alwar</lcity><lstate>Raj.</lstate><lpincode>301001</lpincode><lcountry>India</lcountry><CustomerStatus>2</CustomerStatus><CustomerType>12</CustomerType><SourceIncomeType>13</SourceIncomeType><AnnualIncome>7</AnnualIncome><PoliticallyExposedPerson>1</PoliticallyExposedPerson><fatcadecl>1</fatcadecl><idproofname>1</idproofname> <idproofnumber>gkjgdaui678564648</idproofnumber></customerupdationreq>
Field Name Data Type Length Description
35
Sessiontoken* String 1-200 Session created at the time of login is used here
bcagentid* String 5-199 Describes the agent idcustomerid Int 12 Describes the customer IDFirstname* String 1-50 Describes the customer first nameMiddlename String 1-50 Describes the customer middle nameLastname* String 1-50 Describes the customer last name
Dateofbirth date date Describes the customer Date of birth (MM/DD/YYYY)
Gender String 3-49 Describes the customer gender Male/Female
Mothermaidenname String 49 Describes the customer maiden
name/mothernameNationality String 10 Describes the customer nationalityOccupation String 1-10 Describes the customer occupation
resaddress1 String 5-199 Describes the customer residential address1
resaddress2 String 5-199 Describes the customer residential address2
City String 3-49 Describes the customer cityState String 3-49 Describes the customer statePincode String 10 Describes the pincode numberRescountry String 20 Describes the customer countryemailaddress String 3-49 Describes the customer email addressMobileNumber Int 1-10 Mobile no. of customerladdress1 String 49 Describes the customers local address 1laddress2 String 49 Describes the customers local address 2Lcity String 49 Describes the customers local cityLstate String 49 Describes the customers local statelpincode String 49 Describes the local pincodelcountry String 49 Describes the customer country
CustomerStatus Int 1-2 Describes the customer status1-individual 2-Non-Individual(Same for both UAT and Prod)
CustomerType Int 1-2
Describes the customer type in UAT16-Salaried 15-Self Employed including Professional 14-Farmer 17-Housewife 12-MinorDescribes the customer type in Prod1-Salaried 2-Self Employed including
36
Professional 3-Farmer 4-Housewife 5-Minor
SourceIncomeType Int 1-2
Describes the customer source of income values in UAT8- Govt 9- Public sector 10- Private Sector 11- Business 13- Agriculture 12- Dependent
Describes the customer source of income values in Prod1- Govt 2- Public sector 3- Private Sector 4- Business 5- Agriculture 6- Dependent
AnnualIncome Int 1-2
Describes the customer annual income value in UAT6- Rs. 0.00 lacs to Rs. 2.00 Lacs7- Rs. 2.00 Lacs to Rs. 5 Lacs8- Rs. 5 Lacs to Rs. 10 Lacs9- More than Rs. 10 Lacs
Describes the customer annual income values in Prod1- Rs. 0.00 lacs to Rs. 2.00 Lacs2- Rs. 2.00 Lacs to Rs. 5 Lacs3- Rs. 5 Lacs to Rs. 10 Lacs4- More than Rs. 10 Lacs
PoliticallyExposedPerson Int 1-2 Describes if PEP or not. 1-Yes 0-No
Fatcadecl String 2
Describes whether the customer is tax resident of India or not0 – individual is tax resident of outside India1 – individual is tax resident of India
Idproofname* String 1
Describes the customer ID proof name1 – Aadhaar card2 – PAN card3 – Passport4 – Driver license5 – Voter ID card
Ifproofnumber* String 5-199
Describes the customer ID proof number of selected ID proof
37
5.14.2 Response<?xml version="1.0" encoding="utf-16" standalone="no"?><customerupdationres> <status>1</status> <desc>Success</desc></customerupdationres>
Field Name Data Type Length Description
Status Int 10- failure1-success5- Token expired
Desc String 50 Response description
5.15 Refund APIThis API is used for loading of wallet in case of refund scenario.
Note: the below mentioned rules will be applicable for refund scenario;
1. The “Bankdebitrefno” generated in Debit API response to be passed in the “RBLoriginaltransactionid” tag in request of Refund API. 2. The “merchantid” passed in request of Debit API is to be passed in “BCAgentID” tag in request of Refund API.
5.15.1 Request
<walletrefundreq><header><sessiontoken>50D8DDE5C4B98B57C600982A65E645ED0C16B28BFB59069209E192D0AEDAC6F15151EB3FFD903CDD6AC26238CB6753D2CB84474B02B7B2C899369C48</sessiontoken></header><BCAgentID></BCAgentID><customerid></customerid><partnerRefundtransactionid></Refundtransactionid><RBLoriginaltransactionid>IIWSHDK</RBLoriginaltransactionid><refundamount>200.00</refundamount><Remarks></Remarks></walletrefundreq>
38
Field Name Data Type Length Description
Sessiontoken* String 1-200 Session Token received in Login Response
BCAgentID* String 5-199 Describes the agent id
Customerid* Int 12 Unique Identifier for customer
partnerRefundtransactionid* String 1-20
Unique reference number per refund transaction by Channel partner
RBLoriginaltransactionid * String 1-20Unique reference number per transaction by bank
refundamount* Int 1-10 The amount to be refunded
Remarks* String 1-50 Request description
5.15.2 Response
<?xml version="1.0" encoding="utf-8" standalone="no"?><walletrefundres> <status>1</status> <remarks>SUCCESS</remarks> <refundedamount>10</refundedamount> <customerid>11915342</customerid> <Totalbalance>12880.0000</Totalbalance> <partnerRefundtransactionid>sandy14</partnerRefundtransactionid> <RefundTxnID>B7PPBM</RefundTxnID></walletrefundres>
Field Name Data Type Length Description
status String 1-2000- failure1-success5- Token expired
39
remarks String 1-50 Response descriptionrefundedamount Int 1-10 The amount refunded
customerid Int 12 Unique Identifier for customer
Totalbalance Int 1-10 The total available balance of wallet
partnerRefundtransactionid String 1-20
Unique reference number per refund transaction by Channel partner
RefundTxnID String 1-20Unique reference number per refund transaction by bank
40
Top Related