gituyu / jenga
JengaPG 和 JengaAPI 库,具有最小依赖性 + Laravel 兼容。
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2024-09-19 02:26:29 UTC
README
安装
composer require gituyu/jenga
在 Laravel 中,发布包文件。 php artisan vendor:publish
选择 Provider: Finserve\Jenga\JengaServiceProvider
或 Tag: jenga-config
使用
在 Laravel 控制器中使用助手函数 jengaCheckout($amount, $orderReference, $callbackurl, $custName = 'Client', $title = '通过 EazzyPay 支付', $is_sandbox = true, $website = 'NA', $extraData = 'NA', $currency = "KES", $outletCode = "0000000000")
,如以下示例所示,输出是应注入到结账页面上的 HTML 字符串。可见部分是支付按钮,它会跳转到 EazzyPayment 结账门户。客户完成支付后,将被重定向回并触发支付更新回调。
$payment_button= \App\Helpers\jengaCheckout(22,'dff','https://webhook.site/0a75a3f0-b545-4ce3-8c1f-926e7bded3df','John Doe','立即支付',true);
配置
发布包文件后,将在 config/jenga.php 中创建配置。或者:在项目根目录下,创建一个 .env 文件并设置以下配置
JENGA_USERNAME=[username]
JENGA_PASSWORD=[password]
JENGA_API_KEY=[api_key]
JENGA_PRIVATE_KEY=[/relative/path/to/private.pem]
JENGA_BASE_ENDPOINT=https://uat.jengahq.io
注意:该包由 Laravel 自动发现:对于 Laravel 旧版本(小于 5.5)用户,打开 Config/App.php 文件,在 providers 下添加 \Finserve\Jenga\JengaServiceProvider::class
,在 aliases 下添加 'Jenga'=> \Finserve\Jenga\JengaServiceProvider::class
。
外汇
它支持可选参数。支持的服务包括:currencyconverterapi.com API (https://free.currconv.com/api/) 限制为每分钟 100 个请求,报价更新至 45 分钟。
getForex($baseCurrency = 'KES', $foreignCurrency = 'USD', $exchangeService = '1', $apiKey = '')
示例:$forex=(new \Finserve\Jenga\Forex())->getForex('USD','KES');
回调
使用:Route::get('/callback/route/here', function () { $data=\Finserve\Jenga\Callback(); //Do something });
格式如下
{ "customernumber": "A N Other", "customermobileNumber": "", "customerRef": null, "txDate": "2018-11-27 00:00:00.0", "txRef": " S2596405", "txPaymentMode": "TPG", "txAmount": "10", "txTill": null, "txBillNumber": "A N Other", "txOrderAmount": "", "txServiceCharge": "", "txServedBy": "EQ", "txAdditionalInfo": "MPS 254723000000 MKR35QEKV7 A N Other/537620", "bnkRef": " S2596405", "bnkTransactionType": "C", "bnkAccount": "0111234241028" }