QRIS・銀行バーチャルアカウント・Eウォレットを単一のAPI連携で受け付けできます。自動コールバック、リアルタイム残高、一括送金を一つのダッシュボードで管理できます。
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)). 署名ガイド • Channels JSON • Health
オンライン決済から一括出金まで、連携する4つの中核プロダクトです。
15以上のチャネルに対応したPayin APIです:QRIS、BCA、BRI、Mandiri、BNI、Permata、CIMB、Danamon、BSI、OCBC、DANA、OVO、GoPay、ShopeePay、LinkAja(自動コールバック付き)。
プロダクトを見る →オンライン小規模店舗から大企業まで — 同じ基盤で柔軟にスケールできます。
お客様が利用する方法を選べます:QRIS、銀行VA、Eウォレット。チャネルから上流への対応付けは一元管理され、単一のチャネルコードを送るだけです。
Payin、Payout、残高、台帳、コールバックログ、マーチャント・管理者ダッシュボードを、整合性のある監査可能な単一データベースで管理します。
冪等なorder_id、二重加算・二重返金防止、コールバック転送とステータス再照会に対応します。ログはファイルとデータベースに保存されます。
登録してmerchant_id / api_secretを取得し、手動の決済リンクを作成して顧客に共有できます。API連携なしでも今日から開始できます。
中小事業者として登録する →サーバー間連携に完全対応します:作成 → 照会 → コールバック検証 → 台帳リコンサイル。マーチャントごとの柔軟な手数料設定、送金限度額・承認フローに対応します。
要件をご相談ください →チャネルパラメータは一つだけ — 残りは上流側で対応します。
多層のセキュリティ対策を適用しています。公式ライセンスの表記は、貴社が実際に保有している場合にのみ表示します。技術的な管理策については正直にお伝えします。
リクエストごとのMD5大文字署名、bcryptによるパスワードハッシュ、サーバー側のみでの上流認証情報の管理、変更ごとの台帳監査、本番モードでの決済シミュレーションの禁止を行っています。設置後はinstall.phpを削除してください。
安全な連携を学ぶ →Merchant → payin_create (signed) → LottoPay → Banking Partner → QRIS/VA/E-Wallet → callback → verify → credit 1x → forward to notify_url → reply HTTP 200 + SUCCESS
リコンサイルにはpayin_queryをご利用ください。ブラウザのステータスは信用せず、検証済みコールバックとサーバー照会をご利用ください。
スニペットをコピー&ペーストし、シークレットを置き換えて、サンドボックス(mock_mode=1)ですぐにテストできます。
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));
}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(); }
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()成功した取引に対してのみ、選択した決済手段に応じて手数料が発生します。
答えが見つかりませんか?お問い合わせください。
LottoPayをよくご利用いただく業種別の利用例です。
「QRISとVA決済を一つのAPIで導入でき、連携期間が数週間から数日に短縮されました。」
飲食系中小事業者 · BandungWA注文向けPayment Linkです「安定したコールバックと明確な台帳のおかげで、日々のリコンサイルがとても楽になりました。」
Top-Up・ゲーム · Jakarta日次Payin件数が多い事例です「一括送金と自動返金のおかげで、経理チームが安心して送金を処理できます。」
SaaS・サービス · SurabayaPayinとPayoutの統合利用です無料サンドボックスから、今日インドネシアのペイメントゲートウェイに接続しましょう。
Support: [email protected] • Base URL: https://pga.lottonesia.org