ma-lara/payments
Composer 安装命令:
composer require ma-lara/payments
包简介
Payment helper for Paypal, Paymob, Kashier, Hyperpay and Fawry
README 文档
README
Payment Helper of Payment Gateways ( PayPal - Paymob - Fawry - WeAccept - Kashier - Hyperpay - Tap - Paytabs - stripe - Vodaphone Cash - Orange Money - Meza Wallet - Etisalat Cash)
Supported gateways
- PayPal
- PayMob
- Kashier
- Fawry
- HyperPay
- Thawani
- Stripe
- Tap
- Paytabs
- E Wallets (Vodaphone Cash - Orange Money - Meza Wallet - Etisalat Cash)
Installation
composer require ma/payments
Publish Vendor Files
php artisan vendor:publish --tag="ma-payments-config" php artisan vendor:publish --tag="ma-payments-lang"
ma-payments.php file
<?php return [ #PAYMOB 'PAYMOB_API_KEY' => env('PAYMOB_API_KEY'), 'PAYMOB_INTEGRATION_ID' => env('PAYMOB_INTEGRATION_ID'), 'PAYMOB_IFRAME_ID' => env('PAYMOB_IFRAME_ID'), 'PAYMOB_HMAC' => env('PAYMOB_HMAC'), 'PAYMOB_CURRENCY'=> env('PAYMOB_CURRENCY',"EGP"), #KASHIER 'KASHIER_ACCOUNT_KEY' => env('KASHIER_ACCOUNT_KEY'), 'KASHIER_IFRAME_KEY' => env('KASHIER_IFRAME_KEY'), 'KASHIER_TOKEN' => env('KASHIER_TOKEN'), 'KASHIER_URL' => env('KASHIER_URL', "https://checkout.kashier.io"), 'KASHIER_MODE' => env('KASHIER_MODE', "test"), //live or test 'KASHIER_CURRENCY'=>env('KASHIER_CURRENCY',"EGP"), #FAWRY 'FAWRY_URL' => env('FAWRY_URL', "https://atfawry.fawrystaging.com/"),//https://www.atfawry.com/ for production 'FAWRY_SECRET' => env('FAWRY_SECRET'), 'FAWRY_MERCHANT' => env('FAWRY_MERCHANT'), #PayPal 'PAYPAL_CLIENT_ID' => env('PAYPAL_CLIENT_ID'), 'PAYPAL_SECRET' => env('PAYPAL_SECRET'), 'PAYPAL_CURRENCY' => env('PAYPAL_CURRENCY', "USD"), 'PAYPAL_MODE' => env('PAYPAL_MODE',"sandbox"),//sandbox or live #THAWANI 'THAWANI_API_KEY' => env('THAWANI_API_KEY', ''), 'THAWANI_URL' => env('THAWANI_URL', "https://uatcheckout.thawani.om/"), 'THAWANI_PUBLISHABLE_KEY' => env('THAWANI_PUBLISHABLE_KEY', ''), #TAP 'TAP_CURRENCY' => env('TAP_CURRENCY',"USD"), 'TAP_SECRET_KEY'=>env('TAP_SECRET_KEY','sk_test_XKokBfNWv6FIYuTMg5sLPjhJ'), 'TAP_PUBLIC_KEY'=>env('TAP_PUBLIC_KEY','pk_test_EtHFV4BuPQokJT6jiROls87Y'), 'TAP_LANG_KEY'=>env('TAP_LANG_KEY','ar'), #PAYMOB_WALLET (vodaphone-cash,orange-money,etisalat-cash,we-cash,meza-wallet) - test phone 01010101010 ,PIN & OTP IS 123456 'PAYMOB_WALLET_INTEGRATION_ID'=>env('PAYMOB_WALLET_INTEGRATION_ID'), #Paytabs 'PAYTABS_PROFILE_ID' => env('PAYTABS_PROFILE_ID'), 'PAYTABS_SERVER_KEY' => env('PAYTABS_SERVER_KEY'), // for egypt country also you can change the base url to your country 'PAYTABS_BASE_URL' => env('PAYTABS_BASE_URL',"https://secure-egypt.paytabs.com"), 'PAYTABS_CHECKOUT_LANG' => env('PAYTABS_CHECKOUT_LANG',"AR"), 'PAYTABS_CURRENCY'=>env('PAYTABS_CURRENCY',"EGP"), #Stripe 'STRIPE_API_KEY' => env('STRIPE_API_KEY'), 'STRIPE_API_SECRET' => env('STRIPE_API_SECRET'), 'STRIPE_BASE_URL' => env('STRIPE_BASE_URL', 'https://api.stripe.com'), 'STRIPE_CURRENCY' => env('STRIPE_CURRENCY', "USD"), 'VERIFY_ROUTE_NAME' => "verify-payment", 'APP_NAME'=>env('APP_NAME'), ];
Web.php MUST Have Route with name “payment-verify”
Route::get('/payments/verify/{payment?}',[FrontController::class,'payment_verify'])->name('payment-verify');
How To Use
use Ma\Payments\PaymobPayment; $payment = new PaymobPayment(); //pay function $payment->pay( $amount, $user_id = null, $user_first_name = null, $user_last_name = null, $user_email = null, $user_phone = null, $source = null ); //or use $payment->setUserId($id) ->setUserFirstName($first_name) ->setUserLastName($last_name) ->setUserEmail($email) ->setUserPhone($phone) ->setCurrency($currency) ->setAmount($amount) ->pay(); //pay function response [ 'payment_id'=>"", // refrence code that should stored in your orders table 'redirect_url'=>"", // redirect url available for some payment gateways 'html'=>"" // rendered html available for some payment gateways ] //verify function $payment->verify($request); //outputs [ 'success'=>true,//or false 'payment_id'=>"PID", 'message'=>"Done Successfully",//message for client 'process_data'=>""//payment response ]
Available Classes
use Ma\Payments\Classes\FawryPayment; use Ma\Payments\Classes\HyperPayPayment; use Ma\Payments\Classes\KashierPayment; use Ma\Payments\Classes\PaymobPayment; use Ma\Payments\Classes\PayPalPayment; use Ma\Payments\Classes\ThawaniPayment; use Ma\Payments\Classes\TapPayment; use Ma\Payments\Classes\OpayPayment; use Ma\Payments\Classes\PaytabsPayment; use Ma\Payments\Classes\PaymobWalletPayment; use Ma\Payments\Classes\StripePayment;
Test Cards
ma-lara/payments 适用场景与选型建议
ma-lara/payments 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 14 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 04 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「paypal」 「fawry」 「online payments」 「paymob」 「kashier」 「hyperpay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ma-lara/payments 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ma-lara/payments 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ma-lara/payments 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PayPal SDK for ExpressCheckout and AdaptivePayments. Supports recurring payments, simple payments, parallel payments and chained payments.
Payment helper for Paypal, Paymob, Kashier, Hyperpay and Fawry
A PayPal IPN (Instant Payment Notification) listener for PHP
Librería para la gestión sencilla de pagos mediante TPV Redsys y Paypal
Rich payment solutions for Laravel framework. Paypal, payex, authorize.net, be2bill, omnipay, recurring paymens, instant notifications and many more
Extension for Payum which add support for CASH'nPAY payment gateway.
统计信息
- 总下载量: 14
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 27
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-04-18