首页/ 洞察/ 电子支付集成:开发者开始前必须了解的事项

Kỹ thuật

电子支付集成:开发者开始前必须了解的事项

· 2025年3月18日

支付集成听起来很简单——调用API,处理回调。但任何上线过生产支付系统的开发者都知道:在第二层和第三层,事情会复杂得多。

越南主要集成模式

你需要了解四种主要流程:

  • VietQR:基于EMVCo标准的静态/动态二维码,通过Napas确认。适用于POS和开票场景。注意:默认超时为5分钟,必须明确处理过期情况。
  • VNPAY / VNPAY-QR:带重定向流程的支付网关。需要商户IP白名单;每次IPN回调都必须验证SHA512校验和——许多开发者跳过此步骤,导致遭受重放攻击。
  • MoMo:直接捕获API,以及移动端应用内深链。基于Token,包含用于传递元数据的额外数据字段。
  • Stripe(用于国际支付):带Webhook的Payment Intent模式。幂等键是防止网络重试导致重复扣款的必要手段。

耗费我们最多时间的3个错误

1. 未处理待定状态:从用户完成支付到IPN到达服务器,可能存在0.5至30秒的窗口期。在此期间,订单既不应该是”失败”也不应该是”成功”——需要单独的”pending_payment”状态,否则用户会看到错误提示并尝试重新支付。

2. 依赖重定向返回URL:返回URL只是UX机制——用户可能在跳转回来之前就关闭了标签页。所有订单处理逻辑必须在IPN/Webhook处理器中完成,而不是在返回URL回调中。

3. 只在沙箱测试:越南支付网关的沙箱通常无法准确模拟超时、网络错误和重复通知。上线前需要使用真实测试卡/账户的预发布环境来捕获边界情况。

上线前检查清单

  • ☑ 验证每次IPN回调的签名/校验和
  • ☑ 幂等性检查——同一个transaction_id绝不处理两次
  • ☑ 使用指数退避重试处理超时和网络故障
  • ☑ 记录所有原始请求/响应数据(已脱敏)供调试使用
  • ☑ 每日与支付网关后台进行对账
  • ☑ 当IPN延迟超过2分钟或失败率超过0.5%时发出告警

支付系统故障意味着收入中断。花2至3天把它做对,永远比凌晨2点调试生产问题来得划算。

相关文章

继续探索技术洞察

查看全部

白标软件是什么?什么时候该用它而不是从头自建?

2024年12月5日

2025年:为什么每个多渠道品牌都需要OMS

2025年2月25日

外包 vs 自建团队:什么时候该雇用外部开发团队?

2025年4月10日

AI在软件开发中的应用:Eggstech 18个月真实实践

2025年1月14日

立即致电 联系我们