For developers
A focused REST API, clear documentation and tools to start integrating in minutes.

curl -X POST https://paywise.asia/api/v1/transactions \
-H "Authorization: Bearer pw_test_••••••••" \
-H "Content-Type: application/json" \
-d '{"merchant_reference": "ORDER-1042", "amount": 250000, "payment_method": "QRIS", "customer_id": "user-1042"}'
Two endpoints and a signed webhook. Get started with the API and SDK reference.
Clear and detailed documentation for every endpoint and error code.
Test your integration safely with pw_test_ keys before going live.
Every request is logged with its status, latency, and X-Request-Id for tracing.
Start accepting payments without writing the API calls yourself.
QRIS and USDT at checkout, the PAYWISE payment page, and orders marked paid automatically. Classic and block checkout.
One small library, no dependencies (PHP 7.4+): create payments, read them, verify webhooks.
$paywise = new \Paywise\Client('pw_test_…');
$payment = $paywise->createTransaction([
'merchant_reference' => 'ORDER-1042',
'amount' => 250000,
'payment_method' => 'QRIS',
'customer_id' => 'user-1042',
]);
For Node.js 18+, no dependencies, with TypeScript types: payments and webhook verification.
const paywise = new Paywise(process.env.PAYWISE_API_KEY);
const payment = await paywise.createTransaction({
merchant_reference: 'ORDER-1042',
amount: 250000,
payment_method: 'QRIS',
customer_id: 'user-1042',
});
Testing: with a sandbox key, open the payment page and choose Paid, Failed or Expired under "Simulate the result". Your webhook receives the same event a real payment sends.
Usually replies within a minute