Loan product setup
A loan product is a template that defines the configuration inherited by loans created from it. You can create as many loan products as needed to reflect the types of loans you offer, such as a single Buy Now Pay Later (BNPL) loan product for a group of similar items in your storefront or separate loan products for each individual product you sell.
Loan product types
The Pismo platform supports the following types of loan products.
Personal loan
A personal loan is an unsecured loan issued to an individual. Personal loans are often in large amounts and repaid over many installments. Call the Create loan product endpoint and set product_type to personal to create a loan product designed for personal loans. Features include:
- Installments calculated based on a reduced balance basis.
- Weekly, biweekly, monthly, or quarterly installment plans
- Partial repayment options with the flexibility to reduce either the loan tern or the installment amount
- Borrowers can use early full loan repayment options to settle the loan account.
Buy Now, Pay Later (BNPL) loan
A BNPL loan is an unsecured loan issued at checkout in the amount of the purchase price. Call the Create loan product (v2) endpoint and set product_type to BNPL to create a loan product designed for BNPL loans. Features include:
- Interest-free periods
- Biweekly or monthly repayment frequencies
- Disbursements directly to merchants
- Contract cancelation in case of product returns.
- Charges for missed payments or interest after the interest-free period.
- Live data streams for notifications, reporting, and integration with Artificial Intelligence/Machine Learning (AI/ML) solutions
Rules
Using the rules object, a loan product enables you to define limits for the following values at loan creation time:
- Loan amount: The total amount of the loan.
- Number of installments: The total number of installments the system can split a repayment into.
- Loan term length: The span of time over which the borrower makes repayments.
- Interest rate: The total interest rate applied to the loan amount.
Charge plan codes
You can use the Pismo platform to add charge plan codes. A charge plan code links service charges or taxes to a product or service. For example, you can apply charge plans to BNPL loans.
To use charge plan codes, add a value to the charge_plan_codes array in your loan product.
Loan product prerequisites
Before you start creating loans, you need to create at least one loan product. Before you can create a loan product, however, you need to create whatever supporting entities you plan to assign to it. These usually include a repayment hierarchy, a charge plan, a penalty plan (needed with V1 Lending APIs), and interest plan (needed with V2 Lending APIs).
Create repayment hierarchy
To create a repayment hierarchy, use the Create repayment hierarchy endpoint.
Your system
Sends a POST to /lending/v2/repayment-hierarchies with the following payload.
{
"hierarchy_code": "HIERARCHY_001",
"hierarchy": [
"PRINCIPAL"
]
}In this example, the repayment hierarchy is configured so that principal is the only component considered, and it has the highest (and only) priority.
How the request is structured:
- hierarchy_code
A unique identifier for the repayment hierarchy. This code is later referenced when creating a loan product to associate the hierarchy with that product. - hierarchy
Defines the ordered list of loan components that repayments are applied to. In this example, the array contains only "PRINCIPAL", meaning that any repayment amount is applied exclusively to the principal balance.
Create charge plan
To create a charge plan, use the Create charge plan endpoint. When you create a recurring charge plan, you specify the number of installments (cycles) and the installment amount.
Your system
Sends a POST to /recurring-charge/v1/recurring-charge-plans with a payload.
{
"name": "Tariff fee",
"type": "FEE",
"code": "TAR5",
"currency": 986,
"fixed_amount": {
"value": 20.00
},
"collection_method": "deduct"
}Pismo platform
This endpoint generates a Recurring charge plan created event.
Create penalty plan (V1 Lending API)
To create a penalty plan, use the Create penalty plan endpoint.
Your system
Sends a POST to /lending/v1/penalty-plans with a payload.
{
"code": "abcdefg",
"name": "PERCENTAGE_PENALTY_PLAN_DEFAULT",
"grace_days": 3,
"apply_when": [
"PAST_DUE",
"PARTIALLY_PAID"
],
"currency": 986,
"percentage": {
"value": 10,
"accrual_frequency": "MONTHLY",
"minimum_penalty_amount": 100,
"maximum_penalty_amount": 300,
"apply_concerning": [
"PRINCIPAL",
"INTEREST",
"FEE",
"TAX",
"CHARGE",
"PENALTY"
]
}
}In this example:
- The penalty is defined as a percentage rather than a fixed amount.
- A 10% penalty is applied.
- The penalty accrues monthly.
- The penalty applies to multiple balance components, including principal, interest, fees, taxes, charges, and existing penalties.
- The plan is uniquely identified by a code, name, and currency code.
Once created, you can associate the penalty plan with a loan product as part of the overall loan configuration flow.
Pismo platform
No events emitted.
Create interest plan (V2 Lending API)
To create an interest plan, use the Create interest plan endpoint.
Your system
Sends a POST request to interest-engine/v1/interest/plan with a payload.
{
"accrual_basis": "ACTUAL/365",
"accrual_frequency": "DAILY",
"capitalisation_frequency": "DAILY",
"currency_code": "986",
"description": "INTEREST PLAN FOR BNPL LENDING",
"interest_type": "SIMPLE",
"operation_type": "DEBIT",
"fixed_interest_rate": 0.8,
"start_date": "2025-09-17",
"metadata": {
"sample": "QUARTERLY"
}
}Pismo platform
This endpoint generates an Interest plan creation succeeded event.
Next, now that you have all the prerequisites, you can create a loan product.
Updated 15 days ago