Woo 订阅失败,因为类定义 Stripe 在 unserialize() 之后加载

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

我在 WooCommerce 上收到此错误:

处理最近的订阅相关事件时发生错误。有关如何修复受影响的订阅的步骤以及了解有关此错误的可能原因的更多信息,请在此处阅读我们的指南。

日志上是这样写的:

计划操作 10528608(订阅付款)由于以下异常而未能完成处理:脚本尝试修改不完整对象的属性。请确保您尝试操作的对象的类定义“Stripe\Price”已在调用 unserialize() 之前加载,或提供自动加载器来加载 /wordpress/core/6.6/wp-includes 中的类定义/formatting.php:5137

由于 WP Core 格式问题,WooCommerce 订阅未得到处理并失败。

此外,这一切都是从 PHP 7.4 升级到 PHP 8.3 之后开始的

php wordpress woocommerce stripe-payments woocommerce-subscriptions
1个回答
0
投票

我创建了一个小插件,它的作用是:

<?php /** * Plugin Name: Stripe PHP Loader * Version: 1.0.0 */ require_once plugin_dir_path(__FILE__) . 'stripe-php/init.php';

确保
下载最新版本

stripe-php并将该库放入您的插件目录中。 激活插件后,尝试手动续订其中一项订阅。为此:

将订阅从
    On Hold
  1. 更改为
    Active
    ,然后单击
    Update
    从订阅操作右侧面板中,选择 
  2. Process renewal
  3. 并再次单击
    Update
    
    
  4. 应该是这样。理想情况下,您还应该将上一个订单的状态更改为“已取消”,以保持干净。您可以在 WooCommerce > 状态 > 日志下的 WooCommerce 日志中找到该订单 ID

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