You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PayPal JavaScript API传递收货地址不生效及禁止地址修改问题

问题原因与修正方案

核心错误点

  • 字段名使用错误:shipping_detail 下的地址字段名为 address,你代码里写的 address_portable 是PayPal官方文档里对该地址对象的类型定义名称,不是实际传参的字段名。
  • 缺少订单级配置项:需要新增 application_context 配置,将 shipping_preference 设置为 SET_PROVIDED_ADDRESS,该配置会强制PayPal使用你传入的收货地址,同时禁止用户在PayPal结账页面修改地址,没有该配置时PayPal默认会优先读取买家账号保存的地址。

修正后的完整代码

createOrder: function(data, actions) {
      return actions.order.create({
        // 新增订单上下文配置,控制结账页面行为
        application_context: {
          shipping_preference: 'SET_PROVIDED_ADDRESS'
        },
        purchase_units: [{
          amount: {
            value: '34'
          },
          shipping_detail: {
            name: {
              full_name: 'Hans Muller'
            },
            // 把address_portable改为address
            address: {
              address_line_1: 'Rohrd. 16',
              address_line_2: 'Rohrdorfer Street',
              admin_area_2: 'Stephanskirchen',
              admin_area_1: 'Bayern',
              postal_code: '83071',
              country_code: 'DE',
            },
          },
        }]
      });
    },

    onApprove: function(data, actions) {
      return actions.order.capture().then(function(details) {
        console.log('Success');
      });
    },

    onError: function (err) {
      console.error(err);
    }

验证注意事项

  • 如果修改后沙箱测试仍显示默认地址,可清除浏览器缓存后重新测试,或更换未保存过默认地址的沙箱买家账号验证。
  • 传入的地址需要符合对应国家的格式规范,若地址校验不通过,PayPal会自动 fallback 到买家账号默认地址。

内容的提问来源于stack exchange,提问作者Merlin0216

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:39:02