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