production

Introduction

LintasPay lets you collect payments (pay-in) and send payouts (disbursement) in Indonesia, in IDR, through one signed JSON API.

You want to…Use
Get paid by a customer through virtual account, QRIS, DANA or a convenience storeCreate pay-in order
Send money to a bank account, virtual account or e-walletCreate payout
Check an account holder's name before paying outVerify bank account
Know when an order is paid or completedCallbacks
Check your balance or list supported banksQuery balance · Bank list

How it works

  1. You sign every request with your RSA private key (Signing requests).
  2. LintasPay answers with a JSON envelope {"code": 0, "message": "success", "data": {...}}. code = 0 means success, and any other code is an error.
  3. Every response and every callback is signed by LintasPay. Verify it with the LintasPay public key (Verifying signatures).
  4. When an order finishes, LintasPay POSTs a signed notification to your notifyUrl (Callbacks).

Basics

  • All endpoints are POST with a JSON body, UTF-8, over HTTPS. Never disable certificate validation.
  • Currency is IDR. Amounts are strings, for example "10000".
  • Times are GMT+7, for example 2026-10-14T10:35:12+07:00.
  • Responses can echo your own input. Escape it before you render it in HTML.

Try it now

Open Swagger, paste your sandbox app_id and private key into the Sign requests panel, and call any endpoint from your browser. Requests are signed locally, and your key never leaves the page. Swagger does not upload or register a key. Send only your public key to LintasPay (see Quick start).