Skip to content

💰 Thư viện hổ trợ tích hợp cổng thanh toán VTCPay.

License

Notifications You must be signed in to change notification settings

phpviet/omnipay-vtcpay

Repository files navigation

Omnipay: VTCPay


Latest version Build status Quantity score StyleCI Total download License

Thông tin

Thư viện hổ trợ tích cổng thanh toán VTCPay phát triển trên nền tảng Omnipay League.

Để nắm sơ lược về khái niệm và cách sử dụng các Omnipay gateways bạn hãy truy cập vào đây để kham khảo.

Cài đặt

Cài đặt Omnipay VTCPay thông qua Composer:

composer require phpviet/omnipay-vtcpay

Cách sử dụng

Tích hợp sẵn trên các framework phổ biến hiện tại

hoặc nếu bạn muốn sử dụng không dựa trên framework thì tiếp tục xem tiếp.

Khởi tạo gateway:

use Omnipay\Omnipay;

$gateway = Omnipay::create('VTCPay');
$gateway->initialize([
    'website_id' => 'Do VTCPay cấp',
    'security_code' => 'Do VTCPay cấp',
]);

Gateway khởi tạo ở trên dùng để tạo các yêu cầu xử lý đến VTCPay hoặc dùng để nhận yêu cầu do VTCPay gửi đến.

Tạo yêu cầu thanh toán:

$response = $gateway->purchase([
    'receiver_account' => '0963465816',
    'reference_number' => microtime(false),
    'amount' => 50000,
    'url_return' => 'https://phpviet.org'
])->send();

if ($response->isRedirect()) {
    $redirectUrl = $response->getRedirectUrl();
    
    // TODO: chuyển khách sang trang VTCPay để thanh toán
}

Kham khảo thêm các tham trị khi tạo yêu cầu và VTCPay trả về tại đây.

Kiểm tra thông tin url_return khi khách được VTCPay redirect về:

$response = $gateway->completePurchase()->send();

if ($response->isSuccessful()) {
    // TODO: xử lý kết quả và hiển thị.
    print $response->amount;
    print $response->reference_number;
    
    var_dump($response->getData()); // toàn bộ data do VTCPay gửi sang.
    
} else {

    print $response->getMessage();
}

Kham khảo thêm các tham trị khi VTCPay trả về tại đây.

Kiểm tra thông tin IPN do VTCPay gửi sang:

$response = $gateway->notification()->send();

if ($response->isSuccessful()) {
    // TODO: xử lý kết quả.
    print $response->amount;
    print $response->reference_number;
    
    var_dump($response->getData()); // toàn bộ data do VTCPay gửi sang.
    
} else {

    print $response->getMessage();
}

Kham khảo thêm các tham trị khi VTCPay gửi sang tại đây.

Dành cho nhà phát triển

Nếu như bạn cảm thấy thư viện chúng tôi còn thiếu sót hoặc sai sót và bạn muốn đóng góp để phát triển chung, chúng tôi rất hoan nghênh! Hãy tạo các issue để đóng góp ý tưởng cho phiên bản kế tiếp hoặc tạo PR để đóng góp phần thiếu sót hoặc sai sót. Riêng đối với các lỗi liên quan đến bảo mật thì phiền bạn gửi email đến vuongxuongminh@gmail.com thay vì tạo issue. Cảm ơn!