退款

用户完成付款后在商家同意的情况下需要退款时,Ping++ 的管理平台提供了退款功能,也可以通过 Ping++ Server SDK 发起退款。以下是退款流程图(如果是支付宝 mapi 版本需要退款,则请参考 支付宝版本退款流程 - mapi 版本 ):

refund_paymentflow

Ping++ 退款 Refund 功能 只需要服务端 SDK,所以需要你在客户端为用户设计退款入口。

  1. 服务端调用 Server-SDK 封装的发起退款方法请求 Ping++ 。
  2. Ping++ 响应你的服务端请求,返回退款 Refund 对象,请求是否成功可以根据返回的 Refund 中的 failure_msg 来判断。如果该字段为空则代表退款请求成功,不代表退款已经成功到账。
  3. 在 Ping++ 管理平台配置 Webhooks 的 refund.succeeded 事件。退款成功时,Ping++ 会主动以 POST 方式向你配置在管理平台上的 Webhooks 通知地址发送退款结果。
  4. 同时,建议在处理逻辑中添加主动查询机制:在可接受的时间范围内,如果你服务端没有收到 Webhooks 的通知或退款失败,你也可以调用 Server-SDK 封装的查询方法,主动向 Ping++ 发起请求来获得退款状态,该查询结果可以作为交易结果。

注意事项

  1. 使用 Ping++ 退款功能的前提是你已经通过 Ping++ 支付接口完成付款。
  2. 如果未通过 Ping++ 进行退款(即直接从渠道的平台退款),则 Ping++ 不会同步渠道退款状态。
  3. 若退款订单较多,可使用 Ping++ 管理平台上的 批量退款功能 或者 API 接口 批量退款

下一步企业付款