KBank Open API SDK for PHP
  • Overview
  • ตั้งค่า
    • เปลี่ยนวิธีการเก็บ Access Token
  • QR Payment
  • Changelog
  • LICENSE
  • API Reference
    • Request
    • Response
Powered by GitBook
On this page
  • การเตรียมข้อมูล
  • การส่งคำขอ
  • การตอบกลับ
  • การแจ้งเตือนจาก Webhook
  • Request methods
  • Response methods
  • API อ้างอิง

QR Payment

การเตรียมข้อมูล

เมื่อคุณนั้นผ่านขั้นตอนการ ตั้งค่า มาแล้ว,​ ต่อมา เราจะเรื่มสร้างคำขอชำระเงิน 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 อ้างอิง

Previousเปลี่ยนวิธีการเก็บ Access TokenNextChangelog

Last updated 1 year ago

QR Payment