go to Evonet

LinkPay Integration Step - 中文

遵循本章,通过我们的 Hostage 产品 LinkPay API 完成支付集成。


获取支付链接

按照以下步骤构建 API 请求,并获取支付链接(LinkUrl)。

当你收到支付链接后,可以将用户重定向至 LinkPay 支付页面。用户可在 LinkPay 支付页面中选择支付方式并完成支付。

📘

Note

如果你已构建了自己的结账页面,并希望用户在你的结账页面中选择支付方式,只需在调用 POST interaction 接口时,将所选支付方式的枚举值传入字段 merchantOrderInfo.enabledPaymentMethod 即可。例如:

"enabledPaymentMethod": ["Boost"]

每种支付方式的名称和 Logo 应显示在你的结账页面上,你可以通过以下链接下载它们: 支付方式名称与 Logo 下载

更多参数详细信息,请参见 POST interaction API 接口详细信息。


接收支付结果

通过 Webhook 接收支付结果

如果你在 POST interaction 请求中传入了 webhook 地址,当支付成功时,你将会通过 Webhook 接收到支付结果通知。

参数请参考 API Explorer interaction Notification

通过 returnURL 接收支付结果

如果你在 POST interaciton 请求中传入了 returnURL,当支付成功时,Evonet 会将支付结果附加到 returnURL 并跳转回商户网站。

📘

Example

如果你的 returnURL 是:

https://www.merchant.com

当支付成功完成后,Evonet 会重定向用户至:

https://www.merchant.com?merchantOrderID=123123123123&result=success

查询支付结果

按照以下步骤查询已创建的 LinkPay 订单支付结果。

使用 GET 方法,通过在请求 URL 中附加 merchantOrderID 来获取该 LinkPay 订单的支付结果。

判断支付是否成功的方法:查询支付结果 接口或异步通知中,检查以下字段:

"result.code": "S0000"
"merchantOrderInfo.status": "Paid"
"transactionInfo.status": "captured"

更多参数详细信息,请参见 GET interaction API 接口详细信息。


通过 POST /payment/{merchantTransID}/refund 接口对已经完成支付的订单发起全额或者部分退款。

📘

merchantTransID 需从查询响应或异步通知中的 transactionInfo.merchantTransInfo.merchantTransID 中获取。


通过 GET /payment/{merchantTransID} 接口查询退款状态。


使用 LinkPay 实现订阅场景

通过 LinkPay 可实现订阅支付场景,整体流程同上面的描述,仅需在对应步骤进行如下调整即可:

首次订阅

  1. 在创建 LinkPay 支付链接时,需设置以下特殊参数:
    {
      "userInfo": {
        "reference": "your_user_reference"
      },
      "paymentMethod": {
        "recurringProcessingModel": "Subscription"
      }
    }
    用户操作要求:在 LinkPay 支付页面中,用户需勾选 "Save card details for next time",以便系统在支付完成后生成用于后续交易的 token
  2. 获取并保存 Token:
    • 支付完成后,从 webhook 回调通知查询接口中获取 token
    • token.value 保存到后端数据库,并与 userInfo.reference 进行关联。

后续订阅 (MIT 交易)

  • 调用 Payment API 直接发起交易。
  • 请求参数中需包含(详见附录 Payment API 接口):
    {
      "paymentMethod": {
        "token": {
          "value": "之前保存的token值"
        },
        "recurringProcessingModel": "Subscription"
      }
    }
  • 订单跟踪:使用 merchantTransID 跟踪后续订阅订单。(GET Payment
  • 资金捕获
    • 通过 captureAfterHours 字段设置自动捕获延迟小时数(例如 "0" 表示立即捕获),字符串格式
    • 若未上送此字段,则需后续调用 POST /capture 接口进行手动捕获。