# 支付
## Q: 通过下单接口生成的二维码多长时间有效?
A:接口请求成功返回 qr_code 时开始计时,有效期为 2 小时。
## Q: 二维码能否重复扫码?
A:二维码被扫过一次后,订单即会创建,不能再次被扫。
## Q: 如何处理返回码为 20000(返回成功),但业务出现未知错误或者系统异常?
A:需要调用查询接口确认订单状态或者调用退款接口发起撤销。
## Q: 申请使用订单码支付有什么门槛么
A:若以个人账号申请,需提供营业执照。企业账号需要经营场所照片,包括店铺招牌照片、店铺内景照、店铺名称/经营品牌名称,并包含实际经营地址。
# 退款问题
## Q: 为什么退款没有立即到账?
A:退款资金一般会按原路返回。但若是通过银行卡支付,因银行结算系统限制,退款时需将该笔资金冻结在支付宝账号内,待银行结算时才能退款到银行卡,通常需要2小时。
## Q: 如果交易失败,但用户的银行卡扣款成功,资金如何处理?
A:若出现该情况,支付宝会在 2 小时内将款项退回给用户。
## Q: 如何确认退款状态,判断是否退款成功?
A:支付宝退款为同步退款,在退款状态不明确情况下,保证请求号相同情况下可直接发起重试,直到成功。
## Q: 为什么会出现无故退款的情况?
A:请确认是否调用了撤销接口,在交易成功的情况下,撤销接口的调用会发生退款。
## Q: 如何实现部分退款?
A:在原退款请求参数中,新增传入外部请求号 out_request_no 参数,在退款金额 refund_amount 中传入需要部分退款的金额。
## Q: 可退款期限是多久?
A:根据签约协议确定退款时间,一般为 12 个月。
## Q: 能否通过传参的形式自助设置支付可退款的期限?
A:不能。
## Q: 退款的到账时间是多久?
A:退款到余额为实时到账,退款到银行卡以银行实际到账时间为准。
## Q: 支付 2.0 接口和支付 1.0 接口能否交叉使用?
A:可以,但不推荐。
## Q:交易退款接口是否会触发异步通知?
A:针对订单码支付产品的订单,交易退款接口不会触发异步通知。
## Q:如何区分支付和退款触发的通知?
A:相较支付触发的异步通知,退款触发异步通知中有 refund_fee(总退款金额)、gmt_refund(交易退款时间)等参数。
## Q:如何区分全额退款和部分退款触发的通知?
A:
1. 异步通知中的 out_biz_no 为退款接口的 out_request_no,若未设置则为退款的 trade_no,可用于判断对应那笔退款请求。
2. 部分退款的交易状态是 TRADE_SUCCESS(交易成功),且异步通知中有退款相关参数等信息。
3. 全额退款成功的交易状态是 TRADE_CLOSED(交易关闭),异步通知中有退款相关参数,且含有 gmt_close(订单结束时间)。
## Q:如何区分全额退款和订单超时触发的异步?
A:全额退款和订单超时都会导致 TRADE_CLOSED(交易关闭),由于全额退款是支付成功后退款导致。
全额退款的异步通知中有 refund_fee(总退款金额)、gmt_refund(交易退款时间)参数,订单超时关闭没有这两个参数。
## Q:如何查询退款资金到账时间?
A:
1. 如果付款是通过支付宝余额等渠道,退款成功后就直接到账时间。
2. 如果付款是通过银行卡支付,可根据退款接口中 deposit_back_info(银行卡冲退信息)的 est_bank_receipt_time(预估银行到账时间)进行判断。
# 查询接口
## Q:查询接口如何查询手续费?
A:无法查询,只能通过 [商家平台](https://b.alipay.com/) 查看。查询接口返回的receipt_amount(实收金额)是本笔交易,商户账户能够实际收到的金额,手续费是支付宝另外扣取的费用。
## Q:支付成功,但查询交易返回支付金额为0?
A:查询接口中需设置query_options=fund_bill_list,才可在响应参数中返回fund_bill_list(交易支付使用的资金渠道)以及其它实付金额等信息。
示例:
```json
biz_content={
"out_trade_no":"20181128763521373251664",
"query_options":[
"voucher_detail_list",
"fund_bill_list",
"trade_settle_info",
"discount_goods_detail"
]
}
```
## Q:如何区分超时付款关闭和全额退款关闭?
A:
1. 未付款交易超时关闭:用户未支付导致交易关闭,没有交易退款金额等信息,trade_status=TRADE_CLOSE。
2. 全额退款关闭:用户支付完成后全额退款成功,含有send_pay_date(本次交易打款给卖家的时间)等信息,trade_status=TRADE_CLOSE。
## Q:如何区分全额退款和部分退款?
A:
1. 部分退款:只退还部分金额,买家的交易仍然处于TRADE_SUCCESS(交易成功)状态,含有支付金额等信息。
2. 全额退款:全额退款成功的交易状态是TRADE_CLOSED(交易关闭),支付金额等信息为0。
**注意:**查询接口中必须设置 query_options=fund_bill_list。
# 支付宝客户端账单
## Q:账单上的信息如何修改?
A:用户侧账单如下:
| **页面信息** | **支付账单** | **退款账单** |
| --- | --- | --- |
| 头像 | 为 **商家平台** > [账户中心](https://uemprod.alipay.com/baseinfo/merchantShopBaseInfo.htm#/infomanage?_k=1udyd5)的商家LOGO | 退款账单头像固定,为一个“退”字,无法修改。 |
| 账户名称 | (显示优先级)[store_id](https://b.alipay.com/page/store-management/shop) 的门店名称 > [商家别名](https://uemprod.alipay.com/baseinfo/merchantShopBaseInfo.htm#/infomanage?_k=ao6v03) > 商家账户认证名称。
**注意**:三方调用则显示授权商家信息。 | 退款账单显示的商家账户名称与支付账单时商家名称的名称一致。
无法另外设置与支付账单名称不同的信息。 |
| 金额 | 支付接口设置的 total_amont(订单总金额) | 退款接口设置的 refund_amount(退款金额)。 |
| 交易状态 | 根据交易情况返回 trade_status(交易状态)。
全额退款后,支付账单显示为“交易关闭”。 | 退款成功显示固定格式:退款成功。 |
| 商品说明 | 支付接口设置的 subject(订单标题)
**注意**:“查看购物详情”目前暂不支持配置。 | 格式固定:退款-支付接口中设置的 subject(订单标题)。
退款账单中的商品说明无法通过退款接口的 refund_reason(退款原因)进行修改。 |
| 创建时间 | 订单创建时间,非接口请求时间。 | 退款接口返回的 gmt_refund_pay(退款支付时间),非接口请求时间。 |
| 订单号 | 支付接口订单创建后生成的 trade_no(支付宝交易号)支付账单保持一致。
支付账单和退款账单信息保持一致。 | |
| 商户订单号 | 支付接口商家自定义的 out_trade_no(商家订单号)。
支付账单和退款账单信息保持一致。 | |
| 账单分类 | 根据商家自己开通产品行业分类,无法修改。 | |
**注意**:支付接口设置 body(商品描述)和退款接口设置 refund_reason(退款原因)可在 **商家平台** > [对账中心](https://mbillexprod.alipay.com/enterprise/bizTradeOrder.htm#/buyerOrder) 或者下载的对账单中显示。
