You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Swift集成PhonePe SDK支付成功后404错误问题求助

问题分析与解决方案

核心问题原因

  1. URL Scheme未配置:代码中appSchema为空,导致PhonePe支付完成后无法正确跳转回你的APP,触发404错误
  2. redirectUrl与callbackUrl混用:两者作用不同,不能用同一个地址。callbackUrl是服务器端异步通知接口,redirectUrl是APP跳转链接
  3. redirectMode配置错误:POST模式不适合APP跳转场景,会导致跳转失败
  4. 前端回调不可靠:SDK的前端回调依赖跳转成功,一旦跳转失败会误判交易状态,但实际PhonePe后台已完成扣款

具体修复步骤

1. 配置APP URL Scheme

  • 在iOS项目的Info.plist中添加URL Types:
    • Identifier填自定义标识(比如com.yourcompany.payment)
    • URL Schemes填你的APP专属scheme(比如yourapppayment://)
  • 代码中appSchema参数替换为这个scheme:
    appSchema: "yourapppayment://" // 替换为你的实际scheme
    

2. 区分redirectUrl和callbackUrl

  • callbackUrl:设置为你的服务器端异步通知接口(必须是公网可访问的HTTPS地址),用于PhonePe后台主动推送交易结果
  • redirectUrl:设置为APP的scheme链接(比如yourapppayment://payment-result),用于支付完成后跳转回APP
  • 修改payload中的对应字段:
    "callbackUrl": "https://your-server-domain.com/api/phonepe/callback",
    "redirectUrl" : "yourapppayment://payment-result",
    "redirectMode" : "GET"
    

3. 修正redirectMode

将redirectMode从POST改为GET,APP跳转仅支持GET模式。

4. 验证签名计算逻辑

  • 确认sha256函数的实现正确,输入顺序为base64EncodedString + apiEndPoint + salt,不能颠倒
  • 确认salt和saltIndex是PhonePe官方提供的正确值(生产环境和测试环境的salt不同)

5. 增加服务器端交易状态校验

绝对不能只依赖SDK的前端回调:

  • 服务器端调用PhonePe的交易状态查询API,主动获取订单最终状态
  • 当APP收到失败回调时,先触发服务器查询,再根据查询结果更新本地订单状态,避免误判

6. 排查404错误

  • 用抓包工具(如Charles)查看跳转请求的具体URL,检查是否存在拼写错误、特殊字符未转义等问题
  • 确认redirectUrl的scheme已在系统中注册,可通过Safari输入该scheme测试是否能打开你的APP

相关负责方

  • 你的iOS开发团队:负责APP端的Scheme配置、参数调整、SDK回调逻辑优化
  • 你的后端开发/运维团队:负责维护callbackUrl接口的可用性、实现交易状态查询逻辑
  • PhonePe技术支持团队:协助排查SDK参数规范、签名正确性、后台通知推送问题,提供交易状态查询的技术支持

内容的提问来源于stack exchange,提问作者vani jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:22:17