11月27, 2018

支付接入相关

相关接口

支付宝

微信:

交易状态

0未支付,1已关闭,2支付失败,3支付成功,4转入退款

微信:SUCCESS—支付成功REFUND—转入退款NOTPAY—未支付CLOSED—已关闭REVOKED—已撤销(付款码支付)USERPAYING--用户支付中(付款码支付)PAYERROR--支付失败(其他原因,如银行返回失败)

支付宝:交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款)

退款状态

0待确认,1已确认,2未提交,3已提交,4退款成功,5退款异常,6退款关闭

微信:

SUCCESS—退款成功 REFUNDCLOSE—退款关闭。 PROCESSING—退款处理中 CHANGE—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款。

支付宝: 交易状态为TRADE_CLOSED,receipt_amount为0为退款

退款条件

微信:

  1. 交易时间超过一年的订单无法提交退款
  2. 微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号
  3. 请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次,错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次
  4. 每个支付订单的部分退款次数不能超过50次

支付宝:

  1. 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款
  2. 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。
  3. 总退款金额不能超过用户实际支付金额

退款状态查询

微信

result.get("refund_count");//当前返回退款笔数
                result.get("transaction_id");//微信订单号
                result.get("out_trade_no");//商户系统内部订单号
                result.get("total_fee");//订单总金额,单位为分
                result.get("refund_id_0");//微信退款单号
                result.get("out_refund_no_0");//商户退款单号
                //$n为下标,从0开始编号。
                result.get("refund_channel_0");//退款渠道,ORIGINAL—原路退款 BALANCE—退回到余额 OTHER_BALANCE—原账户异常退到其他余额账户 OTHER_BANKCARD—原银行卡异常退到其他银行卡
                result.get("refund_status_0");//退款状态:SUCCESS—退款成功REFUNDCLOSE—退款关闭。PROCESSING—退款处理中CHANGE—退款异常,退款到银行发现用户的卡作废或者冻结了,导致原路退款银行卡失败,可前往商户平台(pay.weixin.qq.com)-交易中心,手动处理此笔退款。
                result.get("refund_success_time_0");//退款成功时间,2016-07-25 15:26:26
                result.get("refund_recv_accout_0");//退款入账账户(string 64)
                result.get("refund_account_0");//退款资金来源,REFUND_SOURCE_RECHARGE_FUNDS---可用余额退款/基本账户REFUND_SOURCE_UNSETTLED_FUNDS---未结算资金退款
                result.get("refund_fee_0");//退款总金额,单位为分,可以做部分退款

支付宝:

查询支付宝退款记录
     * 1、该接口的返回码10000,仅代表本次查询操作成功,不代表退款成功。
     * 2、如果该接口返回了查询数据,则代表退款成功,如果没有查询到则代表未退款成功,可以调用退款接口进行重试。重试时请务必保证退款请求号一致。

本文链接:https://blog.jnliok.com/post/sdk-pay.html

-- EOF --

Comments