hyperpay / payment
此包的最新版本(dev-main)没有可用的许可证信息。
dev-main
2022-07-28 11:55 UTC
This package is not auto-updated.
Last update: 2024-09-20 21:42:34 UTC
README
复制并支付
(支付包) Laravel >= 7 的复制并支付包
要求
- composer 版本 >= 2.6
- Laravel 版本 >= 7
特性
- 处理支付流程
- 易于使用
支持的品牌
资源
索引
安装
composer require hyperpay/payment
发布配置文件
php artisan vendor:publish --provider='Hyperpay\Payment\HyperpayServiceProvider'
在 config/payments.php 中配置支付凭证
project
|
└───config
│ payments.php
return [ "environment" => "test", "gatewayes" => [ "card" => [ "enabled" => false, 'entity_id' => "", "access_token" => "", "currency" => "SAR", "transaction_type" => "DB", "brands" => "VISA MASTER AMEX", "label" => "Cridet Card", ], "mada" => [ "enabled" => false, 'entity_id' => "", "access_token" => "", "currency" => "SAR", "transaction_type" => "DB", "brands" => "MADA", "label" => "Mada Debit Card", ], ] ];
使用您提供的凭证填写 entity_id 和 access_token,并定义支持的品牌
"card" => [ "brands" => "VISA MASTER AMEX",
请确保所有品牌均使用大写字母,并用空格 " " 分隔
启用/禁用
默认情况下,所有支付方式均被禁用。要启用支付方式,只需将 enabled 改为 true
... "card" => [ "enabled" => true, ....
基本使用
在任意 blade 模板中,您都可以调用支付组件
<div class="flex-center position-ref full-height"> <x-hyper-pay-form /> </div>
组件属性
- amount (必需) : 总订单金额
- merchantTransactionId (必需) : 通常表示 order_id
- firstName (可选) : 客户名
- lastName (可选) : 客户姓
- email(可选) : 客户邮箱
- street (可选) : 客户街道地址
- city(可选) : 客户城市地址
- country(可选) : 客户国家地址
- zip(可选) : 客户邮政编码
传递数据
<x-hyper-pay-form amount="10.00" merchantTransactionId="19" />
自定义
... "card" => [ "label" => "As you want to dispaly to customers", ....
翻译 我们的可翻译您的应用程序区域设置并自动翻译组件。如果您想自定义翻译,请编辑来自的翻译文件
project
|
└───resources
|
└─── lang
|
└─── ar
| payment.php
|
└─── en
| payment.php
return [ "Mada Debit Card" => "بطاقة مدى البنكية", "Cridet Card" => "بطاقة ائتمان", "Pay_Again_?" => "دفع مرة اخرى ؟" ];
处理结果
成功 要处理成功状态,您将在中的 success 方法内编写您的逻辑
project
|
└───app
|
└─── Http
|
└─── Controllers
| PaymentController.php
public function success($result) { return $result; }
这里,您可以处理事务的成功状态,如 (重定向,更新数据库等)
您所需的所有数据都将包含在 $result 参数中
{ "id": "8ac7a49f82323dc60182350fb142773d", "paymentType": "DB", "paymentBrand": "VISA", "amount": "95.00", "currency": "SAR", "descriptor": "9751.3590.4583 new channel Ahmad", "merchantTransactionId": "5", "result": { "code": "000.000.000", "description": "Transaction succeeded" }, "resultDetails": { "ExtendedDescription": "Successfully processed" }, "buildNumber": "a94641688adf253dbf3145d2dd0a203bbeeb50aa@2022-07-22 12:35:29 +0000", "timestamp": "2022-07-25 11:13:20+0000", "ndc": "777D1BE1744BEFD249DA95017DF97957.uat01-vm-tx03" }
失败 默认情况下,当交易失败时,客户将被重定向回支付页面并显示错误消息
如果您想改变这种做法,请在 PaymentController.php 中创建一个带有 $result 参数的名为 failed() 的方法
public function failed($result) { Session::flash('alert' , $result['result']['description']); return back(); }