【问题标题】:Cancel a Stripe subscription auto renewal after first Payment -Wordpress首次付款后取消 Stripe 订阅自动续订 -Wordpress
【发布时间】:2018-11-21 10:15:11
【问题描述】:

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

LINK

 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 ) );
            }
        }
    }
} );

Stripe Feeds Name

【问题讨论】:

    标签: php wordpress stripe-payments gravity-forms-plugin gravityforms


    【解决方案1】:

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

    您如何检查数据?

    您可以很容易地打开数据库的表并检查数据是否存在。 您可以查看您的 Stripe 插件日志以了解发生了什么。

    可以试试下面的第三方add-on

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

    Creating a Stripe Feed

    logging-and-debugging

    theme/plugin conflict test

    注意:

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

    我认为会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-06-14
      • 2015-01-12
      • 2018-02-13
      • 2014-09-07
      • 2015-01-10
      • 1970-01-01
      • 2015-09-01
      • 2015-10-04
      • 1970-01-01
      相关资源
      最近更新 更多