首次付款后取消条纹订阅自动续订 -Wordpress



我在我的WordPress网站上使用了条纹插件和重力形式进行支付。订阅付款交易正在工作。现在我想在一次付款后取消自动续订。我已经在我的函数中使用了这段代码.php。我添加了 我的提要名称$feed_names = array( 'Stripe Feed 1' );并设置计数if ( $count == 1 ) {但它不起作用。我不明白如何解决这个问题?我没有在函数中使用任何其他重力形式的代码.php。

链接

add_action( 'gform_post_add_subscription_payment', function ( $entry ) {
if ( rgar( $entry, 'payment_status' ) == 'Active' ) {
$feed       = gf_stripe()->get_payment_feed( $entry );
$feed_name  = rgars( $feed, 'meta/feedName' );
$feed_names = array( 'Stripe Feed 1' ); // update this line
if ( in_array( $feed_name, $feed_names ) ) {
global $wpdb;
$count = $wpdb->get_var( $wpdb->prepare( "SELECT count(id) FROM {$wpdb->prefix}gf_addon_payment_transaction WHERE lead_id=%d", $entry['id'] ) );
if ( $count == 1 ) { // update this line
$result = gf_stripe()->cancel( $entry, $feed );
gf_stripe()->log_debug( "gform_post_add_subscription_payment: Cancelling subscription (feed #{$feed['id']} - {$feed_name}) for entry #{$entry['id']}. Result: " . print_r( $result, 1 ) );
}
}
}
} );

条带源名称

是的,这段代码没问题,但我不知道你的问题在哪里。我有一个建议,即您可以在订阅进行时检查已成功添加数据的表{$wpdb->prefix}gf_addon_payment_transaction如果您的数据已成功添加,那么此附加钩子将起作用,否则不会因为表为空。

如何检查数据?

您可以轻松打开数据库的表并检查数据是否存在。 您可以查看您的 Stripe 附加组件日志,了解发生了什么。

可以尝试以下第三方附加组件

您可以检查这些必要的链接

创建条带源

日志记录和调试

主题/插件冲突测试

注意:

测试时,您需要等待一天才能取消订阅,以便让 Stripe 有时间获取订阅付款并发送 webhook。

我认为会有所帮助。

最新更新