codebuglab/noon-payment-laravel

将 noon 支付 API 集成到 Laravel

v0.0.8 2022-03-29 08:59 UTC

This package is auto-updated.

Last update: 2024-09-13 21:20:52 UTC


README

NoonPayment API 集成到 Laravel

Issues Forks Stars Stars

Noon Payment with 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 许可证条款分发。