Bantuan
Documentation
Integrasi REST API Malawali Payment: project, API key, order, status, dan webhook.
Malawali Payment · REST API v1
Integrasi Pembayaran QRIS
Buat order dari server Anda, tampilkan QR ke pelanggan, lalu terima callback
order.paid setelah pembayaran terdeteksi otomatis. API Key dibuat per Project
dan hanya aktif selama langganan berjalan.
Base URL
http://localhost:3001/api
Autentikasi
Header
x-api-key: pk_live_…
Format
JSON (request & response)
Webhook
HMAC-SHA256, retry maksimal 3×, timeout 10 detik
Cek Status
Ambil kondisi order terbaru. Cocokkan juga dengan callback webhook yang Anda terima.
Endpoint
GET
GET /api/orders/:id
Order hanya dapat diakses oleh project yang membuatnya. Project lain akan menerima order_not_found.
curl -X GET http://localhost:3001/api/orders/ord_7f3k9d2m \
-H "x-api-key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
const res = await fetch("http://localhost:3001/api/orders/ord_7f3k9d2m", {
headers: { "x-api-key": "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx" },
});
const order = await res.json();
if (order.status === "paid") {
// kirim produk / aktifkan layanan
}
<?php
$ch = curl_init("http://localhost:3001/api/orders/ord_7f3k9d2m");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["x-api-key: pk_live_xxxxxxxxxxxxxxxxxxxxxxxx"],
]);
$order = json_decode(curl_exec($ch), true);
if ($order["status"] === "paid") {
// aktifkan layanan
}
import requests
order = requests.get(
"http://localhost:3001/api/orders/ord_7f3k9d2m",
headers={"x-api-key": "pk_live_xxxxxxxxxxxxxxxxxxxxxxxx"},
timeout=10,
).json()
if order["status"] == "paid":
pass # aktifkan layanan