Loan product overview
A loan product is a template that defines how a loan behaves. Each loan you create inherits its configuration, including repayment frequency, interest calculation method, and limits. You can create multiple loan products to support the types of loans you offer. For example, you might create one BNPL loan product for a set of similar merchandise in your storefront, or you might create many loan products, one for each individual product you sell.
Loan product types
The Pismo platform supports the following types of loan products.
Personal
A personal loan is an unsecured loan issued to an individual and repaid over multiple installments. To create a personal loan product, call the Create loan product endpoint and setproduct_type to personal.
Personal loan features include:
- Installments calculated using a reducing balance
- Weekly, biweekly, monthly, or quarterly repayment plans
- Auto‑collection from a bank account or card
- Partial repayment options that adjust installment amount or loan term
- Early full repayment options
Buy Now, Pay Later (BNPL)
A BNPL loan is an unsecured loan issued at checkout for a purchase amount.
To create a BNPL product, call the Create loan product endpoint and set product_type to BNPL.
BNPL loan features include:
- Interest‑free periods
- Biweekly or monthly repayment frequencies
- Disbursement directly to merchants
- Auto‑repayment from a bank account or card
- Contract cancellation for returns
- Charges for missed payments or post‑promotion interest
- Live data streams for notifications, reporting, and AI/ML integrations
Disbursement options
A loan product defines how and when loan funds are released. You can disburse in a single lump sum (SINGLE) or through multiple payments (MULTIPLE). Use the disbursement configuration in the loan product to set the method.
Repayment options
Loan products include settings that define how the Pismo platform calculates repayment schedules.
Repayment calculation method
You can calculate the repayments to be flat, where the customer pays the same amount each cycle, or reducing, where the customer pays a larger amount in the first cycle and a decreasing amount for each cycle after that.
- To use the reducing calculation, set the
repayment_calculation_methodparameter to EI_REDUCING_BALANCE in the Create loan product endpoint. - To use the flat calculation, set the
repayment_calculation_methodparameter to FLAT_BASIS.
Repayment frequency
Supported repayment frequencies include:
- Monthly
- Yearly
- Quarterly
- Biweekly
Interest rate options
You can configure interest behavior by setting parameters in the loan product:
-
Moratorium interest: Amortize accrued interest over the remaining loan term using
moratorium_interest_ratein the Create loan product endpoint. -
Interest-only installments: Allow reduced payments for part of the loan using
repayment_mode=INTEREST_ONLYin the Create loan product endpoint. -
Early final settlement: Allow a single final repayment using
early_final_settlementin the Create loan product endpoint.
Payment agreements and loan adjustments
A payment agreement defines the repayment schedule with specific rules. You define payment agreements when simulating or booking a loan.
A simulation needs a simulation configuration first, which indicates calculation_parameters as well as optional interest_limitation information and down_payment_method indicating a percentage used for down payment.
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.
BNPL loan
A BNPL loan is an unsecured loan issued at checkout in the amount of the purchase price. Call the Create loan product 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, and interest plan.
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 about 4 hours ago