drrepo / larafort
Larafort 是一个简单的包,用于通过 PAYFORT 在线支付网关处理支付。(使用 wshurafa/laravel-payfort)
Requires
- php: >=5.5.9
- guzzlehttp/guzzle: ~5.0|~6.0|~7.0
- illuminate/support: *
- nesbot/carbon: ^2.30.0
Requires (Dev)
- fabpot/goutte: ~3.2
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-29 06:08:39 UTC
README
Larafort
提供了一种简单而丰富的处理 Payfort
(基于中东和非洲的在线支付网关)操作的方法,请在此处查看更多 Payfort。
此包支持以下列出的 Payfort
操作,其他操作将留待未来工作和贡献。
- 授权/购买
- 令牌化
- SDK_TOKEN
- 检查状态
在使用任何包之前,您必须非常仔细地阅读 Payfort
文档,包作者不会撰写有关 Payfort
操作、如何使用的内容。
安装
您可以通过 composer 命令将 Larafort
包安装到您的 laravel 项目中
$ composer require drrepo/larafort
配置
对于 Laravel < 5.5(包自动发现:对于 Laravel 5.5+ 跳过以下两个步骤)
安装 Larafort
库后,在您的 config/app.php
配置文件中注册 LaravelPayfort\Providers\PayfortServiceProvider
'providers' => [ // Other service providers... LaravelPayfort\Providers\PayfortServiceProvider::class, ],
此外,将 Payfort
门面添加到您的 app
配置文件中的 aliases
数组中
'Payfort' => LaravelPayfort\Facades\Payfort::class
之后,运行以下命令以发布配置文件
$ php artisan vendor:publish --provider "LaravelPayfort\Providers\PayfortServiceProvider"
这将在 config
文件夹中创建一个名为 payfort.php
的新配置文件。然后您必须在 .env
文件中添加以下常量,您可以在您的 Payfort
账户中找到这些值的大部分。
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.
基本用法
一旦完成所有配置步骤,您就可以在您的应用程序中使用 payfort 操作了。以下是一些使用此包的示例
授权/购买请求(重定向)
要显示 payfort 授权或购买页面,在控制器的方法中添加以下代码片段
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. ]);
可以传递给 displayRedirectionPage
方法的其他可选参数如下
- token_name
- payment_option
- sadad_olp
- eci
- 订单描述
- 客户 IP
- 客户名称
- 商户额外信息
- 商户额外信息1
- 商户额外信息2
- 商户额外信息3
Payfort
页面将显示,一旦用户提交支付表单,将调用环境配置中定义的返回 URL。
有关更多信息,请参阅 Payfort
文档。
令牌化请求
要显示 payfort 令牌化页面,在控制器的方法中添加以下代码片段
return Payfort::redirection()->displayTokenizationPage([ 'merchant_reference' => 'ORDR.34562134', # You reference id for this operation (Order id for example). ]);
Payfort
页面将显示,一旦用户提交支付表单,将调用配置文件中定义的返回 URL。
有关更多信息,请参阅 Payfort
文档。
处理 Payfort 授权/购买响应
处理回调(返回)
在处理返回 URL 的处理控制器中,您可以使用 PayfortResponse
特性如下
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
}
}
有关更多信息,请参阅 Payfort
文档。
处理直接交易反馈
与处理 payfort 响应相同,但您必须调用 handlePayfortFeedback
而不是 handlePayfortCallback
许可协议
拉拉福特
是开源软件,受MIT许可证许可