订单查询机制
业务上下文:
有时,由于交易错误或网络问题,商家的系统可能无法通过常规交易渠道或回调信息接收到明确的交易状态。在这种情况下,商家应定期轮询查询订单界面。
没有查询接口或缺乏有效的轮询策略可能会导致账目差异、客户不满和高交易失败率。
推荐的解决方案
对于“扫码支付(客户呈现模式)”支付场景
当使用CodePay的“扫码支付(客户呈现模式)”方法时,系统会同步返回交易结果。如果处理结果不成功,或者由于网络不稳定而中断,商家应该调用查询订单接口来验证订单的状态。查询的频率和数量可能因个人业务需求而异。通常,建议查询之间的间隔为3-5秒。超过一定时间后,CodePay将自动取消任何未付款的订单。因此,建议将轮询持续时间保持在此超时期内。
其他付款方式
在其他支付场景中,CodePay通过异步回调通知商家订单的支付状态。由于CodePay只发送成功交易的通知,没有订单验证机制的商家可能会发现他们的订单状态永远被列为“未知”。此外,网络中断或回调URL配置错误等问题可能会阻止支付回调到达其预期目的地。
商人最好设定两个不同的营业时间。如果在第一个工作小时内没有收到回调,则应使用查询接口检查订单状态。此查询应持续到第二个工作小时。商家可以根据自己的具体需求,定制这两个业务周期的持续时间、查询频率和间隔。但是,我们建议将第一个营业时间控制在1分钟以内。