PayPal支付集成问题:结账时无法修改国家设置
解决PayPal结账时国家信息无法修改的问题
嘿,我一眼就发现问题所在了——你代码里的address_override参数设成1啦!这个参数的作用就是强制锁定你预设的地址信息,不让用户在PayPal结账页面修改任何地址字段,包括国家信息。
要解决这个问题,只需要做一个小改动:
- 把
<input type="hidden" name="address_override" value="1">改成<input type="hidden" name="address_override" value="0">,或者直接删掉这个隐藏字段(因为它的默认值就是0)。
修改后的完整代码如下:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <input type="hidden" name="cmd" value="_s-xclick"> <div class="form-group"> <input type="hidden" name="address_override" value="0"> <!-- 这里改为0 --> <input type="hidden" name="address1" value="Shipping Address"> <input type="hidden" name="address2" value="Building name and office number"> <input type="hidden" name="city" value="Tokyo"> <input type="hidden" name="zip" value="2024"> <input type="hidden" name="country" value="JP"> </div> </form>
再给你补充点细节:
- 当
address_override=0时,PayPal会把你预设的地址(包括JP这个国家)作为默认值展示在结账页面,用户可以自由修改所有地址相关内容,包括切换国家。 - 如果完全不需要预设地址,直接删掉
address_override和所有地址字段就行,用户会看到PayPal默认的地址填写界面。
这样调整后,用户就能正常修改国家信息啦!
内容的提问来源于stack exchange,提问作者Blues Clues




