WooCommerce PayPal Pro jquery.payment checkout表单改进
什么是正确的方法来连接到WooCommerce PayPal Pro jquery.payment checkout表单改进,paypal,woocommerce,hook-woocommerce,Paypal,Woocommerce,Hook Woocommerce,什么是正确的方法来连接到WC\u Gateway\u PayPal\u Pro签出信用卡表单,以在自定义主题上实现jquery.payment功能 env是最新的,使用: WooCommerce v3.0.7 WooCommerce PayPal Pro(经典版和PayFlow版)网关v4.4.6 随附并根据(…可能已过期)启用它是一个恢复到默认WC信用卡形式的问题 现在,我在“functions.php”中使用以下命令显示具有工作jquery.payment输入的表单: function
WC\u Gateway\u PayPal\u Pro
签出信用卡表单,以在自定义主题上实现jquery.payment功能
env是最新的,使用:
- WooCommerce v3.0.7
- WooCommerce PayPal Pro(经典版和PayFlow版)网关v4.4.6
信用卡形式的问题
现在,我在“functions.php”中使用以下命令显示具有工作jquery.payment输入的表单:
function filter_woocommerce_payment_gateway_supports( $var, $feature, $instance ) {
$feature = 'default_credit_card_form';
return $feature;
}
add_filter( 'woocommerce_payment_gateway_supports', 'filter_woocommerce_payment_gateway_supports', 10, 3 )
但这远没有起作用(从来没想到会那么容易),只是无法验证。错误范围为:
Payment error: There was a problem connecting to the payment gateway.
Payment error: Security header is not valid
Card expiration date is invalid
根据这篇文章,我认为我缺少的是“修改表单处理程序…以确保网关正在查找正确的post数据”,但是如何?找不到关于以下操作的任何相关文档,因此请寻找非常受欢迎的指针:
woocommerce_credit_card_form_args
woocommerce_credit_card_form_fields
woocommerce_credit_card_form_start
woocommerce_credit_card_form_end
最简单的方法是enque WC的信用卡表单.js
脚本:
/*
* Enques credit-card-form.min.js to provide
* better Credit Card form validation
*/
function filter_woocommerce_enqueue_styles( $return_false ) {
if ( function_exists('is_checkout') ) {
if ( is_checkout() ) {
$WC_credit_card_form = plugins_url( 'woocommerce/assets/js/frontend/credit-card-form.min.js');
wp_enqueue_script('wc-credit-card-form', $WC_credit_card_form, ['jquery', 'jquery-payment'], null, true);
}
}
}
add_filter( 'woocommerce_enqueue_styles', 'filter_woocommerce_enqueue_styles', 10, 1 );