PayPal Express Checkout - 隐藏送货地址

时间:2015-07-16 09:39:19

标签: php paypal shipping express-checkout

我在我的商店使用PayPal Express Checkout(Payflow)。我的结帐旅程如下:

  1. 购物篮
  2. 送货地址和选项
  3. 付款选项(Paypal或卡)
  4. 在第3阶段,如果用户选择Paypal,我需要隐藏查看并能够更改Paypal内的送货地址,因为我已经在之前定义了一步。

    当我将页面重定向到paypal时,我的请求是这样的:

    $paypal_query_array = array(
        'USER'       => $user,
        'VENDOR'     => $vendor,
        'PARTNER'    => $partner,
        'PWD'        => $password,
        'TENDER'     => 'P',
        'TRXTYPE'    => 'S', 
        'ACTION'     => 'S',
        'AMT'        => $_SESSION['cost'],
        'CURRENCY'   => $currency,
        'CANCELURL'  => $cancel_url,
        'RETURNURL'  => $return_url,
        'INVNUM'     => $_SESSION['invoice'],
        'ORDERDESC'  => $description,
        'NOSHIPPING' => 1,
        'ADDROVERRIDE' => 0
    );
    
    foreach ($paypal_query_array as $key => $value) {
        $paypal_query[]= $key.'['.strlen($value).']='.$value;
    }
    
    $paypal_query=implode('&', $paypal_query);
    $nvpArray = fetch_data($unique_id, $submiturl, $paypal_query);
    
    if($nvpArray['RESPMSG']=='Approved') {
        $payPalURL = $PayPalURL.urldecode($nvpArray["TOKEN"]);
        header('Location: '.$payPalURL);
    }
    

    我认为NOSHIPPINGADDOVERRIDE会允许这样做,但我仍然可以在paypal页面上获得送货地址和更改功能。

1 个答案:

答案 0 :(得分:1)

NOSHIPPING将完全取消运输。 ADDROVERRIDE将使用您在SetExpressCheckout请求中传递的任何地址,并且不允许买方更改它。

所以听起来ADDROVERRIDE就是你想要的,但你并没有在请求中传递任何地址,所以我对此感到有些困惑。