Payment Gateway Aggregator • IDR • 15+ Channels

Connected Payment Solution for Your Business

Accept QRIS, bank Virtual Accounts, and E-Wallets through a single API integration. Automatic callbacks, real-time balance, and disbursement in one dashboard.

● LIVE + Sandbox QRIS 2.9% • VA 2.3%+7.5k • Payout 1%+6k 15+ active channels
~3 seccreate a payment link
1 APIfor all channels
24/7callbacks + audit logs
Quick test — payin_create200 OK
curl -X POST https://pga.lottonesia.org/api/v1/payin_create.php \
 -H 'Content-Type: application/json' \
 -d '{"merchant_id":"MCH001","order_id":"INV-001",
     "amount":50000,"channel":"QRIS",
     "notify_url":"https://toko.id/notify","sign":"..."}'

→ {"code":0,"data":{"trx_id":"LP...","status":"PENDING",
    "payment_link":"https://.../pay?trx=LP..."}}

Sign = UPPER(MD5(sorted_params&key=SECRET)). Signing guide • Channels JSON • Health

TRUSTED ACROSS BUSINESS SIZES
UMKME-CommerceTop-Up & GameSaaS & LanggananJasa & TagihanEnterprise
PRODUCTS

One Account to Collect & Send Funds

Four connected core products — from online checkout to mass withdrawals.

OP
Online Payment

Payin API with 15+ channels: QRIS, BCA, BRI, Mandiri, BNI, Permata, CIMB, Danamon, BSI, OCBC, DANA, OVO, GoPay, ShopeePay, LinkAja with automatic callbacks.

Visit Product →
PL
Payment Link

Create payment links without coding via /pay?trx=... Great for manual invoices, WA commerce, and social commerce.

Create Link →
DB
Disbursement

Send funds to many accounts at once via payout_create.php. Balance debited on create, auto-refunded on failure.

Visit Product →
QR
QRIS

One QR for all e-wallets & m-banking. PAID status triggers balance credit + callback forward to your server.

Check Channels →
SOLUTIONS

We Are Here to Help Your Business

From online stalls to enterprises — same infrastructure, adaptive scale.

◈
Diverse Local Channels

Pick methods your customers use: QRIS, bank VA, e-wallets. Channel → upstream mapping is centralized; you just send one channel code.

⬣
Unified Ecosystem

Payin, payout, balance, ledger, callback logs, and merchant/admin dashboards in one consistent, audited database.

⬢
Reliable Infrastructure

Idempotent order_id, anti double-credit/refund, callback forwarding + status re-query. Logs in files & database.

For Small Business

Register → get merchant_id / api_secret → create manual payment links → share with customers. No API integration needed to start today.

Register as SME →
For Enterprise

Full server-to-server integration: create → query → callback verify → ledger reconciliation. Flexible per-merchant fees, payout limits & approvals.

Discuss Requirements →
COVERAGE

15+ Active Payment Methods

One channel parameter — we handle the rest upstream.

QRISall e-wallet & m-banking
BCA VAbank transfer
BRI VAbank transfer
MANDIRI VAbank transfer
BNI VAbank transfer
PERMATA VAbank transfer
CIMB VAbank transfer
DANAMON VAbank transfer
BSI VAsyariah
OCBC VAbank transfer
DANAe-wallet
OVOe-wallet
GoPaye-wallet
ShopeePaye-wallet
LinkAjae-wallet

View Channels JSON

SECURITY

Security and Privacy You Can Trust

We apply layered security practices. Official license claims are shown only if your company actually holds them — otherwise we stay honest about technical controls.

What we do today

Per-request MD5-uppercase signatures, bcrypt password hashing, server-side-only upstream credentials, per-mutation ledger audit, and blocking payment simulation in live mode. Delete install.php after installation.

Learn Secure Integration →
✍
Signed APIEvery request must be signed
✓
Callback VerifyVerify upstream signatures
≡
Ledger AuditEvery mutation recorded
🔒
Restricted AccessMerchant vs admin roles
Secure money flow
Merchant → payin_create (signed)
  → LottoPay → Banking Partner → QRIS/VA/E-Wallet
  → callback → verify → credit 1x
  → forward to notify_url
  → reply HTTP 200 + SUCCESS

Use payin_query for reconciliation. Never trust browser status — trust verified callbacks + server queries.

DEVELOPERS

Integrate in minutes

Copy-paste a snippet, swap the secret, and test instantly in sandbox (mock_mode=1).

PHP
function sign($p,$s){
 ksort($p); $a=[];
 foreach($p as $k=>$v){
  if($v===''||$v===null) continue;
  $a[]="$k=$v";
 }
 return strtoupper(md5(
  implode('&',$a).'&key='.$s));
}
Node.js
const crypto=require('crypto');
function sign(p,s){
 const q=Object.keys(p).sort()
  .map(k=>k+'='+p[k]).join('&')
  +'&key='+s;
 return crypto.createHash('md5')
  .update(q).digest('hex')
  .toUpperCase();
}
Python
import hashlib
def sign(p,s):
 q='&'.join(f"{k}={p[k]}"
  for k in sorted(p))
 q+=f"&key={s}"
 return hashlib.md5(
  q.encode()).hexdigest().upper()

Open Full Documentation Download Postman

PRICING

Transparent pricing, pay on success

Fees apply only to successful transactions, per chosen payment method.

%
Payin — QRIS 2.9% / VA 2.3%+7.5k / E-Wallet 3.5%

Final merchant rates, no hidden fees. Pay only on success.

See pricing →
Rp
Payout — 1.0% + IDR 6,000

Disbursement to banks & e-wallets. Debited on create, auto-refunded on FAILED.

See pricing →
0
Sandbox — free

Enable mock_mode=1 to test create → simulate pay → callback without touching real balance.

Try Sandbox →
SUPPORT

Frequently Asked Questions

Cannot find an answer? Contact us.

LottoPay is a payment gateway aggregator: integrate once to our API, we route through our payment network (QRIS/VA/e-wallets), then forward status and funds to your merchant balance.
Payin QRIS 2.9%, e-wallets 3.5%, VA 2.3% + IDR 7,500; payout 1.0% + IDR 6,000 — success-only and adjustable per merchant.
Register at merchant/register to get merchant_id / api_key / api_secret, then set your notify_url to receive callbacks. For production, prepare business legality and a PIC contact.
Upstream → /callback/payin.php → verify → credit balance once → forward signed JSON to your notify_url. Reply HTTP 200 + SUCCESS and use the query API for reconciliation.
TESTIMONIALS

What do our users say?

Example usage patterns from segments that commonly use LottoPay.

"QRIS + VA checkout in one API cut our integration time from weeks to days."

Culinary SME · BandungPayment Links for WA orders

"Consistent callbacks and a clear ledger make daily reconciliation much easier."

Top-Up & Gaming · JakartaHigh daily payin volume

"Mass disbursement + auto-refund helps our finance team process payouts drama-free."

SaaS & Services · SurabayaUnified payin + payout

We Are Ready to Help You

Connect your business to an Indonesian payment gateway today — start from a free sandbox.

Register Now Contact / Docs

Support: [email protected] • Base URL: https://pga.lottonesia.org