微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何编辑此 Gravity 表单条纹插件代码,以便我也可以从信用卡中扣款?

如何解决如何编辑此 Gravity 表单条纹插件代码,以便我也可以从信用卡中扣款?

Gravity Forms 有一个连接到 Stripe 的 Stripe 插件,允许一次性和重复购买。该功能很好用,除了 1 次购买之外,它不会在 Stripe 中创建客户。 (相比之下,它确实会为经常性购买创建 Stripe 客户。)。

https://docs.gravityforms.com/create-customer-stripe-without-payment/

这段代码的问题在于它只允许您创建客户。我需要创建一个客户并从信用卡中扣款。 代码片段如下:

add_filter( 'gform_stripe_customer_id',function ( $customer_id,$Feed,$entry,$form ) {
GFCommon::log_debug( __METHOD__ . '(): running.' );
if ( rgars( $Feed,'Meta/transactionType' ) == 'product' && rgars( $Feed,'Meta/FeedName' ) == 'Feed name goes here' ) {
    GFCommon::log_debug( __METHOD__ . '(): Working for Feed ' . rgars( $Feed,'Meta/FeedName' ) );
    $customer_Meta = array();

    $email_field = rgars( $Feed,'Meta/receipt_field' );
    if ( ! empty( $email_field ) && strtolower( $email_field ) !== 'do not send receipt' ) {
        $customer_Meta['email'] = gf_stripe()->get_field_value( $form,$email_field );
    }

    $customer = gf_stripe()->create_customer( $customer_Meta,$form );
    GFCommon::log_debug( __METHOD__ . '(): Returning Customer ID ' . $customer->id );

    return $customer->id;
}

return $customer_id;
},10,4 );

add_filter( 'gform_stripe_charge_authorization_only',function ( $authorization_only,$Feed ) 
{
if ( rgars( $Feed,'Meta/FeedName' ) == 'Feed name goes here' ) {
    GFCommon::log_debug( __METHOD__ . '(): running for Feed ' . rgars( $Feed,'Meta/FeedName' ) );
    return true;
}

return $authorization_only;
},2 );

add_filter( 'gform_stripe_charge_pre_create',function( $charge_Meta,$submission_data,$form,$entry ) {
if ( rgars( $Feed,'Meta/FeedName' ) );
    $charge_Meta['setup_future_usage'] = 'off_session';
}

return $charge_Meta;
},5 );

解决方法

您始终可以自己create the customer,然后在创建payment intent(或charge)时提供它。 Gravity 是否支持传入我不知道的客户。您必须与我们联系,询问是否支持此功能以及如何操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。