Paytm应用回调URL Scheme问题:同商户ID下App跳转异常
解决同一Merchant ID下多App Paytm支付跳转错误的问题
问题根源很明确:iOS系统的URL Scheme是全局唯一标识,你两个App都用了paytm<MID>这个相同的Scheme,系统没办法区分该唤起哪个App,只会默认打开最后安装的那个(或者系统优先级更高的那个),所以才会出现从App1支付完跳去App2的情况。
直接给你可行的解决步骤:
- 给每个App配置专属的唯一URL Scheme:比如App1改成
paytm<MID>-app1,App2改成paytm<MID>-app2,在各自的Info.plist里修改CFBundleURLSchemes数组对应的字段就行。 - 发起支付请求时指定对应App的回调Scheme:Paytm的支付接口肯定支持传入自定义回调地址,你在构建支付请求参数的时候,把
callbackUrl(或者SDK里对应的参数名)设为当前App的专属Scheme,比如App1传paytm<MID>-app1://pay-callback,App2传paytm<MID>-app2://pay-callback。这样支付完成后,Paytm会调用这个唯一的Scheme,精准唤起发起支付的那个App。 - 验证配置:
- 确认两个App的Scheme没有重复,也别和其他第三方App撞了
- 走一遍完整支付流程,测试跳转是否正确
- 如果Paytm后台需要配置回调域名/Scheme白名单,记得把两个专属Scheme都加进去
额外提醒:别只改Info.plist,一定要在支付请求里明确指定回调Scheme,Paytm SDK通常不会自动读取Info.plist的Scheme作为回调地址,得手动传参。
内容的提问来源于stack exchange,提问作者Sahil Sahu
相关产品推荐
相关产品推荐

