codebuglab / noon-payment-laravel
将 noon 支付 API 集成到 Laravel
v0.0.8
2022-03-29 08:59 UTC
Requires
- php: >=7.0
Requires (Dev)
- orchestra/canvas: ^6.4
- orchestra/testbench: ^6.0
This package is auto-updated.
Last update: 2024-09-13 21:20:52 UTC
README
将 NoonPayment API 集成到 Laravel
目录
设置
安装
通过终端运行以下命令通过 composer 安装此包
composer require codebuglab/noon-payment-laravel
配置
参考 Noon 文档 获取您的信息,然后将其添加到 .env
文件中
NOON_PAYMENT_BUSINESS_ID=
NOON_PAYMENT_APP_NAME=
NOON_PAYMENT_APP_KEY=
NOON_PAYMENT_TOKEN_IDENTIFIER=
NOON_PAYMENT_RETURN_URL=http://127.0.0.1:8000/noon_payment_response
# Change the mode to Live for the Production or set it as Test
NOON_PAYMENT_MODE=Test
# Pre-configured order route categories (the categories will be mentioned also in the initial setup email)
NOON_PAYMENT_ORDER_CATEGORY=
# Channels are pre-defined and limited to Web / Mobile (the channels will be mentioned also in the initial setup email)
NOON_PAYMENT_CHANNEL=web
# Default value - Payment API Endpoint - Chooses
# https://api.noonpayments.com/payment/v1/
# https://api-test.noonpayments.com/payment/v1/
NOON_PAYMENT_PAYMENT_API=https://api-test.noonpayments.com/payment/v1/
发布(可选)
在终端运行此命令以发布应用程序中的包文件
php artisan vendor:publish --provider="CodeBugLab\NoonPayment\NoonPaymentServiceProvider"
这将发布 2 个文件
1- App/Http/Controllers/NoonPaymentController.php 2- config/noon_payment.php
- 如果您想在此文件上设置包配置而不是
.env
,请自由更改noon_payment.php
配置文件 - 如果您不需要配置文件,您可以运行此命令
php artisan vendor:publish --provider="CodeBugLab\NoonPayment\NoonPaymentServiceProvider" --tag=controller
NoonPaymentController.php
是一个简单的示例,说明如何在项目中使用它,将其视为演示。
路由(可选)
此包使用 NoonPaymentController.php
文件有两个路由
- 创建支付页面
http://yourwebsite/noon_payment
通过 GET
请求调用函数( NoonPaymentController@index
)
- 接收响应
http://yourwebsite/noon_payment_response
通过函数( NoonPaymentController@response
)接收 GET
响应
测试卡
官方文档中的测试卡链接 => 测试卡
可用的 API 方法
发起
- 这将发起新的订单。
$data =[ "order" => [ "reference" => "1", "amount" => "10", "currency" => "SAR", "name" => "Sample order name", ], "configuration" => [ "locale" => "en" ] ] $response = NoonPayment::getInstance()->initiate($data);
- 简单地,您可以使用响应并通过此代码重定向到支付页面
if ($response->resultCode == 0) { return redirect($response->result->checkoutData->postUrl); }
- 在设置您的支付信息或取消流程后,您将转到响应页面
- 请记住您之前在
.env
文件中这样设置
NOON_PAYMENT_RETURN_URL=http://127.0.0.1:8000/noon_payment_response
- 有关发起请求和响应的更多信息,请参阅文档( 支付发起 )
获取订单
- 这将通过发起函数检索的订单 ID 获取您的订单信息
$response = NoonPayment::getInstance()->getOrder($orderId);
- 简单地,您可以使用
$response
变量来检查交易是否成功,如下所示
if ( $response->result->transactions[0]->type == "SALE" && $response->result->transactions[0]->status == "SUCCESS" ) { //success Message }
- 有关发起请求和响应的更多信息,请参阅文档( 支付获取订单 )
通知
- 如果您在使用此包时遇到任何问题,请尝试使用 发布 和 路由,这将在
NoonPaymentController.php
文件中提供简单的示例。 - 如果您想对订单进行
退款
或取消
,则此包目前不提供这些方法,因此我们强烈建议在尝试此操作并创建拉取请求之前阅读完整的 文档。
许可
此包是免费软件,根据 MIT 许可证条款分发。