āļāļđāđāļĄāļ·āļāļāļēāļĢāđāļāđāļāļēāļ API āļŠāļģāļŦāļĢāļąāļāļĢāļąāļ Webhook āđāļāđāļāđāļāļ·āļāļāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļāļāđāļēāļ SMS
API āļāļĩāđāđāļŦāđāļāļĢāļīāļāļēāļĢāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļĢāđāļēāļ QR Code āļāļĢāđāļāļĄāđāļāļĒāđ, āļĒāļāđāļĨāļīāļāļāļļāļĢāļāļĢāļĢāļĄ, āđāļĨāļ°āļāļĢāļ§āļāļŠāļāļāļŠāļāļēāļāļ°āļāļļāļĢāļāļĢāļĢāļĄ
https://paynoi.com/ppay_apiapplication/jsonapi_key āļāļēāļāļāļēāļĢāļēāļ usersāļŠāļĢāđāļēāļāļāļļāļĢāļāļĢāļĢāļĄāļāļĢāđāļāļĄāđāļāļĒāđāđāļĨāļ° QR Code āđāļāļĒāļĢāļąāļ amount āđāļāđāļāļāļģāļāļ§āļāđāļāđāļĄ (āļŦāļāđāļ§āļĒāļāļēāļ) āđāļĨāļ° API āļāļ°āļŠāļļāđāļĄāļāļĻāļāļīāļĒāļĄ 2 āļāļģāđāļŦāļāđāļ (āđāļāđāļ 100 āļāļēāļāļāļēāļāļāļĨāļēāļĒāđāļāđāļ 100.24 āļāļēāļ) ** āļŠāļļāđāļĄāđāļĢāļīāđāļĄāļāļąāđāļāđāļāđ .00-.99
Endpoint: /ppay_api
{
"method": "create",
"api_key": "your_test_api_key",
"amount": 100,
"ref1": "testpay",
"key_id": "100568",
"account": "1234567890",
"type": "1"
}
method āļāļāļāļĩāđāđāļāđāļ "create"api_key API key āļāļēāļāļāļēāļĢāļēāļ usersamount āļāļģāļāļ§āļāđāļāđāļĄ (āļŦāļāđāļ§āļĒāļāļēāļ āđāļāđāļ 100)ref1 āļāđāļēāļāļāļīāļāļāļļāļĢāļāļĢāļĢāļĄ (āđāļāđāļ āļĢāļŦāļąāļŠāļāļģāļŠāļąāđāļāļāļ·āđāļ)key_id āļĢāļŦāļąāļŠ 6 āļŦāļĨāļąāļāļāļēāļ user_settings (āđāļāđāļ 100568 āļŠāļģāļŦāļĢāļąāļāļāļŠāļīāļāļĢ, 100569 āļŠāļģāļŦāļĢāļąāļāļāļĢāļļāļāļĻāļĢāļĩ, 100570 āļŠāļģāļŦāļĢāļąāļāđāļāļĒāļāļēāļāļīāļāļĒāđ)account āđāļĨāļāļāļĩāđāļāļĢāđāļāļĄāđāļāļĒāđ (āđāļāļāļĢāđāļĄāļ·āļāļāļ·āļ āļŦāļĢāļ·āļ āđāļĨāļāļāļąāļāļĢāļāļĢāļ°āļāļēāļāļ)type āļāļĢāļ°āđāļ āļāļāļąāļāļāļĩ (1: āđāļāļāļĢāđāļĄāļ·āļāļāļ·āļ āļŦāļĢāļ·āļ 2: āđāļĨāļāļāļąāļāļĢāļāļĢāļ°āļāļēāļāļ)Success (āļŠāļĄāļĄāļāļīāļŠāļļāđāļĄāļāļĻāļāļīāļĒāļĄāđāļāđ 0.24):
{
"status": 1,
"trans_id": "PPAY_123456789",
"qr_image_base64": "base64_string",
"amount_check": 10024,
"amount": "100.24",
"account": "1234567890",
"type": "1",
"expire_at": "2025-04-28T12:15:00+07:00"
}
status 1 (āļŠāļģāđāļĢāđāļ)trans_id āļĢāļŦāļąāļŠāļāļļāļĢāļāļĢāļĢāļĄāļāļĩāđāļŠāļĢāđāļēāļqr_image_base64 āļĢāļđāļ QR Code āđāļāļĢāļđāļāđāļāļ Base64amount_check āļĒāļāļāļĢāļ§āļĄ (āļŠāļāļēāļāļāđ āđāļāđāļ 10024)amount āļĒāļāļāļĢāļ§āļĄāļāļĩāđāļĄāļĩāļāļĻāļāļīāļĒāļĄ (āļāļēāļ āđāļāđāļ 100.24)expire_at āđāļ§āļĨāļēāļŦāļĄāļāļāļēāļĒāļļ (ISO 8601)Error:
{
"status": 0,
"msg": "āļāļģāļāļ§āļāđāļāļīāļ, ref1, āļŦāļĢāļ·āļ key_id āđāļĄāđāļāļđāļāļāđāļāļ"
}
āļĒāļāđāļĨāļīāļāļāļļāļĢāļāļĢāļĢāļĄāļāļĩāđāļāļĒāļđāđāđāļāļŠāļāļēāļāļ° pending āļŦāļĢāļ·āļāļŦāļĄāļāļāļēāļĒāļļ (āđāļāļīāļ 15 āļāļēāļāļĩāļāļēāļ created_at)
Endpoint: /ppay_api
{
"method": "cancel",
"api_key": "your_test_api_key",
"trans_id": "PPAY_123456789"
}
method āļāļāļāļĩāđāđāļāđāļ "cancel"api_key API key āļāļēāļāļāļēāļĢāļēāļ userstrans_id āļĢāļŦāļąāļŠāļāļļāļĢāļāļĢāļĢāļĄāļāļēāļāļāļģāļāļ createSuccess:
{
"status": 1
}
Error:
{
"status": 0,
"msg": "āļāļļāļĢāļāļĢāļĢāļĄāļĒāļąāļāđāļĄāđāļŦāļĄāļāļāļēāļĒāļļāđāļĨāļ°āļāļĒāļđāđāđāļāļŠāļāļēāļāļ°āļāļĩāđāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļĒāļāđāļĨāļīāļāđāļāđ"
}
āļāļĢāļ§āļāļŠāļāļāļŠāļāļēāļāļ°āđāļĨāļ°āļĢāļēāļĒāļĨāļ°āđāļāļĩāļĒāļāļāļāļāļāļļāļĢāļāļĢāļĢāļĄ
Endpoint: /ppay_api
{
"method": "check",
"api_key": "your_test_api_key",
"trans_id": "PPAY_123456789"
}
method āļāļāļāļĩāđāđāļāđāļ "check"api_key API key āļāļēāļāļāļēāļĢāļēāļ userstrans_id āļĢāļŦāļąāļŠāļāļļāļĢāļāļĢāļĢāļĄāļāļēāļāļāļģāļāļ createSuccess:
{
"status": 1,
"trans_id": "PPAY_123456789",
"amount_check": 10024,
"amount": "100.24",
"ref1": "testpay",
"payment_status": "pending",
"created_at": "2025-04-28 12:00:00",
"expire_at": "2025-04-28T12:15:00+07:00",
"type": "1",
"key_id": "100568"
}
status 1 (āļŠāļģāđāļĢāđāļ)trans_id āļĢāļŦāļąāļŠāļāļļāļĢāļāļĢāļĢāļĄamount_check āļĒāļāļāļĢāļ§āļĄ (āļŠāļāļēāļāļāđ āđāļāđāļ 10024)amount āļĒāļāļāļĢāļ§āļĄāļāļĩāđāļĄāļĩāļāļĻāļāļīāļĒāļĄ (āļāļēāļ āđāļāđāļ 100.24)ref1 āļāđāļēāļāļāļīāļāļāļļāļĢāļāļĢāļĢāļĄpayment_status āļŠāļāļēāļāļ°āļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļ (āđāļāđāļ pending, completed, failed)created_at āđāļ§āļĨāļēāļŠāļĢāđāļēāļexpire_at āđāļ§āļĨāļēāļŦāļĄāļāļāļēāļĒāļļ (ISO 8601)type āļāļāļīāļāļāļĢāđāļāļĄāđāļāļĒāđ (1 = āđāļāļāļĢāđāđāļāļĢ, 2 = āđāļĨāļāļāļąāļāļĢāļāļĢāļ°āļāļēāļāļ)key_id āļĢāļŦāļąāļŠ 6 āļŦāļĨāļąāļ (āđāļāđāļ 100568)Error:
{
"status": 0,
"msg": "āđāļĄāđāļāļāļāļļāļĢāļāļĢāļĢāļĄ"
}
āđāļĄāļ·āđāļāļĄāļĩāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļāļŠāļģāđāļĢāđāļ API āļāļ°āļŠāđāļ webhook āđāļāļĒāļąāļ webhook_url āļāļĩāđāļāļģāļŦāļāļāđāļ user_settings
{
"data": {
"trans_id": "PPAY_123456789",
"ref1": "testpay",
"amount_check": 10024,
"amount": "100.24",
"transaction_date: "2025-04-28",
"transaction_time: "12:00:00",
"status": "1",
"payment_status": "completed"
},
"signature": "hmac_signature"
}
data āļāđāļāļĄāļđāļĨāļāļēāļĢāļāļģāļĢāļ°āđāļāļīāļsignature āļĨāļēāļĒāđāļāđāļ HMAC-SHA256 (āđāļāđ api_key āļāļēāļ users)Webhook endpoint āļāđāļāļāļāļāļāļāļĨāļąāļ:
{
"status": 1
}
āļāļąāļ§āļāļĒāđāļēāļāđāļāđāļ PHP āļŠāļģāļŦāļĢāļąāļāđāļĢāļĩāļĒāļ API āđāļāļĒāđāļāđ cURL
<?php
function callPromptPayApi($method, $data) {
$url = 'https://paynoi.com/ppay_api';
$payload = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return [
'http_code' => $httpCode,
'response' => json_decode($response, true)
];
}
// āļāļąāļ§āļāļĒāđāļēāļ: Create Transaction
$createData = [
'method' => 'create',
'api_key' => 'your_test_api_key',
'amount' => 100,
'ref1' => 'testpay',
'key_id' => '100568',
'account' => '1234567890',
'type' => '1'
];
$result = callPromptPayApi('create', $createData);
echo "Create Response: " . print_r($result, true) . "\n";
// āļāļąāļ§āļāļĒāđāļēāļ: Cancel Transaction
$cancelData = [
'method' => 'cancel',
'api_key' => 'your_test_api_key',
'trans_id' => 'PPAY_123456789'
];
$result = callPromptPayApi('cancel', $cancelData);
echo "Cancel Response: " . print_r($result, true) . "\n";
// āļāļąāļ§āļāļĒāđāļēāļ: Check Transaction
$checkData = [
'method' => 'check',
'api_key' => 'your_test_api_key',
'trans_id' => 'PPAY_123456789'
];
$result = callPromptPayApi('check', $checkData);
echo "Check Response: " . print_r($result, true) . "\n";
?>
100568 (āļāļŠāļīāļāļĢ) āļŦāļĢāļ·āļ 100569 (āļāļĢāļļāļāļĻāļĢāļĩ) āļŦāļĢāļ·āļ 100570 (āđāļāļĒāļāļēāļāļīāļāļĒāđ) āļāļēāļ user_settingsapi_key āļāļĒāđāļēāļāļāļĨāļāļāļ āļąāļĒlogs/app.logāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļąāđāļāļāđāļē user_settings āļŦāļĢāļ·āļāļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļāļāļēāļāļēāļĢ āļāļĢāļļāļāļēāļāļīāļāļāđāļāļāļĩāļĄāļāļąāļāļāļē