WooCommerce - 将元数据添加到 Stripe Payment

问题描述 投票:0回答:2

我正在尝试使用此代码在结账后/结帐期间将税务元数据添加到 Stripe 支付插件:

/*
* Add "Billing Company" value to Stripe metadata
*/
function filter_wc_stripe_payment_metadata( $metadata, $order, $source ) {

$order_data = $order->get_data();
$order_discount_total = $order_data['discount_total'];
$order_discount_tax = $order_data['discount_tax'];
$order_shipping_total = $order_data['shipping_total'];
$order_shipping_tax = $order_data['shipping_tax'];
$order_total = $order_data['cart_tax'];
$order_total_tax = $order_data['total_tax'];
    $metadata[ __( 'Discount Total', 'woocommerce-gateway-stripe' ) ] = $order_discount_total;
$metadata[ __( 'Discount Tax', 'woocommerce-gateway-stripe' ) ] =  $order_discount_tax;
$metadata[ __( 'Shipping Total', 'woocommerce-gateway-stripe' ) ] = $order_shipping_total;
$metadata[ __( 'Shipping Tax', 'woocommerce-gateway-stripe' ) ] = $order_shipping_tax;
$metadata[ __( 'Cart Tax', 'woocommerce-gateway-stripe' ) ] = $order_total;
$metadata[ __( 'Total Tax', 'woocommerce-gateway-stripe' ) ] = $order_total_tax;

    return $metadata;
}
add_filter( 'wc_stripe_payment_metadata', 'filter_wc_stripe_payment_metadata', 10, 3 );  

使用Stripe Test Mode,该元数据不会出现在元列表中。

来自传递给 Stripe 的 API 请求:

  "invoice": null,
  "livemode": false,
  "metadata": {
    "order_key": "wc_order_a7iTmZVNW52cz",
    "site_url": "https://xxxx.shop",
    "order_id": "2337",
    "payment_type": "single",
    "customer_email": "[email protected]",
    "customer_name": "Customer Name"
  },
  "on_behalf_of": null,
  "order": null,  

我错过了什么?
function.php 更改甚至不会出现在 Woocommerce -> Status -> Stripe Logs 中。 它已正确添加到functions.php中,其中没有其他内容。谢谢

php woocommerce stripe-payments payment-gateway hook-woocommerce
2个回答
2
投票
/*
 * Add "Billing Company" value to Stripe metadata
 */

function filter_wc_stripe_payment_metadata($metadata, $order, $prepared_payment_method) {

    $order_discount_total = $order->get_discount_total();
    $order_discount_tax = $order->get_discount_tax();
    $order_shipping_total = $order->get_shipping_total();
    $order_shipping_tax = $order->get_shipping_tax();
    $order_total = $order->get_cart_tax();
    $order_total_tax = $order->get_total_tax();
    $metadata += ['order_discount_total' => $order_discount_total];
    $metadata += ['order_discount_tax' => $order_discount_tax];
    $metadata += ['order_shipping_total' => $order_shipping_total];
    $metadata += ['order_shipping_tax' => $order_shipping_tax];
    $metadata += ['order_total' => $order_total];
    $metadata += ['order_total_tax' => $order_total_tax];

    return $metadata;
}

add_filter('wc_stripe_payment_metadata', 'filter_wc_stripe_payment_metadata', 10, 3);

0
投票

我需要将产品名称添加为条带中的元数据,我按照本教程中的步骤进行操作,一切都运行良好,直到 5 天前我更新了 woocommerce,它停止工作,它没有给出任何错误,只是没有'不再显示元数据。

© www.soinside.com 2019 - 2024. All rights reserved.