Pyvio Open API Docs
首页
指南
收款
付款
换汇
收单
湃付卡
其它
首页
指南
收款
付款
换汇
收单
湃付卡
其它
  • 附录

    • 异步通知
      • 通知频率
      • 通知地址
      • 应答方式
      • 常见问题
    • 交易用途
    • 结汇附录
  • 文件系统

    • 获取文件id
  • mock操作

    • 模拟操作
目录

异步通知

  • 只有通过API发起的申请,对应的结果才会通过API通知返回。

为保证数据的一致性,在交易处理完毕后Pyvio系统会按照商户调用预下单请求前对该事件的订阅地址,通过 POST 请求的形式将业务处理结果以 application/json 格式 通知 (opens new window) 到商户系统。

webhook

通常情况下,只有业务处理成功的订单才会触发异步通知,特殊情况会在具体的异步通知文档中提及。

注意

以下注意事项商户务必要明晰:

  1. “幂等性”:同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。 推荐的做法是:当商户系统收到通知进行处理时,先检查对应业务数据的状态并判断该通知是否已经处理。如果未处理,则进行处理;如果已处理,则直接返回结果成功(http状态码200,报文体为字符串 OK)。在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
  2. “时效性”:在极少情况下可能发生异步通知无法正常通知到您服务器的情况,请务必对接主动查单接口。 根据业务场景设置合理的请求间隔,比如在支付后1小时还没有异步通知时可以发起主动查单请求。
  3. “防抵赖”:商户系统对异步通知的内容一定要做签名验证(签名验证的公钥为商户后台界面的Pyvio公钥),并校验通知的信息是否与商户侧的信息一致,防止数据泄漏导致出现“假通知”,造成资金损失。

# 通知频率

如果商户未按正常处理做出应答(http状态码200,报文体OK),Pyvio将认为该次通知是失败的,间隔一定时间后会尝试再次通知。 一般情况下,24小时以内会完成多次异步通知(通知的间隔频率一般是:5s、10s、15s、30s、240s、600s、2700s、3600s、14400s,即Pyvio处理成功后的 5s、15s、30s、1m、5m、30m、1h30m、5h30m)。

提示

  1. Pyvio可能根据系统负载和业务情况,在不通知商户的情况下调整异步通知的时间间隔和次数,请勿根据该时间间隔和次数做业务处理。
  2. 异步通知是最大可能交付,但不排除失败的情况。请务必对接主动查询接口,在合理的时间间隔后主动请求对应的查询接口(频繁调用可能受到配额限制)。
  3. Pyvio对商户侧的连接和读取超时时间均为5秒,请尽可能在此时间内返回结果,否则可能会导致延迟通知或重复通知。

# 通知地址

在商户后台订阅事件,一个通知链接可以订阅1个或多个事件,商户内部自己根据eventType做好路由即可。

img.png

# 应答方式

正确处理的应答标准:

状态码:200
报文体:OK(纯文本)

异常处理的应答方式:

状态码:任意
报文体:非OK

# 常见问题

  • 接收报文验签失败?

需要request流的整体数据参与签名,而非事件体data字段。

  • 什么情况下会没有回调通知?

如果接口的返回状态是 Approved,就可能不会有回调,Pending 就会有回调。

  • 回调的请求头里回有我们的商户的信息吗?

没有。

交易用途

交易用途→

© PYVIO Rights Reserved
  • 浅色模式
  • 阅读模式