最佳实践

本文为您介绍以下最佳实践方案,帮助您提升产品体验及支付效率:

客户端优化 仅 App 端

主要涉及以下内容的优化:

  • 安卓端如何处理消除歧义框。
  • 如何判断买家是否安装支付方式应用。
  • 订单如何在商户应用内完成支付。

请参阅支付推进链接了解关于 App 终端的更多内容。

回跳商户页展示

处理重定向问题

当买家成功完成支付,但在跳转到您指定的 paymentRedirectUrl 时遇到问题,无论是由于网络问题还是支付方式的限制,请注意以下两点:

  • 不能将客户端重定向作为判断支付成功的依据。
  • 如果支付方法页面的 paymentRedirectUrl 未能重定向到商户页面,买家可以手动点击原始商户页面。为了避免买家误以为订单未支付而再次尝试支付,建议在原始商户页面上实现一个弹出窗口,用于查询交易结果。当买家点击此弹出窗口时,应显示交易结果,防止重复支付尝试。

支付失败重试

订单的支付尝试失败,且买家可以为同一订单重试支付时,我们建议遵循以下集成流程以实现无缝体验:

  1. 在支付请求中,将 referenceOrderId 设置为订单 ID,将 paymentRequestId 设置为支付订单 ID。
  2. 如果需要对同一订单重试支付,首先检查订单状态。如果支付已经成功,向买家显示“已完成支付”。如果没有,再次调用 支付 接口以获取新的 normalUrl 进行重定向。虽然 referenceOrderId 保持不变,因为它代表相同的订单,但后续支付尝试时必须更新 paymentRequestId
  3. 确保每个商户订单只与一个成功的支付相关联。如果检测到单个订单有多个成功的支付,调用 取消支付 接口来为买家发起退款。
  4. 对于不支持退款的支付方式,建议在发起新支付之前取消原始支付。

根据接入的支付方式是否支持退款,集成流程有所不同。

一个订单可先发起新的支付,若出现两个成功的支付单,再撤销其中一个即可。

APO-最佳实践-支持退款.png

设置接口超时时间

APO 提供了多种支付方式的直接集成能力。在某些情况下,支付 接口的处理延迟可能导致响应不及时,进而影响买家被重定向到支付推进链接,从而降低支付成功率并影响用户体验。因此,建议将接口超时时间设置为 10 秒,以提高响应成功率。若 支付 接口调用超时,建议重新发起原始请求以获取支付推进链接。