arifabdd / payment-api

用于Laravel中轻松使用ecom api的库

dev-main 2023-11-30 12:44 UTC

This package is auto-updated.

Last update: 2024-09-30 01:21:49 UTC


README

KapitalBank支付集成库是一个Laravel模块,它简化了与KapitalBank支付网关的无缝集成。此库允许您轻松创建订单、完成交易、撤销交易以及检索支付状态和信息。

目录

  1. 介绍
  2. 先决条件
  3. 安装
  4. 使用
  5. 许可证
  6. 免责声明

介绍

KapitalBank支付集成库简化了KapitalBank支付网关与Laravel应用程序的集成。它提供了与支付网关交互的方法,允许创建和管理支付订单。

先决条件

在开始使用此库之前,请确保您满足以下先决条件

  1. 在您的服务器或开发环境中安装了Composer。
  2. 有效的KapitalBank商户凭据。
  3. 用于安全通信的SSL证书和私钥文件。

安装

要在您的Laravel项目中使用KapitalBank支付集成库,您需要通过Composer安装它。打开终端并运行以下命令

composer require "arifabdd/payment-api @dev"

使用

初始化

导入KapitalBank类并用所需的参数初始化它

use Arifabdd\PaymentApi\KapitalBank\Kapitalbank;

$kb = new Kapitalbank(
        'YOUR_MERCHANT_ID',
        'APPROVE_URL',
        'CANCEL_URL',
        'DECLINE_URL',
        'CERT_FILE_PATH',
        'KEY_FILE_PATH',
    );

配置参数

可以通过向其构造函数传递适当的值来配置KapitalBank类。可用的配置选项有

  • merchantId:您的商户ID(必需)。
  • approveUrl:成功支付将被重定向的URL(必需)。
  • cancelUrl:取消支付将被重定向的URL(必需)。
  • declineUrl:拒绝支付将被重定向的URL(必需)。
  • liveMode:设置为'true'为实时模式,'false'为测试模式或空白(可选)。
  • certFile:SSL证书文件的路径(必需)。
  • keyFile:SSL密钥文件的路径(必需)。
  • lang:订单的默认语言(可选,默认为'AZ')。
  • currency:订单的默认货币(可选,默认为'944')。

请确保您提供正确的环境值。

创建订单

使用createOrder方法创建新的支付订单

$amount = 100;
$description = "ORDER_DESCRIPTION";

return $kb->createOrder($amount,$description) // $description is optional.

响应

{
   "success": true,
   "data": {
      "amount": 100,
      "orderId": "ORDER_ID",
      "sessionId": "SESSION_ID",
      "description": "ORDER_DESCRIPTION",
      "currency": 944,
      "lang": "EN",
      "paymentUrl": "https://tstpg.kapitalbank.az/index.jsp?ORDERID=ORDER_ID&SESSIONID=SESSION_ID",
      "orderType": "ORDER_TYPE"
   }
}

完成订单

使用completeOrder方法完成支付订单

$orderId = "ORDER_ID";  // Replace with your order ID
$sessionId = "SESSION_ID";  // Replace with your session ID

return $kb->completeOrder($orderId,$sessionId,$amount,$description,$lang) // $description and $lang are optional.

撤销交易

使用reverseOrder方法撤销支付交易

$orderId = "ORDER_ID";  // Replace with your order ID
$sessionId = "SESSION_ID";  // Replace with your session ID

return $kb->reverseOrder($orderId,$sessionId,$description,$lang); // $description and $lang are optional.

响应

{
  "success": true,
  "data": { 
     "orderId": "ORDER_ID", 
     "respCode": "", 
     "respMessage": ""
  }
}

获取订单状态

使用getOrderStatus方法检索支付订单的状态

$orderId = "ORDER_ID";  // Replace with your order ID
$sessionId = "SESSION_ID";  // Replace with your session ID

return $kb->getOrderStatus($orderId,$sessionId,$lang); // $lang is optional.

响应

{
   "success": true,
   "data": {
      "orderId": "ORDER_ID",
      "orderStatus": "ORDER_STATUS"
   }
}

获取订单信息

使用getOrderInformation方法获取支付订单的详细信息

$orderId = "ORDER_ID";  // Replace with your order ID
$sessionId = "SESSION_ID";  // Replace with your session ID

return $kb->getOrderInformation($orderId,$sessionId); // $lang is optional.

响应

{
   "success": true,
   "data": {
      "orderId": "ORDER_ID",
      "orderStatus": "ORDER_STATUS",
      "sessionId": "SESSION_ID",
      "createDate": "2023-09-17T09:39:05.000Z",
      "lastUpdateDate": null,
      "payDate": null,
      "amount": 100,
      "currency": "944",
      "orderLanguage": "EN",
      "description": "ORDER_DESCRIPTION",
      "approveUrl": "APPROVE_URL",
      "cancelUrl": "CANCEL_URL",
      "declineUrl": "DECLINE_URL",
      "receipt": "",
      "twoId": "",
      "refundAmount": "",
      "refundCurrency": null,
      "refundDate": null,
      "extSystemProcess": "0",
      "orderType": "Purchase",
      "orderSubType": "",
      "fee": 0,
      "TWODate": "",
      "TWOTime": ""
   }
}

许可证

此库根据MIT许可证发布。有关详细信息,请参阅LICENSE文件。

免责声明

此库未经KapitalBank官方维护或认可。使用时请自行承担风险。