首页 > 解决方案 > 使用 C# Rest API 的 WooCommerce OrderRefund 问题

问题描述

当使用来自 WooCommerce 的 C# Rest API 检索订单退款并使用以下语句时:

OrderRefund orderRefund =  await wc.Order.Refunds.Get(2621, 1869);

Running: Net-Framework 4.7.2, 
WordPress 5.3, 
WooCommerce 3.8.0,
WooCommerceNET 0.8.0, 
WordPressPCL 1.6.2

我收到错误消息:

重新序列化 WooCommerceNET.WooCommerce.v3.OrderRefund 类型的对象时发生错误。该值不能是 Int32 类型。订单 1869 的订单退款 2621 存在。

在尝试检索不存在的退款(即 2622)时,它工作正常并返回一个空对象,这是意料之中的。

标签: c#wordpresswoocommerce-rest-api

解决方案


我认为错误很清楚这里有什么问题

WooCommerceNET.WooCommerce.v3.OrderRefund。该值不能是 Int32 类型订单 1869 的订单退款 2621 存在。

所以你使用 Woocom.net Wrapper

(int id, int parentId) 有预期的值,所以 Int32 错误在这里有点遗漏,但我很困惑你试图退款已经有退款请求的订单。这是故意的吗?

也看看这个

https://github.com/XiaoFaye/WooCommerce.NET/issues/78

该主题已在存储库上解决

https://github.com/XiaoFaye/WooCommerce.NET/issues/159

https://github.com/woocommerce/woocommerce/issues/15124


推荐阅读