This method allows Interswitch Bill Payment Platforms to validate third party customer information before a payment is made.
Note
- Interswitch Bill Payment platforms would communicate to third party platforms via HTTP Post.
- The data sent via HTTP Post will be xml, hence the content type is text/xml.
- The request message will not be in a parameter but a raw post directly to stream.
- In cases where you choose to implement Customer Validation and Payment Notification (see section 2.1), you are expected to provide Interswitch with a single url that accepts both message.
- Ensure CamelCase naming convention is used for the field returned in the xml
- See Appendix 9.0 for the process flow of Customer Validation
CustomerInformationRequest Fields
This defines the expected xml tags that will be sent to third party systems for Customer Validation. This is a generic system and new tags can be added at any time, do not hard code the structure of the xml requests. Your system should be able to retrieve data from the required fields and ignore others.
Field | Mandatory/Optional | Length | Format | Description |
---|---|---|---|---|
ServiceUrl | Mandatory | ANY | Alphanumeric | Third party platform service url |
ServiceUsername | Optional | ANY | Alphanumeric | Username to access Service at Merchant’s end |
ServicePassword | Optional | ANY | Alphanumeric | Password to access Service at Merchant’s end |
FTPUrl | Optional | ANY | Alphanumeric | Third Party platform FTP Location |
FTPUsername | Optional | ANY | Alphanumeric | Username to access FTP Location at Third Party’s end |
FTPPassword | Optional | ANY | Alphanumeric | Password to access FTP Location at Third Party’s end |
MerchantReference | Mandatory | ANY | Alphanumeric | Unique ID given by Interswitch to the client using the bill payment solution |
CustReference | Mandatory | ANY | Alphanumeric | Unique ID for the paying customer or specific order. Typically provided to the paying customer by the merchant |
PaymentItemCategoryCode | Optional | 10 | Alphanumeric | Agreed code used to group items customers can pay for |
PaymentItemCode | Optional | 10 | Alphanumeric | This is an agreed code indicating the item that the customer has indicated he wants to pay for. |
TerminalId | Optional | 8 | Alphanumeric | Unique identifier for Terminal |
Amount | Optional | ANY | Numeric | Amount to be paid, NB: You must return amount has 0, when customers can pay for any amount |
Sample Customer Validation Request
This shows the sample request message that would be sent to third-party systems to validate a unique customer identified with the CustReference. The PaymentItemCode is the specific item the customer wants to pay for. Note that additional tags can be added at any time, ensure your system does not break due to this.
Customer Validation Request |
Customer Validation Response without Payment Item |
||||
---|---|---|---|---|---|
|
|
CustomerInformationResponse Fields
This defines the expected xml tags that should be returned by third party systems during Customer Validation. Interswitch Bill Payment platforms use the status to determine if it is a valid customer or not.
Field | Mandatory/Optional | Length | Format | Description |
---|---|---|---|---|
MerchantReference | Mandatory | ANY | Alphanumeric | Unique ID given by Interswitch to the client using the bill payment solution |
Customers | Mandatory | Container element for a collection of Customers | ||
Customer | Mandatory | Container element for a customer | ||
Status | Mandatory | ANY | Numeric | This is a status returned indicating if the customer is valid or not. 0 = Valid 1 = Invalid 2 = Expired |
StatusMessage | Optional | ANY | Alphanumeric | Description of the Status |
CustReference | Mandatory | ANY | Numeric | Unique ID for the paying customer or specific order. Typically provided to the paying customer by the merchant |
CustomerReferenceAlternate | Optional | ANY | Alphanumeric | This is an alternate ID used to identify the same Customer |
FirstName | Mandatory | ANY | Alphanumeric | This is the first name of customer |
LastName | Optional | ANY | Alphanumeric | This is the surname of customer |
OtherName | Optional | ANY | Alphanumeric | This is the middle name of customer |
Optional | ANY | Alphanumeric | This is the email address of the customer | |
Phone Number | Optional | ANY | Alphanumeric | This is the phone number of the customer |
ThirdPartyCode | Optional | 10 | Alphanumeric | This is a unique code agreed between both Systems to group the customer in a category. |
Amount | Mandatory | ANY | Numeric | This is the amount customer is expected to pay. Value should be in Major denomination NB: Amount must be greater than 0 |
PaymentItems | Optional (Mandatory if returning payment item) | Container element for a collection of payment items | ||
Item | Optional (Mandatory if returning payment item) | Container element for individual payment item | ||
ProductName | Optional (Mandatory if returning payment item) | ANY | Alphanumeric | This is the name of the item that customer should/can pay for |
ProductCode | Optional (Mandatory if returning payment item) | ANY | Alphanumeric | This is the code of the item that the customer should/can pay for |
Quantity | Optional (Mandatory if returning payment item) | ANY | Numeric | This is the number of item that customer should/can pay for |
Price | Optional (Mandatory if returning payment item) | ANY | Numeric | This is the unit price of the item that the customer should/can pay for |
Subtotal | Optional (Mandatory if returning payment item) | ANY | Numeric | This is the total amount that the customer should/can pay for LESS tax |
Tax | Optional (Mandatory if returning payment item) | ANY | Numeric | This is the additional cost added to the original cost of the item |
Total | Optional (Mandatory if returning payment item) | ANY | Numeric | This is the total amount that the customer should/can pay for. |
Sample Customer Validation Response
This shows the sample response message that would be returned from third party systems to Interswitch Bill Payment Platforms.
Customer Validation ResponseNB: Amount is returned as 0. meaning customers will be allowed to pay any amount. |
Customer Validation Response with Payment ItemNB: Use response when returned amount is greater than 0. |
||||
---|---|---|---|---|---|
|
|