Cairin: Pinjaman Dana Instan app icon

Indonesian fintech lending · OJK-licensed cash credit

Connecting Cairin's loan ledger and repayment schedule to your systems

A borrower's balance on Cairin is never static for long. Installments fall due on fixed dates, money clears through whichever bank the user picked, and a new disbursement can land the same day approval comes through. The integration problem here is less about finding the data than keeping a copy of it honest — a downstream ledger that agrees with what the borrower sees in the app, this hour, not last week. That reconciliation question is what the rest of this page is built around.

Cairin runs under PT Idana Solusi Sejahtera and is a licensed Information-Technology-Based Joint Funding (LPBBTI) operator supervised by Indonesia's Financial Services Authority (OJK), per its Play Store listing and the OJK decision it cites (KEP-29/D.05/2021). The route we would actually take is authorized interface integration: we map the app's authenticated traffic — login and token issuance, loan detail, repayment status — and rebuild it as a clean connector, run under the borrower's consent, with the payment leg modelled against Indonesia's SNAP open-API conventions where partner-bank settlement is involved.

Borrower data Cairin keeps server-side

The surfaces below are what a borrower's authenticated session exposes, named the way the app frames them. Limits and terms are as the listing describes — loans of IDR 500,000 to 80,000,000 over 91 to 365 days, plus a funding side that offers lenders an economic benefit the app states at up to 11 percent per annum.

Data domainWhere it originates in the appGranularityWhat an integrator does with it
Loan account & approved limitApplication / profile after approvalPer borrower, current limit and outstandingEligibility checks, credit-line display, prefill in partner flows
Installment scheduleLoan detail screenPer installment: principal, interest, due date, statusDunning calendars, amortization mirrors, arrears detection
Disbursement eventsTransaction historyPer event: amount, timestamp, destination bank accountCash-flow reconciliation, funding confirmation
Repayment / payment statusPayment screen (BCA, Mandiri, BRI, BNI rails)Per transaction: amount, channel, cleared vs pendingSettlement webhooks, paid-on-time signals
Identity / KYCOnboarding (KTP, facial verification)Per user, one-timeIdentity linkage only; kept minimized in the synced payload
Funding positions (lender side)Funding productPer position: amount, tenor 60–91 days, accrued benefitInvestor portfolio sync, return tracking

Reaching the loan ledger — the routes that fit

Three approaches genuinely apply to Cairin. They are not mutually exclusive; a real build usually leans on one and borrows from another.

1. Authorized interface integration / protocol analysis

We observe the app's authenticated calls, document the auth chain and the loan and repayment endpoints, and re-implement them as a stable client. Reachable: the full borrower ledger above. Effort: moderate — the heavier part is the session and the liveness gate, not the read paths. Durability: good between app releases, with a re-validation step we run when the app ships a major update. Setup is handled with you during onboarding against a consenting account.

2. SNAP-aligned rail for the payment leg

Disbursement and repayment touch BCA, Mandiri, BRI and BNI. Where the bank leg matters, we model it against Bank Indonesia's National Open API Payment Standard (SNAP), which standardizes balance inquiry, transfer and transaction-status calls over OAuth 2.0 and mutual TLS. Reachable: the money movement, confirmation and status side. This pairs with route 1 rather than replacing it.

3. User-consented session access

A lighter fallback where a consenting borrower grants a live session we drive directly. Reachable: whatever that single account sees. Effort: low. Durability: weaker, since it rides the live UI; useful for a pilot or a one-off export before a full connector is justified.

For most teams the first route is the spine: it gives the structured ledger you can normalize and resync, and the SNAP-aligned leg slots in once settlement confirmation needs to be authoritative. We would start there and fold in route 2 the moment the bank confirmation becomes load-bearing.

What ships

Delivery is code first, with the specification and reports alongside it. Concretely, for Cairin you receive:

  • Runnable source for the core surfaces — Python and Node.js clients covering login and token refresh, loan detail, the installment schedule, and repayment/disbursement history.
  • Webhook handlers for repayment and settlement confirmation, with idempotent handling so a replayed bank callback reconciles instead of double-counting.
  • An automated test harness that asserts the installment maths and the cleared-versus-pending state against fixtures, so a changed field shows up as a failing assertion.
  • A batch-vs-realtime sync design: nightly ledger backfill plus event-driven refresh on due dates.
  • An OpenAPI/Swagger specification for the reconstructed endpoints.
  • A protocol and auth-flow report covering the token chain and the liveness-gated session.
  • Interface documentation and data-retention guidance aligned to UU PDP.

A repayment-schedule pull, sketched

Illustrative only — field names are confirmed during the build, not guessed here. This is the shape of the loan-detail read once a session is established.

POST /mobile/loan/detail
Authorization: Bearer <session_token>     # issued after KTP + liveness gate
Content-Type: application/json
{ "loanId": "LN-…", "include": ["installments","disbursement"] }

# 200 OK (illustrative)
{
  "loanId": "LN-…",
  "principal": 1000000, "currency": "IDR",
  "tenorDays": 120, "annualRatePct": 24,
  "disbursement": { "bank": "BCA", "ts": "…", "amount": 1000000, "status": "cleared" },
  "installments": [
    { "seq": 1, "dueDate": "…", "principal": 250000, "interest": 20000,
      "amountDue": 270000, "status": "paid" },
    { "seq": 2, "dueDate": "…", "amountDue": 270000, "status": "due" }
  ]
}

# Client policy: re-auth when token nears expiry; reconcile each installment
# against the running balance before marking a downstream record settled.

Keeping a downstream ledger from drifting

This is the part that breaks if you treat a loan app like a static dataset. Repayment status changes on two clocks that are not in sync: the installment due-date calendar, and the moment a bank settlement actually clears. A pull at 9am can show an installment as due when the borrower paid at 8:55 and the BCA confirmation has not landed yet.

Our reconciliation model keys each installment by its sequence and due date and carries an explicit pending state, so a repayment is provisional until the partner-bank confirmation matches it. The refresh schedule tightens around due dates — more frequent reads in the window where a status is expected to flip — and relaxes between them. Disbursement events get the same treatment: a freshly approved loan can disburse the same day, so the connector watches for new ledger rows rather than assuming the limit is the whole story.

Engineering details we plan around

Two specifics on Cairin shape the build, and we handle both as part of the work:

  • The liveness-gated session. Onboarding runs a KTP capture and a facial-verification check before the account is live. That gate establishes and periodically re-issues the session token. We map how the token is granted and refreshed so the connector stays authenticated, and we keep the KTP image and identity fields out of the synced payload by default — only the loan and repayment data flows downstream.
  • OJK reporting cadence sits beside us, not in our path. Cairin's loan data flows to OJK's SLIK through Pusdafil 2.0, the regulator-facing reporting channel the licensee operates (per OJK Circular SEOJK No. 1/2024, effective 1 July 2024). We never touch that pipeline. We do design our reconciliation so an extracted ledger stays consistent with the borrower-visible state, accounting for the fact that some status changes are reported on a cadence rather than instantly.
  • Per-channel settlement timing. Repayments arrive over BCA, Mandiri, BRI and BNI, and each rail confirms on its own timing. We model the lag per channel so a payment shows as pending until its confirmation lands, rather than flipping a balance optimistically.

Cairin is a regulated LPBBTI operator under OJK supervision, and as a data controller it falls under Indonesia's Personal Data Protection Law (UU No. 27/2022, in force since October 2022). Our access basis is the borrower's own consent: we read the account a consenting user authorizes, log what we touch, and minimize the personal data that leaves the boundary. The app itself states an ISO/IEC 27001:2022 posture and AFPI membership; we operate to match — encrypted in transit, retention limited to what the integration needs, NDA where the engagement calls for it. Where the bank leg uses SNAP-aligned calls, those carry their own OAuth 2.0 and mutual-TLS expectations, which we follow. Consent is revocable, and the connector treats a withdrawn consent as a hard stop on further reads.

Where this connector earns its keep

  • A lending marketplace or aggregator that wants a borrower's Cairin loan and arrears state pulled into a unified credit view, with consent.
  • A bookkeeping or PFM tool reconciling a user's repayments across BCA/Mandiri/BRI/BNI against the Cairin schedule.
  • An internal back-office that mirrors disbursement events for cash-flow forecasting without re-keying from screenshots.
  • A partner offering top-up or refinancing who needs the live outstanding balance and next due date before quoting.

How this was put together

Compiled from the app's own Play Store listing and Cairin's company pages, the OJK licensed-operator register, and Bank Indonesia's SNAP documentation, cross-checked against current Indonesian fintech-lending and data-protection reporting. Figures such as the loan range, tenor and rate are quoted as the app states them, and the OJK and Pusdafil references are attributed to the sources below rather than asserted independently.

Citations: Google Play listing, Cairin company profile, OJK licensed fintech-lending list, Bank Indonesia SNAP standard.

Compiled by OpenFinance Lab — protocol & data-flow assessment, 7 June 2026.

These are OJK-licensed peers a unified integration tends to encounter alongside Cairin. Listed as ecosystem context, not a ranking.

  • AdaKami — large-base cash lender with limits the industry reports up to IDR 80 million; per-borrower loan and repayment records similar in shape to Cairin's.
  • Kredit Pintar — high-volume quick-disbursement lender; holds account, installment and payment-history data behind login.
  • Akulaku — broader financial ecosystem combining installment shopping and cash loans; richer order-plus-loan data surface.
  • Kredivo — credit line and pay-later product; outstanding balance, billing cycle and repayment status per user.
  • Indodana — financing with flexible terms; loan ledger and schedule data comparable to Cairin's.
  • EasyCash — OJK-supervised quick-disbursement lender; transparent fee and repayment records per account.
  • KTAKilat — fintech-lending operator noted as an early SLIK adopter; standard loan and repayment surfaces.
  • Rupiah Cepat — short-tenor cash lender; per-loan disbursement and installment data behind an authenticated session.

Screens from the app

Cairin screenshot 1 Cairin screenshot 2 Cairin screenshot 3 Cairin screenshot 4 Cairin screenshot 5 Cairin screenshot 6
Cairin screenshot 1 enlarged
Cairin screenshot 2 enlarged
Cairin screenshot 3 enlarged
Cairin screenshot 4 enlarged
Cairin screenshot 5 enlarged
Cairin screenshot 6 enlarged

Questions integrators ask about Cairin

How fresh can the repayment figures be when a borrower pays through BCA or Mandiri?

Repayment state moves on due dates and on partner-bank settlement, so we design the sync to reconcile against the installment due events rather than poll blindly. For the BCA, Mandiri, BRI and BNI rails the app lists, settlement confirmation can lag the user action by minutes to hours, and the connector models that lag so a downstream ledger reflects pending-versus-cleared correctly instead of flipping a balance early.

Cairin loans run 91 to 365 days — how do you represent the installment schedule?

We normalize each loan into a header plus an installment array: principal slice, interest accrual at the rate the app states, due date, and paid or outstanding status. The app describes monthly interest derived from an annual rate of up to 24 percent, so the schedule is reconstructed from the loan detail surface and validated against the running balance rather than assumed from a formula alone.

Cairin reports to OJK's SLIK through Pusdafil — does the integration touch that pipeline?

No. Pusdafil and SLIK are the regulator-facing reporting path, which the licensee operates on its own side. We read the borrower-facing surfaces under consent and design our reconciliation so an extracted ledger stays consistent with the state the borrower would see, accounting for the reporting cadence; we never attempt to read or write the OJK reporting channel.

How do you handle the KTP and facial-verification step in onboarding?

That liveness and KTP check is a one-time gate that establishes the authenticated session. We map how the session is issued and refreshed, then pull only the loan and repayment fields the integration needs, keeping identity images and KTP details out of the synced payload unless a use case genuinely requires them and consent covers it.

A first working build of the Cairin loan-and-repayment connector lands in one to two weeks. Take it as runnable source — the OpenAPI spec, Python and Node clients for the login, loan-detail and repayment surfaces, the test harness and interface docs — from $300, paid only after delivery once you are satisfied; or call our hosted endpoints and pay per call with nothing upfront. Tell us the app and what you want from its data at /contact.html.

App profile — Cairin: Pinjaman Dana Instan

Cairin (package com.iss.client.cairin) is an instant unsecured cash-loan app for Indonesia, published by PT Idana Solusi Sejahtera (Rukan Permata Senayan, South Jakarta). Per its listing, loans range from IDR 500,000 to IDR 80,000,000 over 91–365 day tenors at a maximum 24 percent annual rate, requiring a KTP, an Indonesian phone number and a bank account. It is a licensed and OJK-supervised LPBBTI operator (citing KEP-29/D.05/2021), an AFPI member, and states ISO/IEC 27001:2022 certification. A funding side lets lenders allocate from IDR 1,000,000 over 60–91 days at a stated economic benefit up to 11 percent per annum. Repayments run through ATM, mobile and internet banking across BCA, Mandiri, BRI, BNI and other major banks. This is an independent integration write-up; OpenFinance Lab is not affiliated with Cairin or PT Idana Solusi Sejahtera.

Last checked 2026-06-07