freethinkerz / laravel-pay
MeSomb和NotchPay的laravel支付网关包装器
1.2.0
2024-01-16 23:28 UTC
Requires
- php: ^7.2.5|^8.0|^8.1
- illuminate/database: ~5.7|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ~5.7|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.19
- pestphp/pest-plugin-laravel: ^1.1
- phpunit/phpunit: ^9.5.10
- spatie/ray: ^1.30
README
MeSomb和NotchPay的laravel支付网关包装器
路线图
API功能及其实现 https://mesomb.hachther.com/en/api/v1.1/schema/
安装
开始之前,您必须注册您的服务以及MeSomb,并获取API访问密钥。请遵循此教程。
安装包
composer require freethinkerz/laravel-pay
发布配置文件
从MeSomb设置以下参数
在遵循上述教程后,从MeSomb获取以下信息。
MESOMB_APP_KEY=<ApplicationKey> MESOMB_API_HOST=https://mesomb.hachther.com MESOMB_API_VERSION=v1.1 MESOMB_ACCESS_KEY=<AccessKey> MESOMB_SECRET_KEY=<SecretKey> MESOMB_SSL_VERIFY=true
发布配置文件
php artisan vendor:publish --tag=mesomb-configuration
迁移Mesomb交易表
php artisan migrate
用法
快速示例
简单收款
// OrderController.php use FreeThinkerz\LaravelPay\Operation\Payment\Collect; class OrderController extends Controller { public function confirmOrder() { $request = new Collect('67xxxxxxx', 1000, 'MTN', 'CM'); $payment = $request->pay(); if($payment->success){ // Fire some event,Pay someone, Alert user } else { // fire some event, redirect to error page } // get Transactions details $payment->transactions } }
简单存入
// OrderController.php use FreeThinkerz\LaravelPay\Operation\Payment\Deposit; class OrderController extends Controller { public function makeDeposit() { $request = new Deposit('67xxxxxxx', 1000, 'MTN', 'CM'); $payment = $request->pay(); if($payment->success){ // Fire some event,Pay someone, Alert user } else { // fire some event, redirect to error page } // get Transactions details $payment->transactions } }
直接将付款附加到模型
// Order.php use FreeThinkerz\LaravelPay\Helper\HasPayments; class Order extends Model { use HasPayments; } // OrderController.php class OrderController extends Controller { public function confirmOrder(){ $order = Order::create(['amount' => 100]); $payment = $order->payment('67xxxxxxx', $order->amount, 'MTN', 'CM')->pay(); if($payment->success){ // Fire some event,Pay someone, Alert user } else { // fire some event, redirect to error page } // View Order payments via $order->payments // Get payment transaction with $payment->transaction return $payment; } }
处理多个应用程序
如果您想使用同一个项目处理多个MeSomb应用程序,请按照以下方式处理。
- 按照以下指定设置默认应用程序和其他信息配置您的配置文件。
- 动态更新应用程序密钥(如有需要,还包括访问密钥和秘密密钥),如下所示。
// OrderController.php use FreeThinkerz\LaravelPay\Operation\Payment\Collect; class OrderController extends Controller { public function confirmOrder() { $request = new Collect('67xxxxxxx', 1000, 'MTN', 'CM'); // Update applicationKey before process the payment // You also have setAccessKey and setSecretKey $payment = $request->setApplicationKey('<applicationKey>')->pay(); if($payment->success){ // Fire some event,Pay someone, Alert user } else { // fire some event, redirect to error page } // get Transactions details $payment->transactions } }
作者
FreeThinkerz https://github.com/FreeThinkerz
感谢
感谢Malico (hi@malico.me) 开发此模块。
Hachther LLC(为模块添加更新) contact@hachther.com