支付
本页面介绍如何创建支付请求并获取支付结果,主要包含以下步骤:
- 调用createCashierPayment接口创建支付订单。
- 用户在支付界面完成支付。
- 支付完成后,集成商可通过以下两种方式获取支付结果:
- 调用inquirePayment接口查询支付结果,或
- 接收万里汇通过notifyPayment接口发送的支付结果通知。
步骤一:创建支付订单
- 用户在集成商平台上提交支付请求。
- 集成商调用createCashierPayment接口,创建万里汇支付订单。
- 万里汇收到支付请求后,返回响应信息,其中包含重定向URL。
- 集成商使用该URL引导用户跳转至支付界面,此URL位于响应信息
actionForm.redirectUrl
字段中。 - 用户绑定万里汇账号后完成支付,具体详见概述-用户体验部分。
- 用户完成支付后,集成商可调用inquirePayment接口查询支付结果,万里汇会返回支付相关信息,包括支付状态、金额、支付方式和支付订单ID。
- 支付处理完成后,万里汇会调用notifyPayment接口通知集成商支付结果,集成商收到支付结果通知后转发给用户。
步骤二:查询支付结果
集成商可通过以下两种方式获取支付结果:等待万里汇发送的支付结果异步通知,或调用inquirePayment接口查询支付结果。虽然万里汇发送异步通知时有重发机制,但有时由于网路问题,集成商可能无法收到支付成功通知。此时,集成商需调用inquirePayment接口查询支付结果。
若出现以下情况,集成商需调用inquirePayment接口查询支付结果:
- 支付完成5秒后,集成商可调用inquirePayment查询支付结果。
- 收到createCashierPayment响应信息30分钟内未收到notifyPayment接口的通知。
步骤三:接收支付结果通知
支付订单处理完成后,万里汇会调用notifyPayment接口通知集成商支付结果。集成商在收到通知之后,需要完成以下步骤:
- 验签,确保通知由万里汇发出。
万里汇在发出通知时会添加万里汇签名,集成商收到通知后,需对签名进行验证,具体操作指南详见传输报文及加验签部分。
- 发送响应信息,确认信息已收到。
验签确认信息由万里汇发出后,集成商需要向万里汇发送响应信息,通知万里汇信息已收到。
下例为集成商发送至万里汇的响应报文内容:
copy
{
"result":{
"resultCode":"SUCCESS",
"resultMessage":"success.",
"resultStatus":"S"
}
}
若万里汇未收到集成商发回的响应信息,万里汇会重新发送请求通知。万里汇重发通知的规则为:
- 重试总数:7次
- 两次重发请求之间的间隔:2分钟,10分钟,10分钟,1小时,2小时,6小时,15小时