1

我在我的 PayPal 配置文件运输计算器中设置了 2 个运输选项,标准运输和取件。我希望 Standard 成为我的“立即购买”按钮的默认设置。在买家结账时的下拉菜单中,默认值为 Pickup(我有一个 $0 选项)。我找不到如何更改它,以便将 Standard 设置为默认值。(“取货”将是一个例外,应该有意选择。)是否有 HTML 行我可以放入按钮代码,或者我可以使用按钮“变量”来更改默认运输方式,这样它就不仅仅是跳上最便宜的选择?

4

1 回答 1

1

如果您使用的是网站支付标准“立即购买”和“添加到购物车”按钮,则无法执行此操作。它默认为最便宜的可用选项。您可以设置默认运输的唯一方法是使用即时更新回调 API。这适用于使用购物车上传方法或使用 Express Checkout 设置默认运输。您可以在此处以及第 55 页的开发人员指南中查看有关 API 的信息。以下是我有时用于测试的 PHP 回调脚本的简单示例,如果它有助于您更好地理解它。我不确定您将使用哪种语言编写脚本。

<?php

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req = "&$key=$value";
}

// Populate variables into local variables
$method = $_POST['METHOD'];
$version = $_POST['CALLBACKVERSION'];
$token = $_POST['TOKEN'];
$currencycode = $_POST['CURRENCYCODE'];
$localecode = $_POST['LOCALECODE'];
$street = $_POST['SHIPTOSTREET'];
$street2 = $_POST['SHIPTOSTREET2'];
$city = $_POST['SHIPTOCITY'];
$state = $_POST['SHIPTOSTATE'];
$country = $_POST['SHIPTOCOUNTRY'];
$zip = $_POST['SHIPTOZIP'];

// Setting shipping based on country first
// Then setting shipping based on state if the country is U.S.
// Echo response back to PayPal
if ($country == "US"){
    if ($state == "NE"){
    echo "METHOD=CallbackResponse&OFFERINSURANCEOPTION=true&L_SHIPPINGOPTIONNAME0=UPS&L_SHIPPINGOPTIONLABEL0=Ground&L_SHIPPINGOPTIONAMOUNT0=3.00&L_TAXAMT0=1.00&L_INSURANCEAMOUNT0=9.00&L_SHIPPINGOPTIONISDEFAULT0=true";
    }elseif ($state == "KS"){ 
    echo "METHOD=CallbackResponse&OFFERINSURANCEOPTION=true&L_SHIPPINGOPTIONNAME0=UPS&L_SHIPPINGOPTIONLABEL0=Ground&L_SHIPPINGOPTIONAMOUNT0=6.00&L_TAXAMT0=12.00&L_INSURANCEAMOUNT0=81.00&L_SHIPPINGOPTIONISDEFAULT0=true";
    }else{
    echo "METHOD=CallbackResponse&NO_SHIPPING_OPTION_DETAILS=1&CALLBACKVERSION=61";
    }
}elseif ($country == "CA"){
    echo "METHOD=CallbackResponse&NO_SHIPPING_OPTION_DETAILS=1&CALLBACKVERSION=61";
}else{
    echo "METHOD=CallbackResponse&OFFERINSURANCEOPTION=true&L_SHIPPINGOPTIONNAME0=UPS&L_SHIPPINGOPTIONLABEL0=Ground&L_SHIPPINGOPTIONAMOUNT0=10.00&L_TAXAMT0=2.00&L_INSURANCEAMOUNT0=2.00&L_SHIPPINGOPTIONISDEFAULT0=true";
}

?>
于 2013-03-13T17:12:07.897 回答