alsharie / floosak-payment
Floosak 支付网关
2.2.1
2024-01-30 11:32 UTC
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.5.1
- illuminate/support: >=9.33
README
laravel 包用于 Floosak 支付网关
Floosak 支付 API 更新至 (p2mcl)
安装包 composer require alsharie/floosak-payment
可以使用以下命令发布
php artisan vendor:publish --provider="Alsharie\FloosakPayment\FloosakServiceProvider"
发布后,配置文件 config/floosak.php
包含
return [ 'auth' => [ 'phone' => env('FLOOSAK_MERCHANT_PHONE'), 'short_code' => env('FLOOSAK_MERCHANT_SHORT_CODE'), 'wallet_id' => env('FLOOSAK_MERCHANT_WALLET_ID'), 'key' => env('FLOOSAK_MERCHANT_KEY'), ], 'url' => [ 'base' => env('FLOOSAK_BASE_URL', 'https://staging.fintech-expert.net'), ] ];
如果您没有 request_id 和 key,您必须执行以下操作
1. 获取请求 Id
$floosak = new Floosak(); $response = $floosak->requestKey(); if ($response->isSuccess()) { $request_id = $response->getRequestId(); .... .... }
2. 验证请求 Id
获取响应后,您必须 在 config/floosak.php
或您的 .env
中存储 key
、request_id
$floosak = new Floosak(); $response = $floosak ->setOtp(/*otp*/) ->setRequestId(/*requestId*/) ->verifyKey(); if ($response->isSuccess()) { $key= $response->getKey(); $wallet_id= $response->getWalletId(); //todo:: store $key and $wallet_id } else { return $response->body(); }
使用 Floosak 支付购买
1. 购买
$floosak = new Floosak(); $response = $floosak ->setRequestId(/*ref_id*/) // random number you generate most ->setAmount(/*amount*/) ->setCustomerPhone(/*phone*/) ->setPurpose(/*purpose*/) ->purchase(); if ($response->isSuccess()) { $purchase_id = $response->getPurchaseId(); .... .... }
2. 确认购买
$floosak = new Floosak(); $response = $floosak ->setPurchaseId(/*purchase_id*/) // you get it from the response of the above request `purchase()` ->setOtp(/*user_otp*/) ->confirmPurchase(); if ($response->isSuccess()) { $tran_id = $response->getTransactionId(); .... .... }
退款
$floosak = new Floosak(); $response = $floosak ->setRequestId(/*ref_id*/) // the random number you generated ->setTransactionId(/*tran_id*/) ->setAmount(/*amount*/) // amount to refund ->refund(); if ($response->isSuccess()) { return $response->getBalance(); }
您可以使用 $response->body()
获取所有请求的完整 响应体