peterzero / laravel-omnipay
Laravel Omnipay 支持集成国内各种支付网关。
1.0.0
2019-07-05 16:22 UTC
Requires
- php: ^7.1
- ignited/laravel-omnipay: ^3.0
- illuminate/support: ^5.7
- 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
- phpunit/phpunit: ~7.5
- scrutinizer/ocular: ^1.5
This package is auto-updated.
Last update: 2024-09-09 18:13:30 UTC
README
Laravel Omnipay
信息
目前国内支付网关的API结构非常多样化,彼此之间很少有共同点,这使得我们构建api-client时面临很多困难。因此,这个包的诞生旨在统一各种支付网关的方法,使集成变得更加容易。它基于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。感谢您的贡献!