EMI Rates Fetch API
Internal API reference for retrieving EMI (credit / debit card installment) quotes.
Endpoint
POST /emi/fetch/rates
Header: checksum
Header: Content-Type: application/json
Request (FetchEmiDetailsRequest)
curl --location 'https://{{host}}.zaakpay.com/api/emi/fetch/rates' \
--header 'checksum: e633dedc0f51dab4c3790c2b7c6a8a24fac21f98011ddadffd80b8c8a50fde88' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=787FE943C419946AE413FC6A12423C6B; JSESSIONID=41D2645B9D5F442A2A1E85FB9E8623EF.162.243' \
--data '{
"merchantIdentifier":"b19e*****1b6b7973",
"amount":35000.00,
"bankId":"AXIS_CC_EMI",
"bin":"430834",
"cardType":"CC"
}
'| Field | Type | Required | Notes |
|---|---|---|---|
| merchantIdentifier | String | Yes | Used for merchant lookup + checksum |
| amount | BigDecimal | Yes | Amount for EMI quote |
| bankId | String | Optional** | Zaakpay bank id (see mapping) |
| bin | String | Optional** | First 6 digits used if longer |
| cardType | String | Optional* | CC / DC (filters response bucket) |
* Without cardType and without bin/bankId, CC lists can be returned.
** Behaviour depends on whether both are present.
Field order matters: the JSON body must list fields in the order shown above (or as in the example requests) since the checksum is calculated over that ordering.
Behaviour
| bin + bankId | Response |
|---|---|
| Both absent (or either missing) | All possible EMI options for amount |
| Both present | Tenures for that bin + bank only |
Example Requests
Field order in the JSON body must be preserved exactly as shown — the checksum is computed over the fields in this order, and reordering them will cause a checksum error.
All options:
{
"merchantIdentifier": "<mid>",
"amount": 10000,
"cardType": "CC"
}Specific bank + bin:
{
"merchantIdentifier": "b19e8f103bce406cbd3476431b6b7973",
"amount": 35000.00,
"bankId": "AXIS_CC_EMI",
"bin": "430834",
"cardType": "CC"
}Bank ID Mapping (EmiBankIdEnum)
| Bank | Card | Zaakpay bankId |
|---|---|---|
| HDFC | CC | HDF_CC_EMI |
| ICICI | CC | ICICI_CC_EMI |
| Axis | CC | AXIS_CC_EMI |
| IndusInd | CC | IDS_CC_EMI |
| RBL | CC | RBL_CC_EMI |
| SCB | CC | SCB_CC_EMI |
| Yes Bank | CC | YBK_CC_EMI |
| SBI | CC | SBI_CC_EMI |
| BoB | CC | BBR_CC_EMI |
| Federal | CC | FBK_CC_EMI |
| IDFC | CC | IDN_CC_EMI |
| Kotak | CC | 162_CC_EMI |
| AU | CC | AUS_CC_EMI |
Success Response Shape
{
"success": true,
"data": {
"emiCreditDetails": {
"minAmount": 3000.00,
"tncUrl": null,
"bankWiseDetails": [
{
"bankId": "HDF_CC_EMI",
"bankName": "HDFC Bank",
"emiTenures": [
{
"tenureInMonths": 3,
"amount": 10000.00,
"processingFees": 0,
"taxAmount": 0,
"totalAmount": 10200.00,
"emiAmount": 3400.00,
"totalInterest": 200.00,
"interestRate": 12.00
}
]
}
]
}
}
}- No bin/bankId: many banks in bankWiseDetails (CC → emiCreditDetails, if cardType empty).
- bin + bankId present: single bank in the bucket matching cardType (CC → credit).
- Null fields are omitted (@JsonInclude(NON_NULL)).
Updated 4 days ago
Did this page help you?
