baidouabdellah / cmi-payment-gateway
CMI Payment Gateway for Laravel
1.0.2
2024-09-24 11:33 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0|^10.0
README
CMI Payment Gateway for Laravel
CMI-Payment-Gateway是一个简单的安全包,用于将CMI(Centre Monétique Interbancaire)支付网关集成到Laravel应用程序中。它允许您通过与CMI API交互以无缝的方式处理支付。
功能
- 无缝集成Laravel
- 易于配置和使用
- 通过CMI安全处理支付
- 支持多个SHOP(SAAS)交易
- 可自定义支付回调URL
要求
- PHP 7.4或更高版本
- Laravel 7.x或更高版本
- CMI商户账户
安装
要安装此包,请使用Composer
composer require baidouabdellah/cmi-payment-gateway
发布配置
安装完成后,使用以下命令发布配置文件
php artisan vendor:publish --tag="cmi-config"
这将在您的config
目录中创建一个cmi.php
文件,您可以在其中配置您的CMI凭证。
配置
在config/cmi.php
文件中,添加您的CMI商户凭证
return [ 'client_id' => env('CMI_CLIENT_ID', 'your-client-id'), 'client_secret' => env('CMI_CLIENT_SECRET', 'your-client-secret'), 'store_key' => env('CMI_STORE_KEY', 'your-store-key'), 'currency' => env('CMI_CURRENCY', 'MAD'), 'callback_url' => env('CMI_CALLBACK_URL', 'your-callback-url'), ];
您还可以将这些环境变量添加到您的.env
文件中
CMI_CLIENT_ID=your-client-id CMI_CLIENT_SECRET=your-client-secret CMI_STORE_KEY=your-store-key CMI_CURRENCY=MAD CMI_CALLBACK_URL=https://your-domain.com/callback
使用方法
要处理支付,您可以使用提供的CMIPayment
外观
-
首先,将
CMIPayment
服务注入到您的控制器中或使用外观。 -
在控制器中的示例使用
use BaidouAbdellah\CMIPaymentGateway\CMIPayment; class PaymentController extends Controller { public function makePayment(Request $request) { $payment = new CMIPayment(); $response = $payment->process([ 'amount' => 100.00, // The amount to charge 'order_id' => 'ORDER12345', // Your unique order ID 'customer_name' => 'Abdellah baidou', // Customer details 'customer_email' => 'baidou.abd@gmail.com', // Customer Email ]); return redirect($response->getPaymentUrl()); // Redirect user to CMI payment page } }
处理支付回调
在您的web.php
路由文件中,应添加一个路由来处理CMI回调
Route::post('/cmi/callback', [PaymentController::class, 'handleCallback'])->name('cmi.callback');
在您的PaymentController
中处理回调
use Illuminate\Http\Request; class PaymentController extends Controller { public function handleCallback(Request $request) { // Handle the response from CMI here $paymentStatus = $request->input('STATUS'); if ($paymentStatus === 'APPROVED') { // Payment was successful return view('payment.success'); } else { // Payment failed return view('payment.failed'); } } }
测试
您可以使用CMI的沙盒凭证测试集成。确保您在cmi.php
配置文件中配置了沙盒环境或为测试使用不同的.env
变量。
基本测试卡号
在测试模式下不能使用信用卡信息。相反,请使用以下任何测试卡号,加上有效的未来到期日期和任何随机的CVC号码,以模拟成功的支付交易。
在测试环境中使用这些详细信息以验证CMI支付网关的成功集成。
安全
如果您发现任何安全问题,请通过电子邮件发送到baidou.abd@gmail.com
,而不是使用问题跟踪器。
支持
- Abdellah Baidou
- +212 661-176711
- baidou.abd@gmail.com
许可证
此软件包是开源软件,根据MIT许可证许可。