azreqat/laravel-payfort
Composer 安装命令:
composer require azreqat/laravel-payfort
包简介
Laravel-payfort is a simple package to process payments throught Payfort payment gateway.
README 文档
README
Laravel Payfort provides a simple and rich way to perform and handle operations for
Payfort (MEA based online payment gateway) check here to read more Payfort.
This package supports a set of Payfort operations as listed below, other operations are open for future work and
contribution.
- AUTHORIZATION/PURCHASE
- TOKENIZATION
- SDK_TOKEN
- CHECK_STATUS
You have to read the Payfort documentation very well before proceeding in using any package, the package author
will not write about Payfort operations, what and how to use.
Installation
You can install the package via composer:
composer require wshurafa/laravel-payfort
You can publish the config file with:
php artisan vendor:publish --provider "LaravelPayfort\Providers\PayfortServiceProvider"
This is the contents of the file that will be published at config/payfort.php :
return [ /** * Defines wether to activate the Payfort sandbox enviroment or not. */ 'sandbox' => env('PAYFORT_USE_SANDBOX', false), /** * The Payfort merchant account identifier. */ 'merchant_identifier' => env('PAYFORT_MERCHANT_IDENTIFIER'), /** * The Payfort account access code. */ 'access_code' => env('PAYFORT_ACCESS_CODE'), /** * The Payfort account sha type (sha256/sha512). */ 'sha_type' => env('PAYFORT_SHA_TYPE', 'sha256'), /** * The Payfort account sha request phrase. */ 'sha_request_phrase' => env('PAYFORT_SHA_REQUEST_PHRASE'), /** * The Payfort account sha response phrase. */ 'sha_response_phrase' => env('PAYFORT_SHA_RESPONSE_PHRASE'), /** * The default currency for you app. Currency ISO code 3. */ 'currency' => env('PAYFORT_CURRENCY', 'USD'), /** * The URL to return after submitting Payfort forms. */ 'return_url' => env('PAYFORT_RETURN_URL', '/') ];
Then you have to add the following constants in the .env file:
PAYFORT_USE_SANDBOX=true # Defines wether to activate the payfort sandbox enviroment or not. PAYFORT_MERCHANT_IDENTIFIER=s2b3rj1vrjrhc1x # The payfort merchant account identifier PAYFORT_ACCESS_CODE=s31bpM1ebfNnwqo # The payfort account access code PAYFORT_SHA_TYPE=sha256 # The payfort account sha type. sha256/sha512 PAYFORT_SHA_REQUEST_PHRASE=keljhgiergh # The payfort account sha request phrase PAYFORT_SHA_RESPONSE_PHRASE=lkejgoegj # The payfort account sha response phrase PAYFORT_CURRENCY=USD # The default currency for you app. Currency ISO code 3. PAYFORT_RETURN_URL=/payfort/handle # The url to return after submitting payfort forms.
You can find most of these values in your Payfort account
Usage
Once all configuration steps are done, you are ready to use payfort operations in your app. Here is some examples on how to use this package:
Authorization/Purchase request (Redirection)
To display payfort authorization or purchase page, in your controller's method add the following code snippet:
return Payfort::redirection()->displayRedirectionPage([ 'command' => 'AUTHORIZATION', # AUTHORIZATION/PURCHASE according to your operation. 'merchant_reference' => 'ORDR.34562134', # You reference id for this operation (Order id for example). 'amount' => 100, # The operation amount. 'currency' => 'QAR', # Optional if you need to use another currenct than set in config. 'customer_email' => 'example@example.com' # Customer email. ]);
Other optional parameters that can be passed to displayRedirectionPage method as follows:
token_namepayment_optionsadad_olpeciorder_descriptioncustomer_ipcustomer_namemerchant_extramerchant_extra1merchant_extra2merchant_extra3
Payfort page will be displayed and once user submits the payment form, the return url defined in the environment configurations will be called.
See Payfort documentation for more info.
Tokenization request
To display payfort tokenization page, in your controller's method add the following code snippet:
return Payfort::redirection()->displayTokenizationPage([ 'merchant_reference' => 'ORDR.34562134', # You reference id for this operation (Order id for example). ]);
Payfort page will be displayed and once user submits the payment form, the return url defined in the config file
will be called.
See Payfort documentation for more info.
Handling Payfort Authorization/Purchase response
Handling callback (return)
In your handling controller that handle the return url, you can simply use the PayfortResponse trait as follows:
use LaravelPayfort\Traits\PayfortResponse as PayfortResponse;
class PayfortOrdersController extends Controller{
use PayfortResponse;
public function processReturn(Request $request){
$payfort_return = $this->handlePayfortCallback($request);
# Here you can process the response and make your decision.
# The response structure is as described in payfort documentation
}
}
See Payfort documentation for more info.
Handling Direct Transaction Feedback
Same as handling payfort response except that you have to call handlePayfortFeedback instead of handlePayfortCallback
Localization
The redirect page can be translated by simply using the json file of the language wihtin the lang directory of your app.
For example, ar.json file:
{
...
"Payment redirect page": "صفحة إعادة توجيه الدفع",
"Click here to proceed to payment if you are not automatically redirected": "انقر هنا لمتابعة الدفع إذا لم تتم إعادة توجيهك تلقائيًا",
...
}
Contribution
Want to improve this package or found a bug ?. Open an issue or do this contribution by yourself and get this honor.
Simply, fork => do you work => make pull request.
Write clear comments and description ;-).
License
Laravel Payfort is open-sourced software licensed under the MIT license
azreqat/laravel-payfort 适用场景与选型建议
azreqat/laravel-payfort 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.56k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 02 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「http」 「payment」 「payfort」 「laravel payfort」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 azreqat/laravel-payfort 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 azreqat/laravel-payfort 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 azreqat/laravel-payfort 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
repository php library
http客户端
Easily add Excepct-CT header to your project
Build mini web servers in PHP for testing
Laravel-payfort is a simple package to process payments throught Payfort payment gateway.
Laravel-payfort is a simple package to process payments throught Payfort payment gateway.
统计信息
- 总下载量: 1.56k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-02-11