在WooCommerce 3中获取PayTrace支付网关的订单自定义元数据



我使用WooCommerce的插件"结帐字段编辑器"设置了3个自定义结帐字段。我已经设置了它,以便字段显示在电子邮件和订单屏幕上,但我需要将这些字段中的信息也发送到付款处理器,即 PayTrace。在与PayTrace插件开发人员交谈后,我有代码(下面的链接(用于添加发送到PayTrace的其他信息订单信息,但我不确定如何正确/安全地检索自定义结帐字段数据,以便可以包含它。

用于在发送到 PayTrace 的信息中添加其他数据的代码。 https://gist.github.com/vanbo/dc3d9bc8660a7de33aafb44dde3033fa

一般来说,Woocommerce订单元数据大多总是在前面加上下划线字符。例如,帐单名字meta_key将为_billing_first_name

因此,您首先需要签入wp_postmeta表中的最后一个 Woocommerce 订单(post_id即订单 ID(,以获取将在以下代码中使用的正确必要的元键

假设您的自定义元键是:

  • 事件代码_event_code
  • 活动日期_event_date
  • 事件名称_event_name

完成后,您将在以下代码中获取并设置该数据,如下所示:

add_filter( 'wc_paytrace_transaction_request', 'custom_data_paytrace_transaction_request', 10, 5 );
function prefix_filter_paytrace_transaction_request( $request_parameters, $order, $amount, $is_subscription, $is_paid_with_profile ) {
$event_code = $order->get_meta( '_event_code', true );
if( ! empty($event_code) )
$request_parameters['event_code'] = $event_code;
$event_date = $order->get_meta( '_event_date', true );
if( ! empty($event_date) )
$request_parameters['event_date'] = $event_date;
$event_name = $order->get_meta( '_event_name', true );
if( ! empty($event_name) )
$request_parameters['event_name'] = $event_name;
return $request_parameters;
}

您应该需要检查$request_parameters的数组键是否正确。

代码进入函数.php活动子主题(或活动主题(的文件。它应该有效。

相关内容

  • 没有找到相关文章

最新更新