如何设置通用PayPal按钮支持印度用户付INR、其他用户付USD收款
PayPal通用多币种收款按钮实现方案
前置准备
- 登录PayPal商家后台,进入「支付和收款」-「管理币种」页面,同时添加USD、INR两个币种,确保账户支持这两类币种的收款权限,无需额外申请API权限。
按钮代码改造
你当前使用的普通静态收款按钮代码中,默认存在固定币种的隐藏字段currency_code,仅需将该字段改为动态赋值即可实现需求,无需对接PayPal API:
- 删掉原按钮代码中固定的
currency_code隐藏字段,替换为带id的动态字段:
<!-- 替换原固定币种字段 <input type="hidden" name="currency_code" value="USD"> 为以下内容 --> <input type="hidden" name="currency_code" id="pp_currency" value="USD">
- 增加前端地区判断逻辑,动态修改币种值:
你可以通过IP属地识别、或者页面上给用户提供币种/地区选择项的方式判定用户所属地区,如果用户来自印度则将币种设为INR,其余地区默认保留USD即可,示例逻辑如下:
// 示例:userCountry为你获取到的用户所属国家ISO代码 if (userCountry === 'IN') { document.getElementById('pp_currency').value = 'INR'; }
特殊说明
如果你使用的是PayPal加密托管按钮,需要先到PayPal后台的按钮编辑页面,将币种字段设置为允许在按钮代码中自定义修改,否则动态传参会被PayPal拦截失效。
验证方式
- 模拟印度地区访问页面,提交付款请求前确认
currency_code参数值为INR,付款流程到支付密码页无币种报错即可 - 非印度地区访问确认参数为USD,付款流程正常即可
内容的提问来源于stack exchange,提问作者user6790571
相关产品推荐
相关产品推荐

