Skip to content

Latest commit

 

History

History
101 lines (70 loc) · 3.25 KB

Domestic.md

File metadata and controls

101 lines (70 loc) · 3.25 KB

Omnipay OnePay: Domestic

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

$response = \OnePayDomestic::purchase([
    'AgainLink' => 'https://github.com/phpviet',
    'vpc_MerchTxnRef' => microtime(false),
    'vpc_ReturnURL' => 'https://github.com/phpviet',
    'vpc_TicketNo' => '127.0.0.1',
    'vpc_Amount' => '200000',
    'vpc_OrderInfo' => 456,
])->send();

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

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

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

$response = \OnePayDomestic::completePurchase()->send();

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

    print $response->getMessage();
}

Hoặc bạn có thể sử dụng PHPViet\Laravel\Omnipay\Middleware\CompletePurchaseMiddleware để giảm bớt nghiệp vụ xử lý kiểm tra tính hợp lệ của request, xem thêm tại đây.

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

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

$response = \OnePayDomestic::notification()->send();

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

    print $response->getMessage();
}

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

Kiểm tra trạng thái giao dịch:

$response = \OnePayDomestic::queryTransaction([
    'vpc_MerchTxnRef' => '123',
])->send();

if ($response->isSuccessful()) {
    // TODO: xử lý kết quả và hiển thị.

    var_dump($response->getData()); // toàn bộ data do OnePay gửi về.
    
} else {

    print $response->getMessage();
}

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

Phương thức hổ trợ debug:

Một số phương thức chung hổ trợ debug khi isSuccessful() trả về FALSE:

    print $response->getCode(); // mã báo lỗi do OnePay gửi sang.
    print $response->getMessage(); // câu thông báo lỗi do OnePay gửi sang.

Kham khảo bảng báo lỗi getCode() chi tiết tại đây.