易支付安全、低费率、实时到账

易支付API异步通知-易支付回调处理与状态同步 2.

易支付 API 对接中,异步通知(回调)是交易状态同步的关键,但常遇到回调收不到、重复回调、状态不同步等问题!一旦处理不当,可能导致订单漏单、重复发货,这篇拆解回调核心逻辑与实操方案,帮你精准处理。

一、先搞懂:异步通知的核心逻辑

易支付异步通知是指交易状态变更(如支付成功、退款完成)后,平台主动向商户预设的 “回调地址” 推送交易信息,相当于 “主动报信”。

核心特点:

  • 触发时机:交易状态确认后立即推送(支付成功、退款成功等);

  • 推送方式:HTTP/HTTPS POST 请求,默认 JSON 格式;

  • 重试机制:若回调失败(如超时、返回非 “success”),会按 1/3/5/10 分钟间隔重试,最多重试 5 次。

关键提醒:回调是异步非实时,需通过回调确认交易状态,不能仅依赖前端跳转,避免因网络波动导致状态误判。


二、回调处理:3 步确保接收与验证

1. 回调地址配置(基础前提)

在易支付商户后台 “API 配置” 中,填写公网可访问的 HTTPS 回调地址(HTTP 地址易被拦截),确保:

  • 地址无端口限制(默认 80/443),防火墙未屏蔽易支付回调 IP;

  • 地址稳定可用,避免频繁变更(变更后需重新配置并测试)。

2. 回调数据验证(防篡改关键)

收到回调后,必须先验证数据真实性,再处理业务逻辑:

  • 签名验证:用回调参数(排除 sign)+ 商户 API KEY,按易支付签名算法重新生成签名,与回调中的 sign 对比,不一致则为非法请求;

  • 参数校验:核对 orderNo(商户订单号)、amount(金额)与本地订单一致,防止恶意伪造回调。

3. 正确返回响应(避免重复回调)

验证通过后,必须返回纯字符串 “success”(无多余空格、HTML 标签),易支付收到后停止重试;若返回其他内容,会判定为回调失败,持续重试。


三、状态同步:2 个核心保障方案

1. 回调处理逻辑(避免漏单 / 重单)

  • 幂等性设计:给每个订单加 “回调处理标记”,收到回调后先查标记,已处理则直接返回 “success”,避免重复处理;

  • 业务处理顺序:先更新订单状态(如 “已支付”),再执行后续逻辑(如发货、入账),若业务处理失败,需本地记录日志,后续手动补处理。

2. 主动查询兜底(应对回调丢失)

若未收到回调,不能仅等重试,需搭配主动查询:

  • 定时查询:对未确认状态的订单,每隔 5 分钟调用易支付 “订单查询接口”,获取最新状态;

  • 超时处理:订单创建后 30 分钟未收到回调且查询无结果,标记为 “待核实”,人工介入核对。


四、常见问题排查:4 个高频场景

  • 回调收不到:检查回调地址是否公网可达、HTTPS 配置是否正确,用 Postman 模拟回调测试地址可用性;

  • 重复回调:未正确返回 “success” 或幂等性设计缺失,完善响应格式与订单标记逻辑;

  • 状态不同步:回调参数解析错误(如字段名大小写不匹配),核对参数名与易支付文档一致;

  • 数据篡改:未做签名验证,直接信任回调数据,需补充签名验证步骤。

常见 FAQ

问:易支付 API 异步通知 - 易支付回调处理与状态同步,回调返回什么格式才有效?答:必须返回纯字符串 “success”,无任何多余字符,否则易支付会判定回调失败并重试。

问:按易支付 API 异步通知 - 易支付回调处理与状态同步,未收到回调怎么兜底?答:启用定时查询订单接口,搭配 30 分钟超时人工核对,双重保障订单状态同步,避免漏单。

返回顶部