Dipercaya oleh 2.000+ organisasi di seluruh dunia.
Yang BNPL butuhkan
Peminjam saat mengajukan. Setiap cicilan setelahnya.
Rencana BNPL bukan hanya satu keputusan, ini adalah serangkaian keputusan. Didit melakukan underwriting peminjam saat checkout, mencatat setiap cicilan ke Transactions API, dan secara otomatis melakukan re-screening untuk sanksi atau PEP (Politically Exposed Persons) sepanjang masa berlaku rencana. $0.33 saat pengajuan, $0.02 per cicilan, termasuk AML berkelanjutan. 500 verifikasi gratis setiap bulan.
Cara kerjanya
Dari pendaftaran hingga pengguna terverifikasi dalam empat langkah.
Langkah 01
Buat workflow
Pilih pemeriksaan yang Anda inginkan, ID, liveness, face match, sanksi, alamat, usia, telepon, email, pertanyaan kustom. Seret ke dalam alur di dashboard, atau posting alur yang sama ke API kami. Buat cabang berdasarkan kondisi, jalankan A/B test, tanpa perlu coding.
Langkah 02
Integrasikan
Integrasikan secara native dengan Web, iOS, Android, React Native, atau Flutter SDK kami. Redirect ke halaman yang di-host. Atau cukup kirim tautan kepada pengguna Anda, melalui email, SMS, WhatsApp, di mana saja. Pilih yang sesuai dengan stack Anda.
Langkah 03
Pengguna melewati alur
Didit meng-host kamera, isyarat pencahayaan, hand-off seluler, dan aksesibilitas. Saat pengguna berada dalam alur, kami menilai 200+ sinyal fraud secara real-time dan memverifikasi setiap bidang terhadap sumber data otoritatif. Hasil dalam waktu kurang dari dua detik.
Langkah 04
Anda menerima hasilnya
Webhook yang ditandatangani secara real-time menjaga database Anda tetap sinkron saat pengguna disetujui, ditolak, atau dikirim untuk ditinjau. Poll API sesuai permintaan. Atau buka konsol untuk memeriksa setiap sesi, setiap sinyal, dan mengelola kasus sesuai keinginan Anda.
Dibuat untuk BNPL · Harga seperti infrastruktur
Enam primitif. $0.33 saat pengajuan, $0.02 per cicilan.
Kepatuhan BNPL bukan hanya satu pemeriksaan, ini adalah resep. Underwriting saat pengajuan, catat setiap cicilan, perbarui AML di seluruh rencana, bangun paket audit.
ID, liveness, face match, device + IP, AML, dibundel seharga $0.33 per peminjam. Bersertifikat anti-spoof iBeta Level 1, putusan kurang dari dua detik, 14.000+ dokumen di 220+ negara.
Deteksi VPN / Tor / proxy, paparan datacenter, ketidakcocokan antara penagihan dan geografi IP, multi-akun per perangkat, kecepatan saat checkout, semuanya diperhitungkan dalam satu skor risiko per aplikasi.
AML diperbarui sepanjang plan, bukan cuma saat apply.
AML berkelanjutan memantau peminjam setiap hari untuk sanksi baru, PEP (Politically Exposed Persons), dan adverse-media hits, seharga $0.07 per pengguna per tahun. Tanpa endpoint terpisah, otomatis pada setiap sesi dengan AML diaktifkan.
Ongoing AML automatic. Transactions API $0.02 / charge.
04 · Keterjangkauan + paket audit
Satu pack per peminjam · Siap ekspor FCA.
Bidang peminjam yang terverifikasi ditambah tumpukan sinyal underwriting (KYC, AML, Device + IP, parameter rencana) dibundel menjadi satu catatan yang ditandatangani, dapat diekspor ke UK FCA (Financial Conduct Authority), Australian ASIC, atau otoritas lain yang menjalankan inspeksi BNPL.
Pola kohort, kluster dokumen curian, penggunaan kembali identitas di seluruh rencana BNPL, kecepatan per perangkat, email sekali pakai + perangkat baru, diperbarui setiap hari dan diblokir sebelum rencana disetujui. Edit ambang batas per merchant.
Stolen-doc cluster · face mismatchCohort matchBlock
Velocity · 3 apps · 24 hPer deviceReview
Disposable email + new deviceCombinedReview
Returning borrower · paid in full≥ 2 cyclesPass
Cohort patterns refreshed daily. Edit thresholds per merchant.
06 · Lintas batas
Satu stack. Semua wilayah.
Aturan BNPL UK FCA (2026), EU Consumer Credit Directive II, lisensi pemberi pinjaman negara bagian AS, Australia ASIC, ditambah daftar pantauan AML per wilayah. 14.000+ dokumen di 220+ negara.
Selesaikan alur underwriting BNPL dalam satu prompt.
Tempelkan ke Claude Code, Cursor, Codex, Devin, Aider, atau Replit Agent. Isi stack Anda. Agent akan membangun alur kerja aplikasi, mencatat setiap cicilan, menandatangani webhook, dan menyiapkan audit pack.
didit-integration-prompt.md
You are integrating Didit into a Buy-Now-Pay-Later (BNPL) checkout flow — Klarna / Affirm / Clearpay / Tabby / Tamara / Kueski archetype. The recipe handles three obligations on every BNPL plan:
1. Verify the borrower at checkout — identity, liveness, face match, device + IP, AML against 1,300+ sanctions / PEP / adverse-media lists. ONE call to the Sessions API.
2. Log every instalment charge — Transaction Monitoring catches velocity, structuring, and chargeback patterns. ONE call to the Transactions API per instalment.
3. Continuous AML — the borrower is rescreened automatically across the lifetime of the plan. NO separate endpoint to call.
Cost:
- Borrower Know Your Customer (KYC) bundle: $0.33 per application (Sessions API)
- Transaction monitoring per instalment charge: $0.02 (Transactions API)
- Ongoing AML monitoring: $0.07 per user per year (automatic on any session with AML enabled)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Device & IP Analysis + AML Screening.
- Transaction Monitoring enabled in the Business Console (Transactions > Settings).
STEP 1 — Underwrite the borrower at checkout
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + AML bundle>",
"vendor_data": "<your borrower id, max 256 chars>",
"callback": "https://<your-app>/bnpl/apply/callback",
"metadata": {
"purpose": "bnpl_application",
"plan_id": "<your internal plan reference>",
"merchant_id": "<merchant id>",
"principal_amount": "500.00",
"currency": "GBP"
}
}
Response: 201 Created with the hosted session URL. Embed the URL inline in the BNPL widget at checkout. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on application completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your borrower id>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"ip_analysis": { "status": "Approved" },
"aml": { "status": "Approved", "hits": [] }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
On Approved + clean AML + acceptable Device & IP, approve the plan and schedule the instalments. On Declined or AML hit, decline. On In Review or AWAITING_USER, hold the plan and route to your underwriting analyst queue.
STEP 3 — Log every instalment charge
POST https://verification.didit.me/v3/transactions/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body (required fields verified live 2026-05-16):
{
"transaction_id": "<plan-id>-instalment-1",
"transaction_category": "finance",
"transaction_details": {
"direction": "INBOUND",
"amount": "125.00",
"currency": "GBP",
"currency_kind": "fiat",
"action_type": "deposit"
},
"subject": {
"entity_type": "individual",
"vendor_data": "<your borrower id>",
"full_name": "<borrower full name>"
},
"counterparty": {
"entity_type": "individual",
"full_name": "<merchant or BNPL settlement counterparty>"
}
}
REQUIRED fields the API rejects if missing:
- subject.vendor_data + subject.full_name
- counterparty.full_name
- transaction_details.direction + currency + currency_kind + amount
Response shape (excerpted from a real successful 201):
{
"uuid": "<server transaction uuid>",
"txn_id": "<your transaction_id echoed back>",
"status": "APPROVED",
"score": 0,
"severity": null,
"cost_breakdown": {
"total_price": 0.02,
"items": [{ "usage_type": "transaction_monitoring", "price": 0.02 }]
}
}
Transaction status enum (exact case, UPPER_SNAKE_CASE): APPROVED | IN_REVIEW | DECLINED | AWAITING_USER.
When a transaction enters AWAITING_USER, Didit creates a linked remediation session automatically and returns a verification URL on the response.
Per-instalment cost: $0.02 (transaction-monitoring base).
Branch logic:
APPROVED → charge the card / pull the bank transfer.
IN_REVIEW → hold the instalment, route to analyst queue.
DECLINED → hard-fail the instalment, mark the plan delinquent.
AWAITING_USER → redirect the borrower to the remediation session URL.
STEP 4 — Continuous AML monitoring is automatic
Any session with AML enabled is rescreened DAILY by Didit's continuous monitoring at $0.07 per user per year. There is NO separate endpoint to call.
When a previously-approved borrower crosses an AML threshold, the session status changes to "In Review" or "Declined" automatically and your webhook fires the update. Hold the remaining instalments and route the case to your collections / fraud team.
STEP 5 — Returning borrowers re-use the verified identity
When a borrower comes back for a second plan, open a new session against their existing vendor_data — Didit reuses the previously verified document and face match where policy allows, and you avoid paying for the full bundle again. Pair with Reusable KYC for the lightest path.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Transactions: transaction.created · transaction.updated · transaction.status.changed · transaction.alert.generated.
- Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Transaction statuses use UPPER_SNAKE_CASE (APPROVED, IN_REVIEW). They live in different APIs — don't mix them in the same code path.
- Never approve a BNPL plan before the X-Signature-V2 webhook lands with status Approved + AML clear.
- 200+ fraud signals are evaluated on every session at no extra cost — surface the score via the session decision payload, don't re-query.
- Default record retention is 5 years post-relationship per the EU AML package; UK FCA rules and similar national rules sit on top.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/transaction-monitoring/overview
- https://docs.didit.me/transaction-monitoring/transactions
- https://docs.didit.me/core-technology/aml-screening/continuous-monitoring-aml-screening
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
Dirancang untuk kepatuhan
Buka negara baru dengan satu klik. Kami yang mengerjakan bagian sulitnya.
Kami membuka anak perusahaan lokal, mengamankan lisensi, menjalankan pengujian penetrasi, mendapatkan sertifikasi, dan menyelaraskan dengan setiap regulasi baru. Untuk meluncurkan verifikasi di negara baru, cukup aktifkan tombol. 220+ negara sudah aktif, diaudit dan diuji penetrasi setiap kuartal, satu-satunya penyedia identitas yang secara formal disebut oleh pemerintah negara anggota Uni Eropa lebih aman daripada verifikasi langsung.
Per peminjam saat mengajukan, KYC + Device + IP + AML, satu panggilan API.
$0.00
Biaya per cicilan dengan deteksi velocity dan structuring terintegrasi.
<0s
Verifikasi KYC end-to-end per aplikasi, di Android entry-level.
0
Verifikasi gratis setiap bulan, di setiap akun.
Tiga tingkatan, satu daftar harga
Mulai gratis. Bayar sesuai penggunaan. Skala ke Enterprise.
500 verifikasi gratis setiap bulan, selamanya. Pay-as-you-go untuk produksi. Kontrak kustom, data residency, dan SLA (Service Level Agreements) untuk Enterprise.
Gratis
Gratis
$0 / bulan. Tidak perlu kartu kredit.
Paket KYC gratis (Verifikasi ID + Passive Liveness + Face Match + Analisis Perangkat & IP), 500 / bulan, setiap bulan
User yang masuk daftar hitam
Deteksi Duplikat
200+ sinyal fraud di setiap sesi
KYC yang dapat digunakan kembali di seluruh jaringan Didit
Platform Manajemen Kasus
Workflow Builder
Dokumentasi publik, sandbox, SDK, server MCP (Model Context Protocol)