能否结合Vue Native使用PayPal Here网页SDK开发对接iOS端PayPal Here应用的iOS应用?
问题结论与可行方案说明
1. Vue Native + PayPal Here网页端SDK方案可行性判断
你之前得到的否定反馈是准确的,该方案确实无法落地,原因有两点:
- PayPal Here网页端SDK仅支持标准浏览器环境运行,Vue Native的底层是原生应用渲染架构,没有完整的浏览器DOM和BOM环境,无法直接调用网页端SDK的接口
- iOS端官方PayPal Here应用没有对外开放供网页SDK跨应用调用的权限,即使你在WebView中加载网页端SDK,也无法和本地安装的PayPal Here应用完成通信
2. 可落地的替代对接方案
- 方案1:对接PayPal REST API查询交易状态
你可以在使用PayPal Here POS收款时,提前将本次交易对应的商品ID、金额等信息和PayPal交易单号做绑定,之后在你的网页应用后端直接调用PayPal官方交易查询接口,即可获取对应商品的支付状态。该方案无需修改现有PayPal Here收款流程,改造成本最低,是官方推荐的对接方式 - 方案2:通过URL Scheme/Universal Links调起iOS端PayPal Here应用
PayPal Here iOS应用支持通过自定义URL Scheme直接调起收款页面,你可以把商品标识、应收金额等参数拼接在跳转链接中,用户完成收款后可以通过配置回调链接跳转回你的应用,同时携带交易结果参数。如果使用Vue Native开发,只需要封装原生跳转与回调接收的能力即可实现全流程对接。 - 方案3:给现有网页应用加iOS原生壳中间层
如果你不想大幅修改现有网页应用的逻辑,可以把网页应用封装在iOS WKWebView原生壳中,由原生壳处理和PayPal Here应用的跳转、参数传递逻辑,网页端仅需要和原生壳做JS交互即可拿到交易状态,原有网页代码改造成本极低。
3. 对接注意事项
- 所有交易敏感参数校验、交易状态确认逻辑必须放在后端处理,禁止完全信任前端返回的结果,避免出现交易数据被篡改的风险
- 无论采用哪种对接方案,拿到前端回调的交易结果后,都需要调用PayPal官方后端接口二次校验交易真实性和状态,再更新你的网页应用中的商品购买状态
内容的提问来源于stack exchange,提问作者Andrew Michienzi
相关产品推荐
相关产品推荐

