phpviet / laravel-omnipay
Laravel Omnipay 支持集成国内支付网关。
1.1.2
2021-03-14 03:11 UTC
Requires
- php: ^7.1
- 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 auto-updated.
Last update: 2024-09-09 15:00:50 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。谢谢!