laravel-pay / myfatoorah
MyFatoorah Laravel 库
dev-master
2023-10-04 21:45 UTC
Requires
- php: ^8.0|^8.1
- ext-curl: *
- ext-json: *
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
This package is not auto-updated.
Last update: 2024-09-20 02:33:48 UTC
README
这里应该放置您的描述。请限制为一到两段话。可以考虑添加一个小例子。
安装
您可以通过 composer 安装此包
composer require laravel-pay/myfatoorah "dev-master"
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="myfatoorah-config"
这是发布配置文件的内容
return [ /** * API Token Key * Live Token: https://myfatoorah.readme.io/docs/live-token * Test Token: https://myfatoorah.readme.io/docs/test-token */ 'api_key' => env('MYFATOORAH_API_KEY'), /** * Test Mode * Accepted value: 'true' for the test mode or 'false' for the live mode */ 'test_mode' => env('MYFATOORAH_TEST_MODE', true), /** * Country ISO Code * Accepted value: KWT, SAU, ARE, QAT, BHR, OMN, JOD, or EGY. */ 'country_iso' => env('MYFATOORAH_COUNTRY_ISO', 'KWT'), 'enable_routes' => true, ];
您可以使用此 API 密钥进行测试
MYFATOORAH_API_KEY='rLtt6JWvbUHDDhsZnfpAhpYk4dxYDQkbcPTyGaKp2TYqQgG7FGZ5Th_WD53Oq8Ebz6A53njUoo1w3pjU1D4vs_ZMqFiz_j0urb_BH9Oq9VZoKFoJEDAbRZepGcQanImyYrry7Kt6MnMdgfG5jn4HngWoRdKduNNyP4kzcp3mRv7x00ahkm9LAK7ZRieg7k1PDAnBIOG3EyVSJ5kK4WLMvYr7sCwHbHcu4A5WwelxYK0GMJy37bNAarSJDFQsJ2ZvJjvMDmfWwDVFEVe_5tOomfVNt6bOg9mexbGjMrnHBnKnZR1vQbBtQieDlQepzTZMuQrSuKn-t5XZM7V6fCW7oP-uXGX-sMOajeX65JOf6XVpk29DP6ro8WTAflCDANC193yof8-f5_EYY-3hXhJj7RBXmizDpneEQDSaSz5sFk0sV5qPcARJ9zGG73vuGFyenjPPmtDtXtpx35A-BVcOSBYVIWe9kndG3nclfefjKEuZ3m4jL9Gg1h2JBvmXSMYiZtp9MR5I6pvbvylU_PP5xJFSjVTIz7IQSjcVGO41npnwIxRXNRxFOdIUHn0tjQ-7LwvEcTXyPsHXcMD8WtgBh-wxR8aKX7WPSsT1O8d8reb2aR7K3rkV3K82K_0OgawImEpwSvp9MNKynEAJQS6ZHe_J_l77652xwPNxMRTMASk1ZsJL'
并使用测试卡
https://docs.myfatoorah.com/docs/test-cards
用法
如果您启用了路由(仅限本地测试)
'enable_routes' => true,
那么您有两个路由
localhost/myfatoorah
localhost/myfatoorah/callback
或者您可以选择禁用它们并创建自己的路由
Route::get('pay/myfatoorah' , [MyFatoorahController::class , 'index'])->name('pay.myfatoorah.index') Route::get('pay/myfatoorah/callback' , [MyFatoorahController::class , 'callback'])->name('pay.myfatoorah.callback')
<?php use Illuminate\Http\Response; use LaravelPay\MyFatoorah\Facades\Payment; class MyFatoorahController { public function index() { try { $paymentMethodId = 0; // 0 for MyFatoorah invoice or 1 for Knet in test mode $callbackURL = route('pay.myfatoorah.callback'); $orderId = 12345; $data = Payment::getInvoiceURL( curlData : [ 'CustomerName' => 'FName LName', 'InvoiceValue' => '10', 'DisplayCurrencyIso' => 'KWD', 'CustomerEmail' => 'test@test.com', 'CallBackUrl' => $callbackURL, 'ErrorUrl' => $callbackURL, 'MobileCountryCode' => '+965', 'CustomerMobile' => '12345678', 'Language' => 'en', 'CustomerReference' => $orderId, 'SourceInfo' => 'Laravel '.app()::VERSION, ], gatewayId : $paymentMethodId ); return response()->json(['IsSuccess' => 'true', 'Message' => 'Invoice created successfully.', 'Data' => $data]); } catch (\Exception $e) { return response()->json(['IsSuccess' => 'false', 'Message' => $e->getMessage()]); } } public function callback() { try { $data = Payment::getPaymentStatus(request('paymentId'), 'PaymentId'); if ($data->InvoiceStatus == 'Paid') { $msg = 'Invoice is paid.'; } elseif ($data->InvoiceStatus == 'Failed') { $msg = 'Invoice is not paid due to '.$data->InvoiceError; } elseif ($data->InvoiceStatus == 'Expired') { $msg = 'Invoice is expired.'; } return response()->json(['IsSuccess' => 'true', 'Message' => $msg, 'Data' => $data]); } catch (\Exception $e) { return response()->json(['IsSuccess' => 'false', 'Message' => $e->getMessage()]); } } }
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志
贡献
有关详细信息,请参阅 贡献指南
安全漏洞
请查看 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件