baselrabia/paymob
Composer 安装命令:
composer require baselrabia/paymob
包简介
A Package to help with Paymob integration
README 文档
README
Laravel PayMob
Paymob integration for laravel.
Currently Supported
Installation
-
install the package
composer require baselrabia/paymob
-
publish the package assets with
php artisan vendor:publish --provider="Basel\PayMob\PayMobServiceProvider"
Config
- Update your
.envfile
ACCEPT_API_KEY= ACCEPT_MERCHANT_ID= ACCEPT_CARD_IFRAME_ID= ACCEPT_CARD_INTEGRATION_ID= ACCEPT_MW_INTEGRATION_ID=
Setup
-
add the package routes to your
routes/web.phpex.Route::group([ 'prefix' => 'orders', 'as' => 'order.', 'middleware' => 'auth', ], function () { Basel\PayMob\PayMobRoutes::routes(); }); // OR You Can Use your Own routes like this // I used the package in Apis to provide Payment with the mobile APP Route::group([ 'prefix' => 'payment', 'as' => 'order.', // 'middleware' => , ], function () { // ctf0\PayMob\PayMobRoutes::routes(); $controller = config('paymob.controller', '\Basel\PayMob\Controllers\DummyController'); // Route::get('checkout', [ // 'as' => 'checkout', // 'uses' => "$controller@checkOut", // ]); Route::post('process', [ 'as' => 'process', 'uses' => "$controller@process", ])->middleware(['auth:student', 'scopes:student']); Route::get('complete', [ 'as' => 'complete', 'uses' => "$controller@complete", ]); Route::get('failed', [ 'as' => 'failed', 'uses' => "$controller@failed", ]); } );
-
add
Billableto the model you will be billing. -
next add
getBillingData()which should return all the required fields for the order creation, check paymob requirements for more info.- all the optional fields has already been taken care of.
use Basel\PayMob\Integrations\Contracts\Billable; class Client implements Billable { // ... public function getBillingData(): array { return [ 'email' => $this->email, 'first_name' => $this->first_name, 'last_name' => $this->last_name, 'street' => $this->address ?? "NA", 'phone_number' => $this->phone_number, ]; } }
Usage
# Normal
-
update
controllerwith your own controller, which should have 3 methodsyou can check
DummyControllerOrApiDummyControllerfor a more detailed overview.type @method return GET checkOutreturns the view where the user will press the checkout btn POST processget the selected payment type & make a request to paymob server GET completecheck for the transaction hmac & save it to your server, for more info check. -
test Card
MasterCard
Key Value Card Number 2223000000000007 Cardholder Name Test Account Expiry Month 01 Expiry Year 39 CVV 100
# Refund
-
all you need to is to call
PayMob::refundand pass to it thetransaction_id&amount_in_poundsthat will be refunded, ex.for more info check
PayMob::refund(655, 10);
baselrabia/paymob 适用场景与选型建议
baselrabia/paymob 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 23 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 08 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「payment」 「gateway」 「laravel」 「online」 「paymob」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 baselrabia/paymob 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 baselrabia/paymob 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 baselrabia/paymob 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
Payyo Gateway for the Omnipay payment processing library
Client library to send SMS using Comilio SMS Gateway API (https://www.comilio.it)
Alfabank REST API integration
GovPayNet driver for the Omnipay payment processing library
BlueSnap driver for the Omnipay payment processing library
统计信息
- 总下载量: 23
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-08-08