ommani / laravel-ommanipay
Laravel ommanipay 支持集成国内支付网关。
dev-master / 1.x-dev
2023-09-22 03:46 UTC
Requires
- php: ^8.0.2
- ignited/laravel-omnipay: ^3.3
- illuminate/support: ^5.7 || ^6.0 || ^7.0 || ^8.0
- phpviet/omnipay-momo: ^1.0
- phpviet/omnipay-onepay: ^1.0
- phpviet/omnipay-vnpay: ^1.0
- phpviet/omnipay-vtcpay: ^1.0
Requires (Dev)
- orchestra/testbench: ^3.7 || ^4.0 || ^5.0 || ^6.0
This package is not auto-updated.
Last update: 2024-09-21 06:16:11 UTC
README
Laravel Omnipay
信息
目前国内支付网关的API结构非常多样,且差异较大,这使得我们构建API客户端也面临很多困难,因此这个包应运而生,旨在统一支付网关的方法,使集成更加容易,它基于Omnipay平台,帮助您简化向支付网关发送请求时的参数设置。由于所有支付网关都具有通用方法,因此它将帮助您轻松地从一家支付网关切换到另一家。
示例
\MoMoAIO::purchase([ 'amount' => 20000, 'returnUrl' => 'https://github.com/phpviet', 'notifyUrl' => 'https://github.com/phpviet', 'orderId' => 'Mã đơn hàng', 'requestId' => 'Mã request id, gợi ý nên xài uuid4', ])->send(); \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(); \VNPay::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(); \VTCPay::purchase([ 'receiver_account' => '0963465816', 'reference_number' => microtime(false), 'amount' => 50000, 'url_return' => 'https://phpviet.org' ])->send();
正在支持的支付网关集成
安装
通过 Composer 安装 Laravel Omnipay
composer require phpviet/laravel-omnipay
安装完成后,您需要通过以下命令发布配置文件以设置您要集成的支付网关的参数:
php artisan vendor:publish --provider="PHPViet\Laravel\Omnipay\OmnipayServiceProvider" --tag="config"
发布文件的内容位于您的 config/laravel-omnipay.php
文件夹中,如下所示:
return [ // Cấu hình cho các cổng thanh toán tại hệ thống của bạn, các cổng không xài có thể xóa cho gọn hoặc không điền. // Các thông số trên có được khi bạn đăng ký tích hợp. 'gateways' => [ 'MoMoAIO' => [ 'driver' => 'MoMo_AllInOne', 'options' => [ 'accessKey' => '', 'secretKey' => '', 'partnerCode' => '', 'testMode' => false, ], ], 'MoMoQRCode' => [ 'driver' => 'MoMo_QRCode', 'options' => [ 'accessKey' => '', 'secretKey' => '', 'partnerCode' => '', 'testMode' => false, ], ], 'MoMoAIA' => [ 'driver' => 'MoMo_AppInApp', 'options' => [ 'accessKey' => '', 'secretKey' => '', 'partnerCode' => '', 'publicKey' => '', 'testMode' => false, ], ], 'MoMoPOS' => [ 'driver' => 'MoMo_POS', 'options' => [ 'accessKey' => '', 'secretKey' => '', 'partnerCode' => '', 'publicKey' => '', 'testMode' => false, ], ], 'OnePayDomestic' => [ 'driver' => 'OnePay_Domestic', 'options' => [ 'vpcMerchant' => '', 'vpcAccessCode' => '', 'vpcUser' => '', 'vpcPassword' => '', 'vpcHashKey' => '', 'testMode' => false, ], ], 'OnePayInternational' => [ 'driver' => 'OnePay_International', 'options' => [ 'vpcMerchant' => '', 'vpcAccessCode' => '', 'vpcUser' => '', 'vpcPassword' => '', 'vpcHashKey' => '', 'testMode' => false, ], ], 'VTCPay' => [ 'driver' => 'VTCPay', 'options' => [ 'websiteId' => '', 'securityCode' => '', 'testMode' => false, ], ], 'VNPay' => [ 'driver' => 'VNPay', 'options' => [ 'vnpTmnCode' => '', 'vnpHashSecret' => '', 'testMode' => false, ], ], ], ];
用法
面向开发者
如果您觉得我们的库还有不足或错误,并且希望共同开发,我们非常欢迎!请创建 issue
以提出下一版本的想法,或创建 PR
以补充不足或纠正错误。对于安全问题,请通过电子邮件发送到 vuongxuongminh@gmail.com 而不是创建 issue。谢谢!