Official Notice on Total Service Suspension of Khqrapi System Dear valued customers, business partners, and developers! According to the official announcement from the Bakong Team regarding the 'Amendment to the Bakong Open API Terms of Use', which restricts requests to just 100 times per day and strictly prohibits commercial use, this critical change has completely disrupted the core infrastructure of Bakong Relay as a cross-border gateway.
Integrate Bakong KHQR payment into your app with a few lines of code. Fast, secure, and built for Cambodian developers.
$response = Http::withToken('your_api_key')
->post('https://api.qrpay.app/v1/qr', [
'amount' => 25.00,
'currency' => 'USD',
'memo' => 'Order #1234',
]);
$qrCode = $response['qr_image'];
$deeplink = $response['deeplink'];
$25 USD
NBC Verified
Bakong Partner
Simple, fast, and developer-friendly KHQR payment integration.
Generate Bakong KHQR codes for USD and KHR with one API call. Returns base64 PNG ready to display.
Real-time payment verification through Bakong API. Know instantly when a customer has paid.
Generate Bakong deep links to open payment directly in the Bakong mobile app.
Each account gets a unique hashed API key. Rate limiting and request logging included for security.
Optimized for speed with response caching. Get your QR code in milliseconds, not seconds.
Track API calls, success rates, and payment volumes from your dashboard in real time.
Start free. Upgrade when you grow.
Perfect for testing & small projects
Monthly — pay as you go
Annual — best value plan
$1.25 / month — save $9.00 vs monthly
All Pro plans include the same features. Yearly billing locks in the lowest price.
Just a few lines of code to start accepting payments.
// 1. Set your API key: QRPAY_API_KEY=sk_live_...
$ch = curl_init('https://apikhqr.com/api/v1/khqr/generate');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['X-API-Key: sk_live_...', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode(['amount' => 5.00, 'currency' => 'USD', 'memo' => 'Order #1234']),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
$qrCode = $data['qr_image']; // base64 PNG
$md5 = $data['md5']; // for status check
Sign up free today. No credit card required. Start accepting payments in minutes.