hachther / laravel-mesomb
基于 Mesomb 支付 API 的 Laravel 封装
1.8.0
2023-12-23 10:20 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
This package is auto-updated.
Last update: 2024-09-08 16:49:55 UTC
README
MeSomb 支付 API 之上的 Laravel 封装
路线图
API 功能及其实现 https://mesomb.hachther.com/en/api/v1.1/schema/
安装
在开始之前,您必须注册您的服务和 MeSomb 并获取 API 访问密钥。请按照此教程进行。
安装包
composer require hachther/laravel-mesomb
发布配置文件
从 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 Hachther\MeSomb\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 Hachther\MeSomb\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 Hachther\MeSomb\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 Hachther\MeSomb\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 } }
作者
Hachther LLC contact@hachther.com
感谢 Malico (hi@malico.me) 开始此模块。