Overview
Our Buy Now Pay Later (BNPL) services offer flexible payment options that empower customers to make purchases immediately while paying over time. By removing financial barriers at checkout, merchants can increase conversion rates, boost average order values, and enhance customer loyalty. Our seamless integration delivers a frictionless shopping experience across both online and in-store environments, with simple eligibility checks and transparent terms. This win-win solution helps businesses grow revenue while giving customers the purchasing power they need with manageable payment schedules.
Get Eligible Plans
Instantly shows payment options a customer qualifies for, with personalized terms and rates based on their profile.
Balance Transfer
Moves debt from accounts to your platform, typically offering lower interest rates and consolidated payments.
LoanOnCall QuickCash
Provides instant cash loans to pre-approved customers, with funds deposited directly to their bank accounts.
Financial Posting
Automatically records and reconciles payment transactions across accounting systems, ensuring accurate financial tracking and regulatory compliance with detailed audit trails.
Balance Conversion
Transforms credit purchases into fixed installment plans with structured payment terms.
Balance Conversion
Status:
Production
Version:
V2
Product:
Buy Now Pay Later
Balance Conversion
Overview
IPP Balance Conversion API transaction transfers outstanding principal amounts from IPP plans to Retail plans. It debits the IPP LOAN UNB bucket and credits the "Retail Instalments (technical)" account, then allocates funds to RETAIL plan LOAN buckets following a priority sequence of BIL_PREV, BIL_LAST, and CUR. This enables efficient balance transfers between payment structures while maintaining systematic allocation priorities.
Flexible Payment Structure Transfer
Enables seamless conversion of outstanding balances between different payment plan types (IPP to Retail), allowing financial institutions to optimize customer payment arrangements.
Customizable Installment Parameters
Supports extensive configuration options including interest rates, grace periods, fee waivers, and ad-hoc fee definitions to tailor the conversion to specific customer needs.
Priority-Based Fund Allocation
Implements a systematic allocation mechanism that follows a predefined priority sequence (BIL_PREV, BIL_LAST, CUR) to ensure proper distribution of converted funds.
Comprehensive Transaction Tracking
Provides detailed transaction references and tracking IDs throughout the process, enabling complete audit trails and reconciliation capabilities.
How It Works
The API receives the conversion request with card and amount details, transfers funds from IPP to Retail accounts following predefined allocation rules, applies any override parameters (fees, interest rates), and returns a confirmation response with transaction status.
Status:
Production
Version:
V2
Product:
Buy Now Pay Later
Node | Child Node | Type | Length | Description |
---|---|---|---|---|
Authorization | Bearer xxxx | string | Authorization Header (Bearer Token) | |
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvRequest | request_balance_conversion | header | msg_id | string | 12 | The msg_id sent in the request will be sent back in response in this field | ||||
msg_type | string | 12 | Message Type – This can have either “TRANSACTION†or “ENQUIRY†As for this API the value expected is “TRANSACTION†| |||||||
msg_function | string | 50 | Static Value - REQ_CARD_BALANCE_CONVERSION | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
target_application | string | 10 | The target_application can hold any value from FI side, this can be used by FI to check the target system of the API call | |||||||
timestamp | string | 30 | Timestamp of the request - Format YYYY-MM-DDtHH:MM:SS.SSS+04:00 | |||||||
tracking_id | string | 15 | Transaction Tracking Id | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC†| |||||||
body | card_identifier_id | string | 32 | 454545XXXXXX1234 | ||||||
card_identifier_type | string | 20 | CONTRACT_NUMBER is used for clear card number or EXID which is a unique identifier for the card generated by CMS | |||||||
currency | string | 3 | Currency | |||||||
amount | string | 18 | Amount | |||||||
instalment_description | string | 255 | Description | |||||||
transaction_ref_number | string | 12 | Transaction Reference Number | |||||||
plan_number | string | 5 | Plan number used for conversion | |||||||
options | key | string | 20 | custom key | ||||||
value | string | 128 | custom value | |||||||
override_options | waive_fee | string | 1 | Processing Fee Waiver | ||||||
ad-hoc_fee_type | string | 1 | Ad-hoc Fee type: P - percentage, F - fixed | |||||||
ad-hoc_fee | string | 18 | Ad-hoc Fee value: the number will be treated as percentage or amount, depending on the AH_FEE_TYPE | |||||||
interest_rate | string | 3 | Instalment fee rate | |||||||
portion_amount | string | 18 | Desired maximum amount on the portion | |||||||
number_of_portions | string | 4 | Number of portions | |||||||
grace_period | string | 3 | Number of cycles to shift before billing the first portion. | |||||||
free_period_number | string | 3 | Number of portions to apply zero fee rate to. The period starts with the first portion. |
{
"NISrvRequest": {
"request_balance_conversion": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REQ_CARD_BALANCE_CONVERSION",
"src_application": "IVR",
"target_application": "CMS",
"timestamp": "2020-07-20T10:49:02.366+04:00",
"tracking_id": "236001",
"bank_id": "NIC"
},
"body": {
"card_identifier_id": "99984100148297467162",
"card_identifier_type": "EXID/CONTRACT_NUMBER",
"currency": "AED",
"amount": "3000.00",
"instalment_description": "Balance Conversion",
"transaction_ref_number": "11100521",
"plan_number": "00166",
"options": [
{
"key": "BOOK_TYPE",
"value": "SR02"
}
],
"override_options": [
{
"waive_fee": "Y",
"ad-hoc_fee_type": "F",
"ad-hoc_fee": "25.26",
"interest_rate": "15.45",
"portion_amount": "50000.0",
"number_of_portions": "",
"grace_period": "1",
"free_period_number": "1"
}
]
}
}
}
}
Node | Child Node | Type | Length | Description | |
---|---|---|---|---|---|
Content-Type | application/json | string | Content Type |
Node Type | Type | Length | Description | |||||||
---|---|---|---|---|---|---|---|---|---|---|
NISrvResponse | response_balance_conversion | header | msg_id | string | 12 | Unique Source Message ID eg ada123456fdsf | ||||
msg_type | string | 12 | Message Type – This can have either “TRANSACTION†or “ENQUIRY†As for this API the value expected is “TRANSACTION†| |||||||
msg_function | string | 50 | Default REP_CARD_BALANCE_CONVERSION | |||||||
src_application | string | 10 | Source Application: This is a free Text and the client can populate the source system from where the API is Initiated Example: IVR, IB, MB No Validations of these are kept at Network Systems | |||||||
tracking_id | string | 15 | Transaction Tracking Id | |||||||
bank_id | string | 4 | Bank Id is Unique Id 4 digit code for each client and the same will be provided once the client setup is completed in our core system. For sandbox testing – Please use “NIC†| |||||||
exception_details | application_name | string | 20 | Application Name | ||||||
date_time | string | 30 | Timestamp of the response Format “YYYY-MM-DD HH:MM:SS†| |||||||
status | string | 1 | Status of the request (S/F) | |||||||
error_code | string | 4 | EAI Internal Error Code (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
error_description | string | 100 | Error Description (Check error codes section for the complete list of error codes and error code descriptions) | |||||||
transaction_ref_id | string | 20 | The tracking_id sent in the request will be sent back in response in this field. |
{
"NISrvResponse": {
"response_balance_conversion": {
"header": {
"msg_id": "236001",
"msg_type": "TRANSACTION",
"msg_function": "REP_CARD_BALANCE_CONVERSION",
"src_application": "IVR",
"tracking_id": "236001",
"bank_id": "NIC"
},
"exception_details": {
"application_name": "TCC-ADP",
"date_time": "2023-02-01T16:39:47.314+04:00",
"status": "S",
"error_code": "000",
"error_description": "Success",
"transaction_ref_id": "236001"
}
}
}
}
Code | Description |
---|---|
200 | Sample Description |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
502 | Bad gateway |
503 | Scheduled Maintenance |
504 | Gateway Timeout |
596 | Service Not Found |