通知规则

顾客支付完成后(订单状态为“已支付”),支付FM把相关支付结果和相关信息发送给商户的业务系统,商户系统需要接收处理该消息,并返回应答。 如果支付FM收到商户的业务系统应答超时或者不是返回success,支付FM认为通知异常,支付FM会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但不保证通知最终能成功。(首次实时通知异常后重发通知频率为15s/30s/3m/10m/20m/30m/60m/3h/6h/ - 总计 11h3m45s)

支付结果通知

注意:
1、notify_url就是您的业务系统的开放接口,请保证可以直接请求访问;不要做301、302等跳转;不要做登录验证等
2、系统会记录返回异常的部分记录,在商户订单的失败详情中供查阅
3、接口请求默认超时3s,所以您的接口执行时间要在3s内执行完毕
4、这是GET请求,您可以参考请求示例拼接请求串,通过Postman调试您的接口
5、结果通知可能会多次请求,请务必参考下文特别提醒的建议处理
6、若多次回调异常,仍不按照接口规范进行调整,根据《支付FM用户条款》本公司将暂停或终止您对支付FM服务的使用

特别提醒:
1、商户系统对于支付结果通知的内容一定要做签名验证,并校验返回的订单金额是否与商户侧的订单金额一致,防止数据泄漏导致出现“假通知”,造成资金损失。
2、当收到通知进行处理时,首先检查对应业务数据的状态,判断该通知是否已经处理过,如果没有处理过再进行处理,如果处理过直接返回结果成功暨字符串success。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。

通知类型:服务器异步通知(notify_url)

请求方式:GET

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid String 1001 对应支付FM平台的商户号。在支付FM商户后台【用户中心】处可查看,该值不是用户名。
支付订单号 trade_no String 20160806151343349021 聚合支付订单号
商户订单号 out_trade_no String 20160806151343349 商户系统内部的订单号
支付方式 type String alipay,wxpay
商品名称 name String VIP会员
商品金额 money String 1.02
支付状态 trade_status String TRADE_SUCCESS
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法见下文
签名类型 sign_type String MD5 默认为MD5

MD5签名算法

KEY 对应支付FM用户中心的 接入密钥
请对参数按照键名进行降序排序(a-z),sign sign_type 和空值不进行签名!。 排序后请操作参数生成或拼接一个url请求字符串 例如 a=b&c=d&e=f (Url值不能携带参数!不要进行urlencode) 再将拼接好的请求字符串与平台生成的Key进行MD5加密得出sign签名参数 md5 ( a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符!不是字符!),md5为小写

通知IP列表

请需要设置IP地址请求访问白名单的用户注意设置防火墙等安全工具中的IP地址段,之前未有设置过IP段的用户不需做调整。

如果你的防火墙不支持掩码形式,直接一个个添加IP。如果掩码形式没有/27这种形式可以增加/8、/16、/24都可以 回调通知出口IP/掩码形式(IP地址范围)列表:

  1. 47.94.194.102/24(47.94.194.102-47.94.194.112)【202439日启用】
  2. 43.143.170.189/24(43.143.170.189-43.143.170.199) 2024429日启用】
  3. 39.107.193.170/24 (39.107.193.170-39.107.193.180) 2024430日启用】
  4. 47.104.216.190/24(47.104.216.190-47.104.216.195) 2024914日启用】