NIBSS Bill Payments. 3.1 Date: State: Final Classification: Public

Size: px
Start display at page:

Download "NIBSS Bill Payments. 3.1 Date: State: Final Classification: Public"

Transcription

1 3.1 Date: State: Final Classification: Public

2 Technical Data File name: NIBSS Bill Payments Version: 3.1 Status: Final Classification: Public Document type: Specification Authors and Participants Name NIBSS NIBSS NIBSS NIBSS Function Elaboration Participation Revision Approval Distribution List Name NIBSS Banks, PTSPs, PTAD Revisions Version Data Description Author /02/2017 Document creation NIBSS /04/2017 Sections and were updated NIBSS Page 2 of 102

3 Table of Contents Introduction... 9 Document Objective... 9 Organization... 9 Definitions Data Elements Format References NIBSS Bill Payments Overview Components involved in Bill Payments Customer Merchant POS Terminal HOST VAS Provider Biller NCS Types of Bill Payments Biller Identification Code NIBSS Bill Payment Peculiarities Bill Payment Functional Diagram (POS) Auxiliary Functions Select Biller Select Product Process Biller Subscription Information List Validate Biller Subscription Information Bill Payment Process Diagram Processes at the POS Download of Biller List, Biller Subscription List and Product List Bill Payment Processes at the Host Biller List Download Biller Subscription Information Download Product List Download Payment Validation Payment Notification Payment Notification with Token Bill Payment Reversal to VAS Provider Reversal to NCS Processes at NCS Purchase Reversal Processes at VAS Provider Payment Validation Payment Notification Reversal Host Data Model POS Data Model Page 3 of 102

4 POS-Host Transactions Biller List Download (4B) Request - 4B Response - 4B Biller Subscription Information Download (4D) Request - 4D Response - 4D Product List Download (4C) Request - 4C Response - 4C Payment Validation (4E) Request 4E Response 4E Bill Payment (48) Request Response Prepaid (4A) Request 4A Response- 4A Host-VAS Provider Interface - Web Services Request and Response Format Security Bill Payment Notification Request Reply Bill Payment Notification with Token Request Reply Payment Validation Request VAS Provider to HOST Payment Validation Response Reversal Request Reply HOST-NCS Purchase Purchase Request Purchase Response Annex A. Web Services Data Dictionary B0001 BILLER ID C B0002 PRODUCT CODE C B0003 CUSTOMER SUBSCRIPTION INFORMATION C < B0004 PAYMENT CODE C < B0005 AMOUNT N B0006 TERMINAL ID C B0007 MERCHANT ID C B0008 RETRIEVAL REFERENCE NUMBER C B0009 DATE TIME N B0010 RESPONSE CODE C B0011 TOKEN C B0012 PAYMENT VALIDATED INFORMATION C < Page 4 of 102

5 B0015 TRANSACTION AMOUNT N B0016 TRANSACTION FEE C Annex B. POS2Host & Host2NCS Data Dictionary DE001 DataElement[1] C DE002 DataElement[2] C DE003 DataElement[3] C DE004 DataElement[4] C DE007 DataElement[7] C DE011 DataElement[11] C DE012 DataElement[12] C DE013 DataElement[13] C DE014 DataElement[14] C DE018 DataElement[18] C DE022 DataElement[22] C DE023 DataElement[23] C DE025 DataElement[25] C DE026 DataElement[26] C DE028 DataElement[28] C C DE032 DataElement[32] C LLVAR DE033 DataElement[33] C LLVAR DE035 DataElement[35] C LLVAR DE037 DataElement[37] C DE038 DataElement[38] C DE039 DataElement[39] C DE040 DataElement[40] C DE041 DataElement[41] C DE042 DataElement[42] C DE043 DataElement[43] C DE049 DataElement[49] C DE052 DataElement[52] C DE054 DataElement[54] C LLLVAR DE056 DataElement[56] C LLLVAR DE059 DataElement[59] C LLLVAR DE060 DataElement[60] C LLLVAR DE062 DataElement[62] C LLLVAR DE090 DataElement[90] C DE095 DataElement[95] C DE123 DataElement[123] C LLVAR DE128 DataElement[128] C Page 5 of 102

6 List of Figures Figure 1 Components involved in a Bill Payments operation Figure 2 Biller Selection Process Figure 3 Product Selection Process Figure 4 Biller Subscription Information Process Figure 5 Biller Subscription Information Validation Process Figure 6 Bill Payment Diagram Figure 7 Host Data Model (sample) Figure 8 POS Data Model (sample) Figure 9 Bill Payment Biller Subscription Information input (sample POS screen 1) Figure 10 Bill Payment Biller Subscription Information input (sample POS screen 2) Page 6 of 102

7 List of Tables Table 1 - Terms and Definitions Table 1-2 Data Element Format Table 3-POS Terminals Table 4-Billers List Table 5-Billers Table 6-Billers Subscription Information Table 7-Product List Table 8-VAS Provider Table 9 - Biller Subscription Information contents in POS (sample) Table 10 Product List contents in POS (sample) Table Biller List download request message Table 12 - Field #62 in the 0800 Biller Parameter download request message Table Biller Parameter download response message Table 14 - Field #62 in the 0810 Biller Parameter download response message Table Biller Subscription Information download request message Table 16 - Field #62 in the 0800 Biller Subscription Information download request message Table Biller Subscription Information download response message Table 18 - Field #62 in the 0810 Biller Subscription Information download response message Table Product List download request message Table 20 - Field #62 in the 0800 Product List download request message Table Product List download response message Table 22 - Field #62 in the 0810 Product List download response message Table Payment Validation request message Table 24 - Field #62 in the 0800 Payment Validation Table Payment Validation response message Table 26 - Field #62 in the 0810 Payment Validation response message Table Bill Payment request message Table Bill Payment response message Table Prepaid request message Table Prepaid response message Table 31 - Bill Payment Notification Request Table 32 - Bill Payment Notification Request Mapping Table 33 - Bill Payment Notification - Reply Table 34 - Bill Payment Notification Reply Mapping Table 35 - Bill Payment Notification with Token Request Table 36 - Bill Payment Notification with Token Request Mapping Table 37 - Bill Payment Notification with Token Reply Table 38 - Bill Payment Notification with Token Reply mapping Table 39 - Payment Validation Request Table 40 - Payment Validation Request mapping Table 41 - Payment Validation Reply Table 42 - Payment Validation Reply mapping Table 43 VAS Provider Reversal Request Table 44 - VAS Provider Reversal Request mapping Table 45 VAS Provider Reversal Reply Table Purchase request message Table Purchase response message Page 7 of 102

8 Page 8 of 102

9 Introduction Document Objective The aim of this document is to provide a detailed description of the Bill Payment process flow between the POS, the HOST server and the VAS Providers during Bill Payment operations in NIBSS environment. Additionally, it specifies the Web Service Interface that connects the HOST to the VAS Provider. It expresses in detail the behavioral and technical functions that apply during these operations. Organization This document is organized into the following sections: Section 1. Introduction: Introduces the objectives of the document. Section 2. NIBSS Bill Payments Overview: This section identifies the components involved in Bill Payments operations. Section 3. Bill Payment Operation Flow: This section identifies the components that must be present to perform a Bill Payment Operation. Section 4. Bill Payment Process Diagram: This section identifies the processes that must be present to perform a Bill Payment Operation. Section 5. Host Data Model: This section describes the Host Data Model. Section 6. POS Data Model: This section describes the POS Data Model. Section 7. POS-Host Transactions: This section identifies and describes all the transactions that can be done between the POS terminal and the Host. Section 8. Host-VAS Provider Interface Web Services: This section describes in details the interface between the HOST and the VAS Provider. Section 9. Host-NCS: This section identifies and describes all the transactions that can be done between the Host and the NCS related to the Bill Payment operation. Annex A POS-Host: This section shows the Payment Validation operation between the POS Terminal and the Host. Annex B Data Dictionary: This section defines in detail all fields involved in the request and response format of the Web Service operations. Page 9 of 102

10 Definitions The following are definitions applicable to this document. Table 1 - Terms and Definitions Term Definition Biller Biller Aggregators Bill Payment HOST NCS NIBSS POS Processor PTSP SECURITY MODULE VAS VAS Provider The entity that sells products or services using the Bill Payment Operation. The entity that provides one or more payment solutions. The purchase of a product or service through electronic means that involves the interaction with a VAS Provider in order to provide the product or service Electronic Payment Management System Nigeria Central Switch Nigeria Interbank Settlement System Point of Sale Payment Processor (issuer/acquirer processor) Payment Terminal System Provider Software Security Module Value Added Services The system that manages the delivery of a product or service once payment is performed Data Elements Format In this document the following data elements definition are used. Table 1-2 Data Element Format Format Description Hexadecimal Contents Binary Contents 20h up to 7Eh up to and and C Character range i 80h and A0h up to FFh and up to N Numeric range 30h up to 39h up to LLVAR LLLVAR 2 decimal digits length + Data 3 decimal digits length + Data Page 10 of 102

11 References [1] POS Interface Specifications ISO8583 (1987) version 1.12, November, [2] Nigeria Central Switch Interface Specifications ISO8583 (1987) [3] VAS CTMS Technical Specification, version 1.2, 02 March Page 11 of 102

12 NIBSS Bill Payments Overview This chapter describes generically the components involved in NIBSS Bill Payments operations as well as some of its peculiarities. Components involved in Bill Payments The next figure depicts the components involved in a Bill Payment Operation. Customer POS Terminal Host VAS Provider ISO 8583 Interface WebService Interface Merchant ISO 8583 Interface NCS Biller 1... Biller N Customer Figure 1 Components involved in a Bill Payments operation The cardholder willing to pay for a product/service at a merchant location Merchant The person that has a commercial agreement with a Bank and is able to accept payments on POS POS Terminal The POS Terminal implements a POS functional specification [1] that allows customers to pay for bills or services using specific operations. Page 12 of 102

13 2.1.4 HOST The HOST is the front end processor that drives the POS terminal. The HOST interacts with the NCS and the VAS Providers to perform Bill Payment operations VAS Provider The VAS Provider manages the delivery of a product or service once payment is performed. It acts on behalf of the Biller when the Biller has no capability to expose an interface that implements the required Web Service functionalities Biller The entity that provides the service or product acquired through bill payments. It may act as a VAS Provider if the Biller has the capability to implement the required Web Service functionalities NCS The NCS is responsible to forward payment messages for processing to the appropriate Processor (omitted from the figure). Types of Bill Payments The POS functional specification [1] defines two types of Bill Payment transactions: Subscription Type Bill Payment In this kind of Bill Payment the customer subscribed to a service and is paying for the subscription. Product Type Bill Payment In this kind of Bill Payment the customer will pay for a service or product and as a result of the payment a token is be produced that will be used to gain access to the product or service (e.g. imputing the token an electricity meter to give electricity credit); The POS distinguishes the processing between the two Bill Payment types depending on the Biller Identification Code (see next section). Page 13 of 102

14 Biller Identification Code The Biller Identification Code is a char field with length 15, composed by the following items: Type of Bill Payment to process (position 1): o o 4 - Token; 5 - Bill Payment. The VAS Provider Code ( 3 characters position 2-4 ); Merchant Category Code ( a valid MCC position 5-8 ); Biller ID ( number position 9-15 ). Biller Identification Code (char 15) identifies uniquely the Biller. Examples: 4V V V V V V NIBSS Bill Payment Peculiarities The role of NIBSS in respect to POS terminals in the Nigeria Payment System is limited to act as a Payment Terminal System Aggregator (PTSA). The PTSA role was mandated very recently and NIBSS had very little power to change the status quo of the payment industry. In order for NIBSS to offer the Bill Payment services it needed to adapt and implement what was already a common practice in the industry. The above context produced the following peculiarities of NIBSS Bill Payment operations: Replacement of field #3 in request message from the Host to NCS To perform a Bill Payment, the POS sends to the Host a Bill Payment request message. When sending the message to NCS, the Host replaces the Bill Payment transaction type with purchase transaction type (field #3); Replacement of fields #41, #42 and #43 in request message from the Host to NCS In a Bill Payment operation it is supposed that money is moved from the Customer s account to the Billers Account. However, if the financial transaction is performed using field #41 Card Acceptor Terminal ID belonging to the Merchant actually the money is going to be moved from the Customer s account to the Merchant s account. The workaround made in NIBSS was such Page 14 of 102

15 that when the Host receives the Bill Payment request message from the POS, the Host forwards a Purchase request (see previous bullet) to NCS. Regarding the value in field #41 Card Acceptor Terminal ID, field #42 Card Acceptor Identification and field #43 Card Acceptor Name / Location must happen one of the following options: 1. If there is no information for mapped DE#41, DE#42 and DE#43 for billers, we should use the original DE#41, DE#42 and DE#43, which comes from the terminal. 2. If there is information for mapped DE#41, DE#42 and DE#43 for billers, we should use the mapped DE#41, DE#42 and DE#43, which are present in billers table. Page 15 of 102

16 Bill Payment Functional Diagram (POS) The next diagram depicts the functional diagram of the Bill Payment operation. IN SERVICE INSERT CARD OR SELECT OPERATION POS in idle Wait for Operation Selection, Card Insertion, Card Swipe Card Swiped Bill Payment Operation selected from menu Card Inserted Read Magnetic Track(s) OK Consider Amount = 0 OK Select Biller CANCEL OK Select Product CANCEL OK Process Biller Subscription Information List OK CANCEL Biller Subscription Information is empty? Y N Product List is empty? Y Validate Biller Subscription Information N NOTHING TO PAY PRESS ANY KEY OK P1 CANCEL Page 16 of 102

17 P1 Amount = 0? T NOTHING TO PAY PRESS ANY KEY CANCEL N Cancel Operation END FALLBACK Revert N Process Contactless According to VISA/ Mastercard Requirements MStripe Amount above CVM limit? Y CTLS Mchip or qvsdc profile CTLS processing requires Online PIN? Y CANCEL CANCEL CANCEL ICC FAIL N A ONLINE Technology Selection for Client Cards ICC ICC Initiate OK ICC Processing EMPTY_LIST Cardholder Verification OK ICC FAIL FALLBACK CANCEL DECLINE ICC FAIL ICC Failure FALLBACK CANCEL CANCEL MAGNETIC OK END Y MANUAL KEY ENTRY Card Present? 1 Cardholder Verification CANCEL OK N Cardholder Verification CANCEL A ICC Failure FALLBACK OK ANNUL OPERATION OK CANCEL FALLBACK Consider Processing Code = 4A Y Biller starts with 4? N Consider Processing Code = 48 Core Processing (Transaction is 0200, Processing Code = Code) OK FAIL ANNUL OPERATION Print Receipt Print Receipt Clear all data collected from the Client - this includes data read from the card and Pinblock Clear all data collected from the Client - this includes data read from the card and Pinblock Wait Card Removal Wait Card Removal Process Requested Operation END Annul Operation END 1 Data origin selected/inserted in Manual Client Identification set to 9 (Card Present) Page 17 of 102

18 Auxiliary Functions Select Biller Select Biller Prepare Biller Range for presentation and selection according to display and input capabilities SELECT BILLER 1. BILLER NAME 2. BILLER NAME 3. BILLER NAME 45s Timeout expired Cancel Key Pressed Biller selected Next/Previous Biller Range Use selected Biller in the context of the operation Prepare next Biller Range for selection according to display and input capabilities OK CANCEL Figure 2 Biller Selection Process Page 18 of 102

19 3.1.2 Select Product Select Product Product List is empty? Y Consider no product selected Product Amount = 0 N OK Prepare Product Range for presentation and selection according to display and input capabilities 1. PRODUCT 2. PRODUCT 3. PRODUCT SELECT PRODUCT 45s Timeout expired Cancel Key Pressed Product selected Next/Previous Biller Range Prepare next Product Range for selection according to display and input capabilities Use selected Product in the context of the operation. Consider transaction amount (field#4) =Product Amount OK CANCEL Figure 3 Product Selection Process Page 19 of 102

20 3.1.3 Process Biller Subscription Information List Process Biller Subscription Information List Biller Subscription Information List is empty? Y Consider Biller Subscription Information List is empty N Present Biller Subscription Tag to be imputed. Present default value if any. OK TAG=AMOUNT Y Product Amount (from Select Product) = 0? N N ERROR WHILE PROCESSING AMOUNT CONTACT NIBSS Y [OPERATION NAME] [TAG] [DEFAULT VALUE] 45s Timeout expired Cancel Key Pressed CANCEL Amount Introduction OK CANCEL Consider the inserted amount as transaction amount (field #4) All tags processed? Y N Use all tags and values to format Payment Validation Prepare next Biller Subscription Tag to be imputed. OK Figure 4 Biller Subscription Information Process Page 20 of 102

21 3.1.4 Validate Biller Subscription Information Validate Biller Subscription Information Biller Subscription Information is empty? Y OK N Core Processing (Transaction is 0800, Processing Code=4E) FAIL OK PAYMENT VALIDATION FAIL PRESS A KEY 45s Timeout expired Cancel Key Pressed OK CANCEL Figure 5 Biller Subscription Information Validation Process Page 21 of 102

22 Bill Payment Process Diagram This section describes the Bill Payment operation flow to help to better understand how the Bill Payment Operations work, what are the steps involved and the interactions between the POS and the Host, the Host and NCS and the Host and the VAS Provider. The description may not contain all details related with the processing of each step (e.g. validations performed by the Host regarding message fields, Hash, etc.). The steps are focused on explaining the details regarding the Bill Payments processing aspects. In the following example the customer intends to pay for a bill at a merchant location. In the example it is assumed that the Customer knows: The Biller; What it intends to pay; The required information requested by the POS during the operation execution (if any). Figure 6 represents the major intervenient in a Bill Payment operation. Figure 6 Bill Payment Diagram Customer P1 P2 P3 P4 Bill Payment Type Process Product List Process Biller Subscription List PA PB PC P5 P6 Biller List Download Biller Subscription Information Download Product List Download Payment Validation H-BL-1 H-BL-2 H-BS-1 H-BS-2 H-PL-1 H-PL-2 H-PV-1 H-PV-2 Host H-PV-1 H-PV-2 H-BP-4 H-BP-5 Payment Validation Payment Notification V-PV-1 V-PV-2 V-PN-1 V-PN-2 P7 P8 P9 Bill Payment H-BP-1 H-BP-8 H-BP-9 H-RVP-1 H-RVP-2 Reversal V-R-1 V-R-2 Merchant POS Terminal P10 Reversal H-R-1 H-R-2 H-BP-2 H-BP-3 H-RNCS-1 H-RNCS-2 VAS Provider Purchase Reversal Legend: P9 H-RVP-1 POS process/step Server process/step NCS-P-1 NCS-P-2 NCS NCS-R-1 NCS-R-2 Page 22 of 102

23 Processes at the POS The following are the steps and processes that exist at the POS. Before a Bill Payment operation starts, it is assumed that the POS already performed the steps: PA, PB and PC. Nowadays the responsibility of triggering the download of the Biller List, Product List and Biller Subscription List is a responsibility of the PTSP. In some POS applications, these downloads are triggered every time the POS powers up and in others when the POS real-time clock reaches midnight Download of Biller List, Biller Subscription List and Product List Step PA POS Downloads the Biller List The POS downloads the Biller List. Step PB POS Downloads the Biller Subscription List The POS downloads the Biller Subscription List for all billers. Step PC POS Downloads the Product List The POS downloads the Product List information for all billers Bill Payment Step P1 Bill Payment initiation The Customer approaches the merchant to pay for a Bill. It informs the merchant about the Biller that he which s to pay bills for; The Merchant selects a Bill Payment operation and selects the Biller from the Biller List (previously downloaded by the POS terminal) for the payment that is about to be performed. The process continues at Step P2 If the Merchant cancels the operation, the process ends. Step P2 POS determines the type of Bill Payment to process Once the Biller is chosen from the Biller List, the POS determines what type of Bill Payment to process based on the first byte of the Biller Identification Code: o o If the Biller Identification Code starts with 4 the POS processes a Token Sales (e.g. Recharge Card); If the Biller Identification Code starts with 5 the POS processes a Bill Payment (e.g. DSTV Payment); Page 23 of 102

24 Step P3 Processing of the Product List The POS uses the information contained in the Product List to present a list of products available for the selected Biller. If the Merchant selects the product from the Product List based on the information provided by the Customer the process continues at Step P4; If the list of Products is empty, the process continues at Step P4; If the Merchant cancels the operation, the process ends. Step P4 - Processing of the Biller Subscription List The POS uses the information contained in the Biller Subscription List to query the merchant for the required information. The Merchant using the information provided by the Customer imputes the requested information by the POS until all elements from the Biller Subscription List are exhausted. The process continues at Step P5; If the POS finds a TAG amount, and if the Product Amount is different from 0 in the Biller Subscription Information, the process ends with an error (It cannot exist 2 amounts per product); If the POS finds a TAG amount, and if the Product Amount is 0 in the Biller Subscription Information, the POS asks for the amount introduction; If there is no information to collect from the Biller Subscription List (the list is empty): o The process continues at Step P7; o If the Merchant cancels the operation, the process ends. Step P5 POS sends a Payment (Information) Validation request message After collecting the information required in the Biller Subscription List the POS formats a Payment Validation request message and sends to the Host; The process continues at Step P6. Page 24 of 102

25 Step P6 POS processes Payment Validation response from the Host Declined of failed Payment Validation Request: o As a result of a declined or failed Payment Validation response, the process ends. Approved: o When receiving an approved Payment Validation from the Host, the POS formats field #60 of the Bill Payment request message with the following contents: Tag 41 contains the Biller selected at Step P1; Tag 50 contains the Customer Subscription information processed at Step P4. o The process continues at Step P7. Step P7 Payment Conditions If the Transaction amount is 0, the process ends; If the Transaction amount is different from 0, the process continues at Step P8. Step P8 Bill Payment request If the Biller Identification Code starts with 4 the POS sends a Payment of Token to the Host; If the Biller Identification Code starts with 5 the POS sends a Bill Payment to the Host; The process continues at Step P9. Step P9 Bill Payment reply If the Host replies with an approval the POS prints the receipt and the operation ends; If the Host replies with a refusal the POS prints the receipt with the result of the operation and the operation ends; If the POS does not receive a reply from the Host, the POS initiates a reversal. The process continues at Step P10; If the POS receives a Host reply but containing errors the POS initiates a reversal. The process continues at Step P10. Page 25 of 102

26 Step P10 Reversal The POS sends a Reversal to the Host and waits for a reply; If a reply is received the POS prints a receipt with the result of the operation and the operation ends; The POS keeps the Reversal if it did not receive a reply from the Host or if the Host response is incorrect (Reversal will be sent in a next opportunity and before the next Customer operation); The operation ends. Page 26 of 102

27 Processes at the Host Biller List Download Step H-BL-1 Host processing of the Biller List download request message After receiving a Biller List download request message from the POS, the Host queries the internal database to format the Biller List download reply message. The process continues at Step H-BL-2. Step H-BL-2 Host processing of the Biller List reply message If the Host was able to find Billers for the POS the Host replies with error code equal to 00 (approved) and sends the list of Billers for the particular POS; The Host replies with an error code different from 00 otherwise Biller Subscription Information Download Step H-BS-1 Host processing of the Biller Subscription Information download request message After receiving a Biller Subscription Information download request message from the POS, the Host queries the internal database to format the Biller Subscription Information download reply message. The process continues at Step H-BS-2. Step H-BS-2 Host processing of the Biller Subscription Information download reply message The Host should be able to find Biller Subscription Information for the POS and send that information to the POS The Host should not decline a Biller Subscription Information request due to the absence of Biller Subscription Information for the POS, and in that case the Host should reply, in the 0810 message, with error code equal to 00 (approved) and DE62 must be empty, meaning that the bit corresponding to DE62 should not be present in the bitmap. Page 27 of 102

28 4.2.3 Product List Download Step H-PL-1 Host processing of the Product List download request message After receiving a Product List download request message from the POS, the Host queries the internal database to format the Product List download reply message. The process continues at Step H-PL-2. Step H-PL-2 Host processing of the Product List download reply message The Host should be able to find a list of Products for the POS and send that information to the POS The Host should not decline a list of Product request due to the absence of a list of Products for the POS, and in that case the Host should reply, in the 0810 message, with error code equal to 00 (approved) and DE62 must be empty, meaning that the bit corresponding to DE62 should not be present in the bitmap Payment Validation Step H-PV-1 Host processing of the Payment (Information) Validation request message After receiving the Payment Validation request message from the POS, the Host sends a Web Service request to the VAS Provider requiring validation for the information imputed by the Merchant; The process continues at Step H-PV-2. Step H-PV-2 Host processing of the Payment Validation Web Service reply If the reply from the VAS Provider was received with error code equal to 00 (approved) the Host sends an approved Payment Validation reply to the POS; If the reply from the VAS Provider was received with error code different from 00 (declined): o The Host sends a declined Payment Validation reply to the POS. If the reply from the VAS Provider was not received: o The Host sends a declined Payment Validation reply to the POS. Page 28 of 102

29 4.2.5 Payment Notification The Payment Notification is described inside of the Bill Payment Process but replicated here for convenience as a separated process in the Host Step H-BP-4 Host processing of the Payment Notification Web Service request message After receiving an approved Purchase from the NCS, the Host sends a Payment Notification to the VAS Provider; The process continues at Step H-BP-5. Step H-BP-5 Host processing of the Payment Notification Web Service reply message If the reply from the VAS Provider was received with error code equal to 00 (approved) the Host continues the processing of the Bill Payment (will send an approved reply to the POS) (H-BP- 9); If the reply from the VAS Provider was received with error code different from 00 (declined): o o The Host will reply with a decline to the Bill Payment request from the POS (H-BP-8); The Host will start a reversal process with NCS (H-RNCS-1). If the reply from the VAS Provider was not received or received with error: o o o The Host will reply with a decline to the Bill Payment request from the POS (H-BP-8); The Host starts a reversal process with NCS (H-RNCS-1); The Host starts a reversal process with the VAS Provider (H-RVP-1). Page 29 of 102

30 4.2.6 Payment Notification with Token The Payment Notification is described inside of the Bill Payment Process but replicated here or convenience as a separated process in the Host. Step H-BP-4 Host processing of the Payment Notification with Token Web Service request message After receiving an approved Purchase from the NCS, the Host sends a Payment Notification with Token to the VAS Provider (where applicable); The process continues at Step H-BP-5. Step H-BP-5 Host processing of the Payment Notification with Token Web Service reply message If the reply from the VAS Provider was received with error code equal to 00 (approved) the Host continues the processing of the Bill Payment (will send an approved reply to the POS) (H-BP- 9); If the reply from the VAS Provider was received with error code different from 00 (declined): o o The Host will reply with a decline to the Bill Payment request from the POS (H-BP-8); The Host will start a reversal process with NCS (H-RNCS-1). If the reply from the VAS Provider was not received or received with error: o o o The Host will reply with a decline to the Bill Payment request from the POS (H-BP-8);; The Host starts a reversal process with NCS (H-RNCS-1); The Host starts a reversal process with the VAS Provider (H-RVP-1). Page 30 of 102

31 4.2.7 Bill Payment Step H-BP-1 Host processing of Payment for Bills request message from the POS When the Host receives a Payment for Bills request message from the POS the Host analyses the contents of field #60 Tag 41 in the request to determine the Biller Identification Code of the operation. The Host will use the Biller Identification Code as the key to: o o o o Select the VAS Provider to be used during the remaining of the process; Select the value of field #41 Card Acceptor Terminal Identification to be used in the messages exchanged with NCS; Select the value of field #42 Card Acceptor Identification Code to be used in the messages exchanged with NCS. Select the value of field #43 Card Acceptor Name / Location to be used in the messages exchanged with NCS. Step H-BP-2 Host sends Purchase request to NCS The Host will try to find in the Billers Table the mapped DE#41 Card Acceptor Terminal Identification, DE#42 Card Acceptor Identification Code and DE#43 Card Acceptor Name / Location. o If it finds the correspondence, should replace the original DE#41, DE#42 and DE#43, by the ones that are present in the Biller List Table. Field #41 Card Acceptor Terminal Identification associated to the Biller Identification Code (this information is obtained from the billers table); Field #42 Card Acceptor Identification Code associated to the Biller Identification Code (this information is obtained from the billers table). Field #43 Card Acceptor Name / Location associated to the Biller Identification Code (this information is obtained from the billers table). o If it doesn t find any correspondence, the transaction should continue with the original DE#41, DE#42 and DE#43. After formatting the message with the remaining fields copied from the original transaction sent by the POS to the Host, the Host sends a Purchase request message to NCS. The process continues at Step H-BP-3. Page 31 of 102

32 Step H-BP-3 Host processing of Purchase reply message from NCS If NCS declines the Purchase (field #39 Response Code different from 00, 08, 11) the process continues at Step H-BP-8; If NCS does not reply to the Host the process continues at Step H-BP-8; If NCS Purchase reply message is approved (field #39 Response Code equal to 00, 08, 11) the Host processing continues at Step H-BP-4. Step H-BP-4 Host notification request to the VAS Provider If the Biller Identification Code starts with 5 the POS processes a Subscription Type Bill Payment. In this case the Host will send a Payment Notification to the VAS Provider If the Biller Identification Code starts with 4 the POS processes a Product Type Bill Payment. In this case the Host will send a Payment Notification with Token to the VAS Provider; The process continues at Step H-BP-5. Step H-BP-5 Host processing of the reply from the VAS Provider If the reply from the VAS Provider was received with error the process continues at Step H- RVP-1; If the reply from the VAS Provider was not received the process continues at Step H-RVP-1; If the reply from the VAS Provider was received with error code different from 00 (declined) the process continues at Step H-RNCS-1; If the reply from the VAS Provider was received with error code equal to 00 (approved) the process continues at Step H-BP-9; Step H-RVP-1 Host initiates a reversal to the VAS Provider The Host initiates the reversal process to the VAS Provider in the following situations: o o Error on the VAS Provider response to the Payment Notification; Timeout on VAS Provider to the Payment Notification. The process continues at Step H-RNCS-1. Step H-RNCS-1 Host sends a reversal to NCS The Host initiates the reversal process to NCS in the following situations; o o Error on the VAS Provider response to the Payment Notification; Timeout on VAS Provider to the Payment Notification; Page 32 of 102

33 o o o VAS Provider refused the Payment Notification; Error on the VAS Provider response to the Payment Notification; Timeout on NCS to the Purchase request message. The Host will wait for a reply from the NCS. The absence of reply or reply with errors will be treated as an exception; The process continues at Step H-BP-8. Step H-BP-8 Host sends a refused reply to the POS (END) The Host sends a refused Bill Payment response message to the POS if one of the following conditions happened: o o o o NCS did not respond; NCS refused the operation; NCS approved the operation but there was no reply from the VAS Provider; NCS approved the operation but the VAS Provider refused the operation. The process ends. Step H-BP-9 Host sends an approval reply to the POS (END) The Hosts sends an approved Bill Payment response message to the POS if an approval was obtained from the NCS and from the VAS Provider approved; The process ends. Page 33 of 102

34 4.2.8 Reversal to VAS Provider The Host sends a Reversal request to the VAS Provider in the following conditions: If it receives a Reversal Request for a previous approved Bill Payment from the POS; If a previous response to a Reversal request sent to the VAS Provider from the Host was not received or received with error. Step H-RVP-1 Host processing of the Reversal Request to the VAS Provider The Host sends a Reversal request to the VAS Provider; The process continues at Step H-RPV-2. Step H-RVP-2 Host processing of the Reversal Reply from VAS Provider If the reply from the VAS Provider was received with error code equal to 00 (approved) the Host proceeds with the reversal process depending on the source of the request (Host or POS); If the reply from the VAS Provider was received with error code different from 00 (declined): o The Host sends a declined Payment Validation reply to the POS (H-PV-2). If the reply from the VAS Provider was not received: o o o The Host sends a declined response to the POS; The Host starts a Reversal with the NCS; The Reversal will be repeated to the VAS Provider Reversal to NCS The Host sends a Reversal request to the NCS in the following conditions: If it received a Reversal Request from the POS for a previous approved Bill Payment operation; If an error occurred during a Payment Notification (see H-BP-4); If Reversal reply was not received or received with error. Step H-RNCS-1 Host processing of the Reversal Request to NCS The Host sends a Reversal Request to the NCS; The process continues at Step H-RNCS-2. Step H-RNCS-2 Host processing of the Reversal Reply from the NCS If a Reversal reply was received with success the Reversal Process ends; Page 34 of 102

35 If a Reversal reply was not received or received with error, the Host will resend the Reversal request. Page 35 of 102

36 Processes at NCS Purchase Step NCS-P-1 NCS processing of Purchase request message from the Host NCS forwards the Purchase request message to the processor; The process continues at Step NCS-P-2. Step NCS-P-2 NCS processing of Purchase reply message to the Host If NCS receives a reply message from the processor it replies to the Host; If NCS does not receives a reply message from the processor NCS it will not reply to the Host Reversal Step NCS-R-1 NCS processing of Reversal request message from the Host NCS forwards the Reversal request message to the processor; The process continues at Step NCS-R-2. Step NCS-R-2 NCS processing of Reversal reply message to the Host If NCS receives a reply message from the processor it replies to the Host; If NCS does not receives a reply message from the processor NCS will not reply to the Host. Page 36 of 102

37 Processes at VAS Provider Payment Validation Step V-PV-1 VAS Provider processing of Payment Validation request message from the Host VAS provider processes the Payment Validation request from the Host. The process continues at Step VAS-PV-2. Step V-PV-2 VAS Provider processing of Payment Validation reply message to the Host The VAS Provider processes the Payment Validation request and replies to the Host according to the result of the Payment Validation Payment Notification Step V-PN-1 VAS Provider processing of Payment Notification request message from the Host VAS provider processes the Payment Notification request from the Host. The process continues at Step VAS-PN-2. Step V-PN-2 VAS Provider processing of Payment Notification reply message to the Host The VAS Provider processes the Payment Notification request and replies to the Host according to the result of the Payment Notification Reversal Step V-R-1 VAS Provider processing of Reversal request message from the Host VAS provider processes the reversal request from the Host. The process continues at Step V-R-2. Step V-R-2 VAS Provider processing of Reversal reply message to the Host The VAS Provider processes the Reversal request and replies to the Host according to the result of the Reversal Request. Page 37 of 102

38 Host Data Model This section describes a possible data model for the Host to be able to support Bill Payment Operations. The data model is not complete in the sense that it does not capture all the data elements necessary to support the remaining operations in the POS, including for instance other POS registration details. However this exercise helps to determine additional fields, tables and relationships that needs to exist to support the service. The next picture depicts a possible Host Data Model that is able to support the Bill Payment Operations and related transactions. Page 38 of 102

39 Figure 7 Host Data Model (sample) Note: In the Table 5 Billers, was added the POSVAS ID Field 43 Card Acceptor Name / Location. Classification: Restricted Version Page 39 of 102

40 POS Terminals The POS Terminals table holds the necessary information about the registered terminals. Example: Table 3-POS Terminals POS/Payment Channel Serial Number POS Terminals Field 41 -Card Acceptor Terminal Identification Field 42 -Card Acceptor Identification Code Billers List The Billers List table contains all the Billers for a Particular POS. The table can only contain information that is registered in the Billers Table. Each POS will have its own Biller List. Table 4-Billers List Billers List Biller Identification Code Field 41 -Card Acceptor Terminal Identification 4V V V V Billers The Billers Table contains all the Billers that are registered in the system. Each Biller is uniquely identified by: Biller Identification Code ( char 15 )Each Biller has one VAS Provider. Each Biller has associated: o o POSVAS ID Field 41 Card Acceptor Terminal Identification POSVAS ID Field 42 Card Acceptor Identification Code Page 40 of 102

41 o POSVAS ID Field 43 Card Acceptor Name / Location The above fields are to be used in transactions to NCS, replacing the original Field 41, 42 and 43 in the messages sent by the POS terminal when doing Bill Payment transactions for a particular Biller. Table 5-Billers Biller Identification Code 4V Biller Name MTN (UPSL) 4V PHCN Benin 4V PHCN Rec VAS Provider Code POSVAS ID - Field 41 - Card Acceptor Terminal Identification POSVAS ID - Field 42 -Card Acceptor Identification Code POSVAS ID - Field 43 - Card Acceptor Name / Location V CITISERVE BILLER XYZ, LANG V UPSL BILLER XYZ, LANG V CITISERVE BILLER XYZ, LANG Biller Subscription Information The Biller Subscription Information identifies the fields that need to be collected by the POS during a Bill Payment operation. Each Biller may have multiple fields to be collected by the POS. Table 6-Billers Subscription Information Biller Subscription Information Biller Identification Code Required Information Name Default Value 4V V Subscriber ID Phone Number 4V Recharge 100 4V V V Expiration Date Subscriber Name User ID 4V Pack Product List The Product List table contains the products provided by each Biller. A Biller can have multiple products. Each product is associated with only one Biller. Table 7-Product List Page 41 of 102

42 Product List Product Identification Code Product Name Product Amount Biller Identification Code Air Time V Air Time V Air Time V Air Time V Bundle Web V Bundle Web V VAS Provider The VAS Provider table contains the details of the VAS Provider that is involved in the Bill Payment operation. There is a one to one relationship between a Biller and a VAS Provider (one Biller is supported by one VAS Provider). There is a one to many relationship between a VAS Provider and Billers (one VAS Provider can support multiple Billers). Table 8-VAS Provider VAS Provider ID VAS Provider ID Web service Configuration 1 Citiserve Citiserve Webservice 2 VAS Aggregator 1 VAS Aggregator Webservice Page 42 of 102

43 POS Data Model This section describes a possible data model for the POS to be able to support Bill Payment Operations. The data model is not complete in the sense that it does not capture all other data elements necessary to support the remaining operations in the POS but it is enough to understand what data needs to exit in the POS. Figure 8 POS Data Model (sample) POS Parameters The POS Parameters represents the repository of the POS for its general information. Field 41 (in ISO messages) is the Card Acceptor Terminal Identification in the network (manually inputted in the terminal) and field 42 (in ISO messages) is the Card Acceptor Identification Code downloaded by the Host in through a POS Parameter Download message (see [1]). Billers List The Billers List contains all the Billers supported by the POS. This list is parameterized in the Host individually for each POS. It is downloaded to the POS using a Biller List download transaction (4B). Biller Subscription Information The POS obtains the Biller Subscription Information using transaction Biller Subscription Information Download (4D). The request is automatically triggered by the POS as soon as the Biller is selected during the execution of a Bill Payment operation. The Biller Subscription Information contains a collection of items that must be presented to the merchant for input. The POS goes through this list and uses the Required Information Name text to query the merchant. If there is a Default Value, the POS presents the query with the preformatted information. Page 43 of 102

44 Example: Consider that the Biller Subscription Information downloaded by the Host forms the contents described in Table 9. Table 9 - Biller Subscription Information contents in POS (sample) Biller Identification Code Required Information Name Default Value 4V V Subscriber ID Phone Number 4V Recharge 100 4V Expiration Date During processing the POS will first query the first item in the table, in this case the Subscriber ID (see Figure 9). BILL PAYMENT Subscriber ID: Figure 9 Bill Payment Biller Subscription Information input (sample POS screen 1). The POS proceeds querying the next item in the table (see Figure 10). Phone Number: BILL PAYMENT Figure 10 Bill Payment Biller Subscription Information input (sample POS screen 2). Product List The POS obtains the Product List using transaction Product List Download (4C). The request is automatically triggered by the POS as soon as the Biller Information Subscription is processed (or immediately after the Biller selection if the Biller Information Subscription has no values). Page 44 of 102

45 This list is used to present to the merchant a list of products that can be purchased from the selected Biller. Table 10 Product List contents in POS (sample) Product ID Product Name Product Amount Classic View Premium View Extra-View Page 45 of 102

46 POS-Host Transactions This chapter identifies the POS transactions necessary to implement Bill Payment operations. It is a subset of the specification [1] presented here for convenience with some information filled in. The full description of the data elements can be also found in [1] Biller List Download (4B) Request - 4B Table Biller List download request message Field Description Field presence in specification Sample Details Transaction Type Mandatory 0800 BitMap Mandatory Processing code Mandatory 4B Transmission date and time Mandatory Systems trace audit number Mandatory Time, local transaction Mandatory Date, local transaction Mandatory Card acceptor terminal id Mandatory Private, management data 1 Mandatory 01011K3702C Primary Message Hash Value Mandatory CF730D32BD0A3162B393B17CA4907C C45CAAE9581E442EE451B7CFAB47 The following represents the tags that can be present field 62 for the Biller parameter download request message. Field 62: Private, management data 1 It contains several informative sub-fields structured in tags. Each sub-field is formed using the following structure: Tag+LLL+data In this case: 01011K3702C21623 Table 12 - Field #62 in the 0800 Biller Parameter download request message Tag Description Len Value Page 46 of 102