Xenice Pay 为 WooCommerce 小程序商城扩展 REST API 支付功能

Xenice Pay 为 WooCommerce 小程序商城扩展 REST API 支付功能

Woocommerce内置没有提供rest api支付接口的,在用woocommerce二次开发写商城小程序时,这个插件可用于扩展woocommerce rest api支付功能,目前仅支持支付宝支付。

下载

一、插件简介

  • 插件名称:xenice-pay
  • 当前版本:v1.0.3(发布于 2023.02.22)
  • 支持支付方式:仅支付宝(alipay_f2f 和 alipay_phone
  • 适用场景:WooCommerce + 小程序 / H5 / 移动端二次开发
  • 核心功能:通过 REST API 提供支付方式查询、发起支付请求、接收异步通知

后台设置截图

二、REST API 接口说明

1. 获取可用支付方式列表

接口路径
GET /wp-json/xe/v1/pay-ways

请求参数

  • frontend(必填):前端类型,例如:
    • 'h5':普通网页
    • 'wxh5':微信内嵌 H5
    • 'weixin':微信小程序
    • 'qq''baidu' 等(预留扩展)

返回示例

json编辑[
  {
    "name": "支付宝支付",
    "value": "alipay_f2f",
    "icon": "alipay"
  },
  {
    "name": "支付宝手机支付",
    "value": "alipay_phone",
    "icon": "alipay"
  }
]

该接口可根据不同前端环境动态返回支持的支付方式,便于前端灵活适配。


2. 发起支付请求

接口路径
POST /wp-json/xe/v1/pay-ways

请求参数

参数说明
pay_way支付方式(alipay_f2f 或 alipay_phone
token当前用户身份标识(用于支付成功后验证)
openid(预留)微信支付时使用,当前可忽略
trade_order_idWooCommerce 订单 ID
total_fee订单金额(单位:元)
title支付标题(如商品名称)
return_url支付成功后跳转的 URL(主要用于 H5 场景)

返回结果(当面付 – alipay_f2f):

{
"order_sn": "123456",
"qr_code": "https://example.com/qrcode.png",
"token": "user_token_abc123",
"price": "99.00",
"title": "购买商品A",
"payway": "alipay_f2f",
"way": "alipay",
"wayname": "支付宝支付"
}

前端可使用 qr_code 字段生成二维码供用户扫码支付。

返回结果(手机支付 – alipay_phone):

{
"payway": "alipay_phone",
"url": "https://openapi.alipay.com/gateway.do?..."
}

前端应跳转此 URL,自动唤起支付宝 App 完成支付(适用于 APP 内或支持 scheme 跳转的环境)。


三、支付成功回调处理

插件在接收到支付宝的异步通知(notify_url)后,会触发 WordPress 钩子:

do_action('xenice_pay_alipay_notify', $request);

开发者可在主题 functions.php 或自定义插件中挂载回调函数,处理订单状态更新、库存扣减、发送通知等逻辑:

add_action('xenice_pay_alipay_notify', function($request) {
$order_id = $request['trade_order_id'];
$order = wc_get_order($order_id);

if ($order && $order->get_status() !== 'completed') {
$order->payment_complete(); // 标记为已支付
$order->add_order_note('支付宝支付成功回调');
// 可继续添加积分、发邮件等操作
}
});

⚠️ 注意:务必验证通知来源合法性(如签名验证),防止伪造请求。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注