咨询PayPal无代码结账中NO_SHIPPING参数的正确放置位置
解决PayPal托管按钮索要收货地址的问题
PayPal的无代码托管结账按钮默认会向买家索要收货地址,要关闭这个需求,NO_SHIPPING相关参数的配置方式和普通按钮不同,具体说明如下:
- 不要直接在script的src链接中添加参数,
NO_SHIPPING不属于SDK初始化参数,加在这里不会生效。 - 你之前尝试的后台SHIPPING下拉调整(设为1)出现问题,大概率是因为托管按钮的后台配置与前端代码逻辑冲突导致的。
- 正确的前端配置方式:在
paypal.HostedButtons()的配置对象中添加shippingPreference: 'NO_SHIPPING'参数,覆盖默认的收货地址要求。修改后的完整代码如下:
<script src="https://www.paypal.com/sdk/js?client-id=BAAM0U-DXXXq1gV7Vz_uWYyUwd_NoJ454Wm1dqvRdWby1tQ_mbqfqKblxDrOWeZlFrfiPCTykrMU1MECJ8&components=hosted-buttons&disable-funding=venmo¤cy=GBP"></script> <div id="paypal-container-GUJRJW5XXXQGY"></div> <script> paypal.HostedButtons({ hostedButtonId: "GUJRJW5XXXQGY", shippingPreference: 'NO_SHIPPING' // 添加该参数以隐藏收货地址要求 }).render("#paypal-container-GUJRJW5XXXQGY") </script>
- 备选方案:如果前端配置不生效,可登录PayPal商家后台,找到对应ID的托管按钮,编辑时在「付款流程」设置里勾选「不要求提供送货地址」,保存后前端代码无需修改即可生效。
内容的提问来源于stack exchange,提问作者Cascade
相关产品推荐
相关产品推荐

