You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从WooCommerce REST API获取订单的支付渠道交易ID?

获取WooCommerce订单中第三方支付网关的交易ID/参考号

WooCommerce原生的transaction_id字段是系统内部生成的,第三方支付网关的真实交易ID/参考号一般存在订单的**自定义元数据(meta data)**里,不同网关的存储键名不同,以下是各主流网关的具体获取方式:

各支付网关的具体实现

PayPal

PayPal官方网关(WooCommerce PayPal Payments)会把交易相关ID存在这两个元数据键中:

  • _paypal_payment_id:PayPal返回的核心交易ID
  • _paypal_order_id:PayPal侧的订单ID(适用于基于订单的支付流程)

如果用PHP开发,直接从订单对象获取的代码:

// $order 是已获取的WooCommerce订单对象
$paypal_transaction_id = $order->get_meta('_paypal_payment_id');

Stripe

Stripe官方网关的交易ID对应两个常用键:

  • _stripe_charge_id:Stripe的Charge ID(旧版支付流程)
  • _stripe_intent_id:Stripe的Payment Intent ID(新版支付流程)

获取代码示例:

$stripe_charge_id = $order->get_meta('_stripe_charge_id');
$stripe_intent_id = $order->get_meta('_stripe_intent_id');

Mollie

Mollie官方网关的交易ID统一存在_mollie_payment_id键中:

$mollie_transaction_id = $order->get_meta('_mollie_payment_id');

通用排查方法(找未知网关的键名)

如果遇到小众网关,不确定元数据键名,可以按以下步骤找:

  1. 打开WooCommerce后台的某个已支付订单详情页
  2. 点击右上角的「显示元数据」(Show meta data)
  3. 在列表里找带网关名称的字段(比如包含paypal/stripe/mollie字样),对应的值就是第三方交易ID

通过REST API获取的方式

调用WooCommerce REST API获取订单时,返回数据里的meta_data是一个数组,每个元素包含key和value,可以遍历筛选目标值。比如用JavaScript实现:

// 传入API返回的订单对象,以及要匹配的网关键名数组
function getGatewayTransactionId(order, gatewayKeys) {
  for (const meta of order.meta_data) {
    if (gatewayKeys.includes(meta.key)) {
      return meta.value;
    }
  }
  return null;
}

// 示例:获取PayPal交易ID
const paypalTransactionId = getGatewayTransactionId(order, ['_paypal_payment_id', '_paypal_order_id']);

内容的提问来源于stack exchange,提问作者Ojo Oluwaseun Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:35:07