KRYZ TERMINAL
LIVE
Automated Gateway Engine · Live (UTC+8)

Accept TNG payments and confirm them automatically.

Create a payment, show your customer a QR, and the terminal matches incoming transfer notifications and alerts your webhook typically within seconds. No complex paperwork, no waiting on corporate bank callbacks. Built for Malaysian developers, priced in ringgit.

OFFICIAL ANDROID APP v2.1.0 15 MB · ZERO PERMISSIONS FOR CONSUMERS

Kryz Pay: Fast & Secure eWallet on Your Phone

Download the official Kryz Pay Android app built with Kotlin & Jetpack Compose. Enjoy seamless P2P transfers with Kryz Tag, CameraX QR scanner & personal QR generator, 6-digit transaction PIN, instant wallet reloads, and biometric protection.

👤 Personal P2P Transfers Send & receive with Kryz Tag (@user), CameraX viewfinder, 6-digit PIN, biometric security, and zero background daemons.
⚡ Kryz Pay QR Code Generate personal payment QR codes instantly or scan others with live animated laser viewfinder.
Download Kryz Pay APK Open Web Wallet
📱 SCAN TO DOWNLOAD
Scan to download APK
Direct Android APK · v2.1.0
TRANSACTION LIFECYCLE SIMULATOR
1. Create Order
2. Customer Pay
3. Notification Match
4. Signed Webhook
// Click "Run Live Simulation" to watch the end-to-end notification matching cycle in action.
> Terminal idle. Waiting for order event…
How this actually works — read before you use it.
This is not an official Touch 'n Go partner product. It confirms a payment when an incoming TNG eWallet notification with the exact unique amount appears on the operator's device. Every confirmed payment is marked verification: "notification_only", because an arriving amount is not a cryptographic proof of the sender's identity. Use it for payments you are prepared to manage. Do not treat it as an irreversible bank wire.

How it works in 3 steps

  1. 1. Create a payment via API

    Your backend calls POST /api/v1/payments. The terminal assigns a unique sen offset (e.g. RM 20.00 becomes RM 20.04) and returns a ready-to-share checkout URL.

  2. 2. Customer transfers the exact sen amount

    The customer opens the link on their phone, scans your DuitNow/TNG QR code, and sends the exact RM 20.04. The checkout screen counts down with a live timer and polling listener.

  3. 3. Instant match & webhook delivery

    The terminal intercepts the TNG notification, matches the exact RM 20.04 to the pending order, marks it received, and immediately delivers a signed HMAC SHA-256 webhook to your server.

Why unique sen amounts guarantee zero conflicts

TNG eWallet notifications do not include order IDs. To guarantee that concurrent customers paying for the same item never collide, the gateway deterministically offsets each active payment by a unique 1–99 sen increment (e.g. RM 50.00 becomes RM 50.07). Up to 99 concurrent transactions for the exact same base amount are supported without collision; excess requests receive HTTP 409 retry guidance.

Customer transfers: RM 50.07 · Base RM 50.00 + 7 sen fee. Deterministic offset matching.

Integration in 60 seconds

curl -X POST https://pay.kryznet.com/api/v1/payments \
  -H 'Authorization: Bearer kpt_your_key' \
  -H 'Content-Type: application/json' \
  -d '{"amount_sen": 2500, "order_ref": "ORDER-9821"}'
const response = await fetch('https://pay.kryznet.com/api/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer kpt_your_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount_sen: 2500, // RM 25.00
    order_ref: 'ORDER-9821'
  })
});
const data = await response.json();
console.log('Customer checkout URL:', data.pay_url);
import requests

res = requests.post(
    'https://pay.kryznet.com/api/v1/payments',
    headers={'Authorization': 'Bearer kpt_your_key'},
    json={'amount_sen': 2500, 'order_ref': 'ORDER-9821'}
)
print('Pay URL:', res.json()['pay_url'])
<?php
$ch = curl_init('https://pay.kryznet.com/api/v1/payments');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer kpt_your_key',
    'Content-Type: application/json'
  ],
  CURLOPT_POSTFIELDS => json_encode([
    'amount_sen' => 2500,
    'order_ref' => 'ORDER-9821'
  ])
]);
$res = json_decode(curl_exec($ch), true);
header('Location: ' . $res['pay_url']);
PRICING

Transparent, developer-first pricing

No hidden costs, no recurring retainers, priced in Ringgit Malaysia.

SETUP & ACCOUNT
RM 0

No upfront fees or fixed monthly commitments

  • Zero account opening fee
  • Zero monthly subscription
  • Unlimited API keys
  • No SSM registration required
Get Started
MATCHING FEE
0%

0% deducted from your base amount.

  • Customer pays exact 1–99 sen matching fee
  • You receive 100% of your base requested amount
  • Fee earned strictly upon confirmed receipt
  • Deterministic collision-free matching
Create Account
WITHDRAWALS
RM 0.00

Zero platform fees on balance withdrawals

  • Minimum withdrawal: RM 1.00
  • Settlement via DuitNow Bank or TNG eWallet
  • Safety review typically 1–2 hours (9am–10pm)
  • Detailed settlement ledger & export
Read Docs

Why choose Kryz Terminal?

FOR BUILDERS

Straightforward Developer Activation

Traditional gateways demand SSM certificates, corporate bank statements, director guarantees, and weeks of compliance scrutiny. With Kryz, you start receiving funds without bureaucratic overhead.

  • No setup fees or fixed monthly charges
  • Real-time ledger settlement. Received payments credit to your merchant balance in real time, available for withdrawal to your bank or DuitNow account (reviewed typically within 1–2 hours during operating hours, minimum RM 1.00, 0% platform withdrawal fee).
  • Cryptographic HMAC-SHA256 webhook verification

Full Platform Capabilities

  • Scoped API Keys — hashed at rest using crypto SHA-256, revocable individually with zero downtime.
  • Full Merchant Portal — live payments feed, financial settlement ledger, balance tracker, and withdrawal requests.
  • Automated Retries — failing merchant webhooks back off exponentially and retry up to 6 times.
  • Complete Audit Log — every arriving notification is recorded with matching reason and full metadata.

Frequently Asked Questions

How does payment detection work without official TNG APIs?

The terminal listens for real-time incoming transfer notifications on our host Android device. When an amount matching your open order arrives, the gateway pairs the unique amount with your pending order, flips its status to received, credits your balance ledger with the base amount, and notifies your server via a signed webhook.

What happens if 100 people buy the same RM 10 item at the same time?

The system assigns a unique sen offset between 1 and 99 sen (e.g. RM 10.01 through RM 10.99), guaranteeing up to 99 concurrent orders for the identical price point without collision. In the unlikely event all 99 sen slots are occupied concurrently, the API returns an HTTP 409 response with a retry_after_seconds hint, allowing your app to retry gracefully.

How much does it cost? Is there any hidden fee?

0% is deducted from your requested base amount. Your customer pays the extra 1–99 sen offset on checkout, which serves as the gateway infrastructure fee. We charge RM 0 setup, RM 0 monthly subscription, and RM 0.00 withdrawal fee.

How do withdrawals work, and what is the minimum?

You can request a withdrawal anytime from your Merchant Dashboard once your balance reaches RM 1.00. Payouts are sent to your verified Malaysian bank account (via DuitNow) or Touch 'n Go eWallet phone number. Requests are reviewed manually for safety and typically processed within 1–2 hours during operating hours (9am–10pm UTC+8).

What if a customer sends the wrong amount or pays late?

If an amount does not match any pending payment, or arrives after the 10-minute expiry window, it is logged in the audit trail as unmatched. The operator can review the audit log in the dashboard and manually settle or refund the customer.

How do I secure my webhook endpoint?

Every webhook delivery includes an X-Kpt-Signature header containing an HMAC SHA-256 signature computed with your secret and a timestamp. Your server verifies this signature to prevent tampering and replay attacks.

Ready to accept automated TNG payments?

Create an account, then message us on WhatsApp for rapid manual activation (typically 15–60 minutes during operating hours). We verify every builder to prevent platform abuse.