เชื่อม EasySlip API ด้วย PHP และ Laravel ง่าย ๆ พร้อมโค้ดตัวอย่างก๊อปไปใช้ได้เลย

เชื่อม EasySlip API ด้วย PHP และ Laravel ง่าย ๆ พร้อมโค้ดตัวอย่าง

ถ้าคุณกำลังทำเว็บไซต์หรือระบบที่รับเงินผ่านการโอน และอยากลดขั้นตอนการให้แอดมินมานั่งเช็กสลิปทีละรายการ การใช้ API ตรวจสอบสลิป PHP สามารถช่วยให้ระบบตรวจสอบข้อมูลการโอนแบบอัตโนมัติได้ สำหรับนักพัฒนาที่ใช้ PHP หรือ Laravel การเชื่อมต่อ EasySlip API สามารถทำผ่าน HTTP Request ได้ โดย API v2 รองรับการส่งข้อมูลเพื่อตรวจสอบสลิปผ่านหลายรูปแบบ เช่น QR Payload, รูปภาพ, Base64 และ URL ของรูปสลิป บทความนี้จะพาไปดูตั้งแต่การเตรียม API Key ไปจนถึงตัวอย่างโค้ด PHP และ Laravel ที่สามารถนำไปปรับใช้กับโปรเจกต์ได้ทันที

EasySlip API คืออะไร?

EasySlip Developer API เป็น API สำหรับตรวจสอบสลิปการโอนเงินของธนาคารไทยแบบ Programmatically หรือให้ระบบเรียกตรวจสอบผ่าน API ได้โดยตรง ปัจจุบัน API รองรับการตรวจสอบสลิปจากธนาคารไทยมากกว่า 18 แห่ง และมีความสามารถอย่างการตรวจสอบสลิปซ้ำ รวมถึงฟีเจอร์ตรวจสอบบัญชีผู้รับและจำนวนเงินใน API v2 สำหรับคนที่กำลังหา API ตรวจสอบสลิป PHP สิ่งที่ต้องทำหลัก ๆ คือส่งข้อมูลสลิปไปยัง Endpoint ของ EasySlip แล้วนำข้อมูล Response กลับมาใช้กับระบบของเรา เช่น

  • ตรวจสอบจำนวนเงิน
  • ตรวจสอบข้อมูลรายการโอน
  • ตรวจสอบข้อมูลผู้ส่งและผู้รับตามข้อมูลที่ API ส่งกลับ
  • ตรวจสอบสลิปซ้ำ
  • ตรวจสอบจำนวนเงินให้ตรงกับยอดที่ระบบต้องการ
  • ตรวจสอบบัญชีผู้รับด้วยฟีเจอร์ของ API v2

ก่อนเชื่อม EasySlip API ต้องเตรียมอะไรบ้าง?

ก่อนเชื่อม EasySlip API ต้องเตรียมอะไรบ้าง?
ก่อนเริ่มเชื่อมต่อ คุณจะต้องมีบัญชีนักพัฒนา EasySlip และ API Key สำหรับใช้ยืนยันตัวตน

ก่อนเริ่มเชื่อมต่อ คุณจะต้องมีบัญชีนักพัฒนา EasySlip และ API Key สำหรับใช้ยืนยันตัวตน ซึ่งระบบของ EasySlip ระบุขั้นตอนหลัก ได้แก่ สมัครบัญชีนักพัฒนา สร้าง Application และรับ API Key จากหน้า Application Dashboard โดยสำหรับการใช้งานจริงมีขั้นตอน KYC ตามเงื่อนไขของบริการ สำหรับโปรเจกต์ใหม่ EasySlip แนะนำให้ใช้ API v2 ซึ่งใช้ Base URL ดังนี้

https://api.easyslip.com/v2

Endpoint สำหรับตรวจสอบสลิปธนาคารคือ

POST /verify/bank

การเรียก API ต้องส่ง Bearer Token ผ่าน Authorization Header

ข้อสำคัญ: ไม่ควรนำ API Key ไปใส่ใน JavaScript ฝั่งผู้ใช้หรือ Public Repository ควรเก็บไว้ใน Environment Variables หรือระบบจัดการ Secret ของเซิร์ฟเวอร์

วิธีเชื่อม API ตรวจสอบสลิป PHP

สำหรับ PHP ทั่วไป สามารถใช้ cURL เพื่อส่ง Request ไปยัง EasySlip API ได้

ตัวอย่าง PHP ตรวจสอบสลิปด้วย QR Payload

<?php

$apiKey = getenv(‘EASYSLIP_API_KEY’);

$payload = ‘YOUR_QR_PAYLOAD’;

$ch = curl_init();

curl_setopt_array($ch, [

    CURLOPT_URL => ‘https://api.easyslip.com/v2/verify/bank’,

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_POST => true,

    CURLOPT_HTTPHEADER => [

        ‘Authorization: Bearer ‘ . $apiKey,

        ‘Content-Type: application/json’

    ],

    CURLOPT_POSTFIELDS => json_encode([

        ‘payload’ => $payload

    ])

]);

$response = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

$result = json_decode($response, true);

if ($result[‘success’]) {

    echo “ตรวจสอบสลิปสำเร็จ”;

    print_r($result[‘data’]);

} else {

    echo “เกิดข้อผิดพลาด: ” . $result[‘error’][‘message’];

}

ตัวอย่างนี้ใช้โครงสร้างเดียวกับแนวทาง PHP ที่ EasySlip ระบุไว้ในเอกสาร Getting Started โดยส่ง payload ไปยัง /v2/verify/bank และตรวจสอบค่า success จาก Response

เพิ่มการตรวจสอบจำนวนเงินและสลิปซ้ำ

การตรวจสอบว่าสลิปถูกใช้ซ้ำหรือไม่เป็นสิ่งที่มีประโยชน์สำหรับระบบที่รับชำระเงินผ่านการโอน API v2 มีตัวเลือก checkDuplicate สำหรับตรวจสอบสลิปซ้ำ และสามารถส่ง matchAmount เพื่อให้ระบบตรวจสอบยอดเงินตามจำนวนที่คาดหวังได้

ตัวอย่าง:

CURLOPT_POSTFIELDS => json_encode([

    ‘payload’ => $payload,

    ‘matchAmount’ => 1500.00,

    ‘checkDuplicate’ => true

])

เมื่อเชื่อมกับระบบ Order ของคุณ สามารถนำยอดจากคำสั่งซื้อมาใส่ใน matchAmount เพื่อให้ระบบช่วยตรวจสอบว่าจำนวนเงินในสลิปตรงกับยอดที่ต้องชำระหรือไม่ อย่างไรก็ตาม ควรออกแบบ Workflow ฝั่งธุรกิจเพิ่มเติม เช่น การตรวจสอบสถานะ Order และการป้องกันไม่ให้ Order เดิมถูกยืนยันซ้ำ เพื่อให้กระบวนการชำระเงินมีความรัดกุมมากขึ้น

เชื่อม API ตรวจสอบสลิป PHP และ Laravel
เชื่อม API ตรวจสอบสลิป PHP และ Laravel

วิธีเชื่อม EasySlip API ด้วย Laravel

หากใช้ Laravel การเรียก API ตรวจสอบสลิป PHP จะทำได้สะดวกผ่าน Laravel HTTP Client

ขั้นตอนที่ 1: เก็บ API Key ในไฟล์ .env

EASYSLIP_API_KEY=YOUR_API_KEY

จากนั้นเพิ่มค่าใน config/services.php

‘easyslip’ => [

    ‘key’ => env(‘EASYSLIP_API_KEY’),

],

การเก็บ API Key ใน Environment Variable ช่วยให้ไม่ต้องเขียน Secret ไว้ตรง ๆ ใน Source Code ซึ่งเป็นแนวทางที่เอกสาร EasySlip แนะนำสำหรับการจัดการ API Key

ขั้นตอนที่ 2: สร้าง EasySlip Service

สร้างไฟล์

app/Services/EasySlipService.php

<?php

namespace App\Services;

use Illuminate\Support\Facades\Http;

class EasySlipService

{

    private string $apiKey;

    private string $baseUrl = ‘https://api.easyslip.com/v2’;

    public function __construct()

    {

        $this->apiKey = config(‘services.easyslip.key’);

    }

    public function verifyByPayload(

        string $payload,

        array $options = []

    ): array {

        $response = Http::withToken($this->apiKey)

            ->post(“{$this->baseUrl}/verify/bank”, [

                ‘payload’ => $payload,

                …$options,

            ]);

        return $response->json();

    }

}

จุดเด่นของการแยกเป็น Service คือช่วยให้ Controller ไม่ต้องมีโค้ดเรียก API จำนวนมาก และสามารถนำ Service เดียวกันไปใช้กับหลายส่วนของระบบได้

ตัวอย่าง Laravel Controller สำหรับตรวจสอบสลิป

เมื่อสร้าง Service แล้ว สามารถเรียกใช้งานผ่าน Controller ได้

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Services\EasySlipService;

class SlipVerificationController extends Controller

{

    public function __construct(

        private EasySlipService $easySlip

    ) {}

    public function verify(Request $request)

    {

        $request->validate([

            ‘payload’ => ‘required|string’,

            ‘expected_amount’ => ‘required|numeric’,

        ]);

        $result = $this->easySlip->verifyByPayload(

            $request->payload,

            [

                ‘matchAmount’ => $request->expected_amount,

                ‘checkDuplicate’ => true,

            ]

        );

        if (!$result[‘success’]) {

            return response()->json([

                ‘success’ => false,

                ‘error’ => $result[‘error’][‘message’] ?? ‘Verification failed’,

            ], 400);

        }

        return response()->json([

            ‘success’ => true,

            ‘data’ => $result[‘data’],

        ]);

    }

}

EasySlip API v2 ใช้รูปแบบ Response ที่แบ่งระหว่างกรณีสำเร็จและไม่สำเร็จอย่างชัดเจน โดยกรณีสำเร็จจะมี success: true และข้อมูลอยู่ใน data ส่วนกรณีผิดพลาดจะส่ง success: false พร้อมข้อมูล Error กลับมา

หากมีรูปสลิป สามารถส่งไปตรวจสอบได้ไหม?

ได้ EasySlip ระบุว่ารองรับการตรวจสอบสลิปหลายรูปแบบ ได้แก่

  • QR Payload
  • Image Upload
  • Base64
  • URL ของรูปภาพ

ตัวอย่างเช่น หากระบบเก็บรูปสลิปไว้บน Storage และมี URL ที่เข้าถึงได้ ก็สามารถส่ง URL ไปยัง API ตามรูปแบบที่ EasySlip รองรับได้ สำหรับ URL ของรูปภาพ เอกสารระบุว่ารูปต้องเข้าถึงได้ผ่าน HTTP หรือ HTTPS และต้องเป็นไฟล์รูปภาพที่ถูกต้องตามเงื่อนไขของ API

ทำไมควรแยกการตรวจสอบสลิปออกจาก Controller?

แม้จะเขียนโค้ดเรียก API ไว้ใน Controller ได้โดยตรง แต่เมื่อระบบเริ่มใหญ่ขึ้น การแยกเป็น Service จะช่วยให้ดูแลโค้ดง่ายกว่า ตัวอย่างเช่น คุณสามารถเพิ่มฟังก์ชันอื่นใน EasySlipService ได้ เช่น

  • verifyByPayload()
  • verifyByUrl()
  • verifyByImage()
  • getInfo()

แนวทางนี้ช่วยให้โค้ดเป็นระเบียบ และลดการเขียน Logic การเชื่อมต่อ API ซ้ำในหลาย Controller

สรุป เชื่อม API ตรวจสอบสลิป PHP ไม่จำเป็นต้องซับซ้อน

สำหรับคนที่กำลังหา API ตรวจสอบสลิป PHP การเชื่อม EasySlip สามารถทำได้ทั้ง PHP ทั่วไปและ Laravel โดยใช้ HTTP Request ส่งข้อมูลไปยัง EasySlip API สำหรับโปรเจกต์ใหม่ สามารถเริ่มจาก API v2 และ Endpoint /verify/bank ซึ่งรองรับการตรวจสอบผ่าน QR Payload, รูปภาพ, Base64 และ URL รวมถึงฟีเจอร์ตรวจสอบสลิปซ้ำ การตรวจสอบบัญชีผู้รับ และการตรวจสอบจำนวนเงินตามข้อมูลที่ส่งไป

หัวใจสำคัญคือควรเก็บ API Key ไว้ฝั่ง Server ใช้ Environment Variables และออกแบบระบบตรวจสอบสถานะการชำระเงินร่วมกับ Logic ของ Order เพื่อให้ระบบนำข้อมูลจาก API ไปใช้งานได้อย่างเหมาะสม

คำถามที่พบบ่อย (FAQ)

API ตรวจสอบสลิป PHP ใช้กับ Laravel ได้ไหม?

ได้ Laravel สามารถเรียก EasySlip API ผ่าน Laravel HTTP Client ได้ โดยสามารถใช้ Http::withToken() เพื่อส่ง Bearer Token และ post() เพื่อส่งข้อมูลไปยัง Endpoint สำหรับตรวจสอบสลิป

EasySlip API v2 ตรวจสอบสลิปด้วยวิธีไหนได้บ้าง?

ตามเอกสาร EasySlip API v2 รองรับการตรวจสอบผ่าน QR Payload, การอัปโหลดรูปภาพ, Base64 และ URL ของรูปภาพ

สามารถตรวจสอบสลิปซ้ำได้ไหม?

ได้ EasySlip มีฟีเจอร์ Duplicate Detection โดยสามารถส่งตัวเลือก checkDuplicate เพื่อให้ระบบตรวจสอบข้อมูลสลิปซ้ำตามความสามารถของ API

API ตรวจสอบจำนวนเงินในสลิปได้ไหม?

API v2 รองรับ matchAmount สำหรับตรวจสอบจำนวนเงินในสลิปกับยอดเงินที่คาดหวัง โดยผลลัพธ์จะมีข้อมูลสำหรับใช้ตรวจสอบการจับคู่จำนวนเงิน

ให้ระบบตรวจสอบสลิปของคุณทำงานอัตโนมัติมากขึ้นด้วย EasySlip

ให้ระบบตรวจสอบสลิปของคุณทำงานอัตโนมัติมากขึ้นด้วย EasySlip
ตรวจสอบจำนวนเงินในสลิปด้วย API v2

หากคุณกำลังพัฒนาเว็บไซต์ E-Commerce ระบบสมาชิก แอปพลิเคชัน หรือระบบหลังบ้านที่ต้องรับชำระเงินผ่านการโอน EasySlip Developer API สามารถช่วยให้ระบบตรวจสอบสลิปทำงานผ่าน API ได้ สำหรับโปรเจกต์ใหม่ สามารถเริ่มดูเอกสาร API v2 และตัวอย่างโค้ดสำหรับ PHP เพื่อเลือกวิธีเชื่อมต่อที่เหมาะกับระบบของคุณ ไม่ว่าจะเป็น QR Payload, รูปภาพ, Base64 หรือ URL พร้อมฟีเจอร์ตรวจสอบสลิปซ้ำและการตรวจสอบข้อมูลการชำระเงินตามความสามารถของ API ลองดูรายละเอียดแพ็กเกจและเริ่มใช้งาน EasySlip Developer API เพื่อให้ขั้นตอนตรวจสอบสลิปของธุรกิจเป็นระบบและอัตโนมัติมากขึ้น

บทความที่เกี่ยวข้อง