使用PayPal Smart Buttons的Javascript SDK是否存在安全风险?
该情况属实,但不属于接入方式存在的安全漏洞,无需过度担心:
- PayPal的
client-id本身就是官方设计为可公开的前端标识,和需要严格保密的PayPal应用secret属于完全不同的两类凭证,单独暴露client-id不会直接产生资金损失风险。 - 恶意用户即使拿到你的client-id,也无法仅通过该参数完成违规操作:所有支付回调只会发送到你在PayPal后台为该client-id绑定的固定回调地址,恶意方无法获取支付成功凭证,也不能触发你侧的发货、会员开通等业务逻辑。
- 你可以通过以下操作进一步降低风险:
- 在PayPal应用后台配置仅你的站点域名可调用该client-id,PayPal会直接拦截其他域名的非法初始化请求
- 所有交易的金额、订单信息必须在后端二次校验,收到支付回调后优先调用PayPal官方接口验证订单真实性、金额匹配度,再执行后续业务操作
- 生产环境的PayPal应用secret绝对不能泄露到前端代码、公开配置文件中
内容的提问来源于stack exchange,提问作者marlon1215
相关产品推荐
相关产品推荐

