更新时间:2023-04-06 15:04:55收藏我的文档设置返回文档交易创建的时间调用接口成功,不等于订单创建成功。接口调用生成交易是否已创建订单,在支付宝中创建订单时间说明如下。当面付●统一收单交易支付接口(条码支付):输入付款码,接口调用成功后订单创建。 注意:生产环境如果支付金额超过 1000 元,需唤起收银台输入支付密码,订单才会创建。●统一收单线下交易预创建(扫码支付):生成二维码,支付宝客户端扫码唤起收银台订单创建。●统一收单交易创建接口:调用接口成功后订单创建。手机网站支付●支付宝客户端支付:用户点击支付,唤起支付宝收银台后,输入正确完整的支付密码后订单创建。●h5 页面登录支付:用户点击支付,输入账号与支付密码登录,点击确认支付,输入正确完整的支付密码后订单创建。电脑网站支付●支付宝客户端扫码支付:生成二维码使用支付宝客户端扫码唤起收银台后订单创建。●pc 端登录支付:用户点击支付,输入账号与密码登录成功后,订单创建。app 支付●支付宝客户端支付:用户点击支付,唤起支付宝收银台后,输入正确完整的支付密码后订单创建。●h5 页面登录支付:用户点击支付,输入账号与支付密码登录,点击确认支付,输入正确完整的支付密码后订单创建。交易状态参数说明交易状态 trade_status 参数枚举名称枚举说明触发条件描述wait_buyer_pay交易创建,等待买家付款交易创建trade_closed未付款交易超时关闭,或支付完成后全额退款交易关闭trade_success交易支付成功,可退款支付成功trade_finished交易结束,不可退款交易完成状态说明●wait_buyer_pay:交易创建,等待买家付款。●trade_closed:在指定时间段内未支付时关闭的交易或在交易完成全额退款成功时关闭的交易。●trade_success:商家签约的产品支持退款功能的前提下,买家付款成功。●trade_finished:商家签约的产品不支持退款功能的前提下,买家付款成功。或者,商家签约的产品支持退款功能的前提下,交易已经成功并且已经超过可退款期限。注意: 商家必须根据支付宝不同类型的业务通知,正确的进行不同的业务处理,并且过滤重复的通知结果数据。在支付宝的业务通知中,只有交易通知状态为 trade_success 或 trade_finished 时,支付宝才会认定为买家付款成功。另外如果签约的产品支持退款,并且对应的产品默认支持能收到 trade_success 或 trade_finished 状态,该笔会先收到 trade_success 交易状态,然后超过 交易有效退款时间 该笔交易会再次收到 trade_finished 状态,实际该笔交易只支付了一次,切勿认为该笔交易支付两次。交易状态的变化交易状态迁移图●交易创建成功后,用户支付成功,交易状态转为 trade_success(交易成功)。●交易创建成功后,用户未付款交易超时关闭交易状态转为 trade_closed(交易关闭)。●交易成功后,交易全额退款交易状态转为 trade_closed(交易关闭)。●交易创建成功后,用户支付成功后,若用户商品不支持退款,交易状态直接转为 trade_finished(交易完成)。●交易成功后,有效退款时间 内没有退款,交易状态转为 trade_finished(交易完成)不可退款。注意:交易成功后部分退款,交易状态仍为 trade_success(交易成功),如果一直部分退款退完所有交易金额则交易状态转为 trade_closed(交易关闭),如果未退完所有交易金额,超过有效退款时间后交易状态转为 trade_finished(交易完成)不可退款。交易状态与异步通知异步通知的触发是依据交易的状态来触发的,不同的支付接口触发条件也不相同,新版本的支付接口默认触发条件如下,具体以实际接收到的交易状态数据为主。当面付的支付接口默认 trade_success(交易成功)触发,其余交易状态均不触发异步通知。app 支付接口默认 trade_success(交易成功)、trade_closed(交易关闭)、trade_finished(交易完成)三种状态均会触发异步通知,wait_buyer_pay(交易创建)不触发异步通知。手机网站支付接口默认 trade_success(交易成功)、trade_closed(交易关闭)、trade_finished(交易完成)三种状态均会触发异步通知,wait_buyer_pay(交易创建)不触发异步通知。电脑网站支付接口默认 trade_success(交易成功)状态触发异步通知,trade_closed(交易关闭)、trade_finished(交易完成)、wait_buyer_pay(交易创建)不触发异步通知。退款接口是否触发异步alipay.trade.refund(交易退款接口)的异步通知是依据支付接口的触发条件来触发的,异步通知也是发送到支付接口传入的异步地址上。部分退款部分退款交易状态是处于 trade_success(交易成功),此时因部分退款导致交易金额变动,会触发异步通知。全额退款交易成功后全额退款,交易状态会转为 trade_closed(交易关闭),此时根据不同的支付接口触发条件也不同。例如 app 支付接口 trade_closed(交易关闭)状态触发异步,此时就会收到全额退款的异步通知。而电脑网站支付 trade_closed(交易关闭)状态不会触发异步,就不会有全额退款的异步通知。注意:退款的异步信息和正常支付的异步信息的返回信息是不一样的,退款的信息中会有 refund_fee(退款总金额)、gmt_refund(交易退款时间)参数,在正常支付成功的异步信息中是没有的。与交易状态有关的常见报错调用交易查询或是关闭接口报错:交易不存在这个报错一般就是交易没有创建所以调用查询接口报错:交易不存在,建议查看本帖第一点排查支付接口是否成功创建订单。支付成功后多次收到异步通知,但是已经成功返回了 success,还是重复通知支付成功多次触发异步建议查看第三点是否是其它交易状态触发的,所有交易状态触发的异步通知都必须返回 success 才不会多次通知。支付接口报错:交易买家不匹配 一般这个报错是用户使用自己的账号支付创建了订单,以电脑网站支付为例:用户扫码成功交易创建,但是未支付,在订单超时时间内,商家使用相同的外部订单号再次生成二维码,由另一位用户扫码支付就会出现这个报错,即该订单已与第一位扫码支付的用户绑定,只能有该商家发起支付,出现这个报错商家更改外部订单号重新创建。