使用Gravity Form中的数据覆盖WooCommerce发送的数据

时间:2015-12-29 16:51:01

标签: javascript php html woocommerce gravity-forms-plugin

所以我在WooCommerce,WooCommerce Subscriptions和Gravity Forms中使用Wordpress。我遇到的问题是该产品是一个可变产品,具有属性和变化。 WooCommerce在主屏幕上显示属性,并且在填写表单时不会更新。该属性对应于客户愿意支付的频率(IE:每月,每隔一个月,每3个月,每6个月,每年一次)会发生的情况是表单上方有下拉,表单在您选择选项之前不会显示。一旦你选择了一个弹出的表格。我选择了6个月。在表格中,如果您选择按月计算,我会询问您多久需要付费,而且根本不会更改或影响该属性。 IE我选择了12个月,因为我改变了主意,购物车将在我退房时显示6个月,这就是我将要收取的费用。我需要有人指出我正确的方向来实现这一目标。 “重力”表单中的所有值都与WooCommerce属性中的值匹配。任何帮助将不胜感激,我似乎无法想象这个小错误。

可以在http://petpakz.com/product/petpakz-testing/

查看该网站

1 个答案:

答案 0 :(得分:0)

好的,所以我终于解决了这个问题。以下是通过在gravityform

中选择的内容从WooCommerce更改属性的工作代码
$ppurl = "https://api-3t.paypal.com/nvp";
$feesforpurchase = calculateFees($planPrice);
$total = $planPrice + $feesforpurchase;
$SetExpressCheckoutURL = $ppurl."?USER=".$apiuser."&PWD=".$apipwd."&SIGNATURE=".$apisig."&METHOD=SetExpressCheckout&VERSION=93&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=".$total."&PAYMENTREQUEST_0_ITEMAMT=".$planPrice."&PAYMENTREQUEST_0_SHIPPINGAMT=".$feesforpurchase."&PAYMENTREQUEST_0_CURRENCYCODE=USD&RETURNURL=http://example.com/thanks.php pid=".$pid."&CANCELURL=http://example.com&PAYMENTREQUEST_0_CUSTOM=".base64_encode($userid."-".$planID."-".$total."-".$pid);

$cURL = curl_init();
curl_setopt($cURL, CURLOPT_HEADER, false);
curl_setopt($cURL, CURLOPT_URL, $SetExpressCheckoutURL);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cURL, CURLOPT_TIMEOUT, 5);
$response = curl_exec($cURL); 

$count++;
if($count >= $max_tries) {
    break;
    $success = false;
}
}
while(curl_errno($cURL) == 28 OR curl_errno($cURL) == 35 OR curl_errno($cURL) == 7);

if($success == false) {

echo 'Payment failed please retry <br />';
// If it got here it tried 5 times and still didn't get a result.
// More code here for what you want to do...

} 

echo 'Curl error: ' . curl_error($cURL);
echo var_dump($response);