kientv/omnipay-vnpay
支持集成VNPay支付网关的库。
1.0.2
2020-07-09 10:18 UTC
Requires
- php: ^7.1
- omnipay/common: ^3.0
Requires (Dev)
- omnipay/tests: ^3.0
- scrutinizer/ocular: ^1.5
This package is auto-updated.
Last update: 2024-09-17 00:38:09 UTC
README
Omnipay: VNPay
信息
支持集成VNPay支付网关的库,基于Omnipay League平台开发。
为了了解Omnipay网关的概念和使用方法,请访问此处进行查阅。
安装
通过Composer安装Omnipay VNPay。
composer require kientv/omnipay-vnpay
使用方法
支持集成到目前流行的各种框架中
或者如果您想在不依赖框架的情况下使用,请继续阅读。
初始化网关
use Omnipay\Omnipay; $gateway = Omnipay::create('VNPay'); $gateway->initialize([ 'vnp_TmnCode' => 'Do VNPay cấp', 'vnp_HashSecret' => 'Do VNPay cấp', ]);
上面的网关初始化用于向VNPay发送处理请求,或者用于接收VNPay发送的请求。
创建支付请求
$response = $gateway->purchase([ 'vnp_TxnRef' => time(), 'vnp_OrderType' => 100000, 'vnp_OrderInfo' => time(), 'vnp_IpAddr' => '127.0.0.1', 'vnp_Amount' => 1000000, 'vnp_ReturnUrl' => 'https://github.com/phpviet', ])->send(); if ($response->isRedirect()) { $redirectUrl = $response->getRedirectUrl(); // TODO: chuyển khách sang trang VNPay để thanh toán }
有关创建请求和VNPay返回的详细信息,请参阅此处。
检查当客户被VNPay重定向回时返回的 vnp_ReturnUrl 信息
$response = $gateway->completePurchase()->send(); if ($response->isSuccessful()) { // TODO: xử lý kết quả và hiển thị. print $response->vnp_Amount; print $response->vnp_TxnRef; var_dump($response->getData()); // toàn bộ data do VNPay gửi sang. } else { print $response->getMessage(); }
有关VNPay返回的详细信息,请参阅此处。
检查VNPay发送的 IPN 信息
$response = $gateway->notification()->send(); if ($response->isSuccessful()) { // TODO: xử lý kết quả. print $response->vnp_Amount; print $response->vnp_TxnRef; var_dump($response->getData()); // toàn bộ data do VNPay gửi sang. } else { print $response->getMessage(); }
有关VNPay发送的详细信息,请参阅此处。
检查交易状态
$response = $gateway->queryTransaction([ 'vnp_TransDate' => 20190705151126, 'vnp_TxnRef' => 1562314234, 'vnp_OrderInfo' => time(), 'vnp_IpAddr' => '127.0.0.1', 'vnp_TransactionNo' => 496558, ])->send(); if ($response->isSuccessful()) { // TODO: xử lý kết quả và hiển thị. print $response->getTransactionId(); print $response->getTransactionReference(); var_dump($response->getData()); // toàn bộ data do VNPay gửi về. } else { print $response->getMessage(); }
有关创建请求和VNPay返回的详细信息,请参阅此处。
退款请求
$response = $gateway->refund([ 'vnp_Amount' => 10000, 'vnp_TransactionType' => '03', 'vnp_TransDate' => 20190705151126, 'vnp_TxnRef' => 32321, 'vnp_OrderInfo' => time(), 'vnp_IpAddr' => '127.0.0.1', 'vnp_TransactionNo' => 496558, ])->send(); if ($response->isSuccessful()) { // TODO: xử lý kết quả và hiển thị. print $response->getTransactionId(); print $response->getTransactionReference(); var_dump($response->getData()); // toàn bộ data do VNPay gửi về. } else { print $response->getMessage(); }
有关创建请求和VNPay返回的详细信息,请参阅此处。
面向开发者
如果您觉得我们的库存在不足或错误,并且希望共同开发,我们非常欢迎!请创建 issue 以贡献您对下一个版本的想法,或者创建 PR 以贡献不足或错误的部分。对于与安全相关的问题,请通过 vuongxuongminh@gmail.com 发送电子邮件,而不是创建 issue。感谢!