การเตรียมข้อมูล
เมื่อคุณนั้นผ่านขั้นตอนการ ตั้งค่า มาแล้ว, ต่อมา เราจะเรื่มสร้างคำขอชำระเงิน QR จากตัวอย่างด้านล่างนี้
use Farzai\KApi\QrPayment\Requests as QrPaymentRequests;
$request = new QrPaymentRequests\RequestThaiQRCode();
$yourTransactionId = 'XXXXXXXXXXXXXXX';
$request
// Required
->setMerchant(id: '<YOUR_MERCHANT_ID>')
->setPartner(
partnerTransactionID: $yourTransactionId,
partnerID: '<YOUR_PARTNER_ID>',
partnerSecret: '<YOUR_PARTNER_SECRET>',
requestDateTime: new \DateTime('now'),
)
->setAmount(100)
->setReferences('<YOUR_ORDER_ID>')
// or ->setReferences('<reference1>', '<reference2>', '<reference3>', '<reference4>')
// Optional
->setTerminal('<YOUR_TERMINAL_ID>')
->setCurrency('THB') // Default is THB
->setMetadata([
'แก้วเบียร์ 40บ.',
'เหล้าขาว 60บ.',
]);
การส่งคำขอ
เมื่อคุณพร้อมที่จะส่งข้อมูลแล้ว, คุณสามารถส่งคำขอได้โดยใช้ $client->qrPayment->sendRequest
จากตัวอย่างด้านล่างนี้
$client = ClientBuilder::make()
//.....
->build();
$response = $client->qrPayment->sendRequest($request);
การตอบกลับ
หากคุณต้องการที่จะดูข้อมูลที่ได้รับจากการส่งคำขอ, คุณสามารถใช้ $response->toArray()
หรือ $response->json()
ได้เช่นกัน
$response->toArray() // or $response->json();
// [
// "partnerTxnUid" => "QRH001030118001",
// "partnerId" => "POS001",
// "statusCode" => "00",
// "errorCode" => null,
// "errorDesc" => null,
// "accountName" => "นายสมชาย รักกสิกร",
// "qrCode" => "00020101021230690016A000000677010112011301055580807780211LEX110000020313LEX026039306931590016A00000067701011301030040211LEX110000020413LEX02603930695303764540512.815802TH6304A2C1",
// "sof" => ["PP"]
// ]
การแจ้งเตือนจาก Webhook
หากคุณต้องการที่จะรับการแจ้งเตือนจาก Webhook, ตัว sdk จะทำการตรวสอบข้อมูลของท่านให้เองเมื่อคุณเรียกใช้ methods $client->processWebhook
จากตัวอย่างด้านล่างนี้
use Farzai\KApi\QrPayment;
$result = $client->processWebhook(
new QrPayment\PaymentNotificationCallback
);
// $result->json(): array
// [
// "partnerTxnUid" => "{{YOUR TXN ID}}",
// "partnerId" => "{{YOUR PARTNER ID}}",
// "statusCode" => "00",
// "errorCode" => null,
// "errorDesc" => null,
// "merchantId" => "BEV06000080200",
// "txnAmount" => 100.5,
// "txnCurrencyCode" => "THB",
// "loyaltyId" => "00199100000",
// "txnNo" => "201802080035496",
// "additionalInfo" => "ข้อมูลประกอบอื่นๆ"
// ]
Request methods
ระบุรหัสร้านค้า
$request->setMerchant(string $id): self
ระบุรหัสพาร์ทเนอร์
$request->setPartner(string $partnerTransactionID, string $partnerID, string $partnerSecret, \DateTime $requestDateTime): self
ระบุจำนวนเงิน
$request->setAmount(int $amount): self
ระบุรหัสอ้างอิง
$request->setReferences(string ...$references): self
ระบุเลขที่เครื่อง
$request->setTerminal(string $id): self
ระบุสกุลเงิน
$request->setCurrency(string $currency): self
ระบุข้อมูลเพิ่มเติม
$request->setMetadata(array $metadata): self
Response methods
Farzai\KApi\Contracts\ResponseInterface
เช็คสถานะการชำระเงิน
$response->isSuccessfull(): bool
รับค่ารหัสสถานะ
$response->json('statusCode'): string
รับค่ารหัสข้อผิดพลาด
$response->json('errorCode'): string
รับค่ารหัสอ้างอิงของพาร์ทเนอร์
$response->json('partnerTxnUid'): string
API อ้างอิง