# JSAPI支付
---
## 1. 小程序场景支付必须升级JSAPI嘛?
是的,强制升级,小程序场景中支付必须得使用JSAPI支付产品,JSAPI支付升级指南参考:[https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00d5;](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00d5;) JSAPI支付集成文档参考:[https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
---
## 2. op_buyer_open_id如何传入?
JSAPI支付产品中, op_buyer_open_id:商户实际经营主体的小程序应用关联的买家 open_id,指实际拉收银台支付时对应的小程序关联的买家 open_id,此 op_buyer_open_id 与 op_app_id 关联使用。(**注意**:当传入的 op_app_id 与发起调用的 APPID 不一致时使用,传 op_buyer_open_id 替换 buyer_open_id)。
详见:[https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
---
## 3. jsapi支付准入条件
准入条件
- 支持的账号类型:[支付宝企业账号](https://opendocs.alipay.com/common/02kkum)、[支付宝个人账号](https://opendocs.alipay.com/common/02kg61)、[个体工商户](https://opendocs.alipay.com/common/02kkul)。
- 开通申请提交资料:
- 若以支付宝个人账号申请,需提供营业执照,且支付宝账号名称需与营业执照主体一致。
- 目前支持的支付场景为小程序,需填写已创建的小程序 APPID。
- 提供小程序经营内容截图。
详见:[https://opendocs.alipay.com/mini/repo-0224be](https://opendocs.alipay.com/mini/repo-0224be)
---
## 4. 用户成功拉起收银台,但是并没有支付,这个时候怎么判断订单状态
建议使用订单查询(alipay.trade.query)接口,查询订单支付状态。
---
## 5. JSAPI支付个人开发者可以开通支付能力吗
个人开发者若以支付宝个人账号申请,需提供营业执照,且支付宝账号名称需与营业执照主体一致。
---
## 6. alipay.trade.create(统一收单交易创建接口)中product_code参数值是什么
小程序场景可以使用 alipay.trade.create 接口完成交易的创建获取交易号,然后使用支付宝提供的小程序方法(my.tradePay)唤起支付。小程序场景下product_code为JSAPI_PA。 详见接口文档:[https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5)
---
## 7. alipay.trade.create(统一收单交易创建接口)能否在一笔支付请求没有支付时,再发起另一笔支付
可以的,商户订单号(out_trade_no)需保证在商户端不重复。
详见接口文档:[https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?pathHash=779dc517&scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5)
---
## 8. JSAPI支付是否支持同一订单号更换用户userid支付?
不支持。
---
## 9. 订单关闭接口可以让用户看到订单关闭的原因吗
alipay.trade.close(统一收单交易关闭接口)接口不支持指定关闭原因的参数用于展示给用户。
---
## 10. 小程序提审提示:备注中的交易单号校验失败,请重新上传,MEMO_TRADENO_CHECK_FAIL
**提审时的交易需要是使用JSAPI支付产品支付成功的支付宝交易号。**
**问题背景**
- 因您的小程序未按规定时间完成JSAPI支付升级,已被限制提审,详见:[官方公告](https://open.alipay.com/portal/forum/post/141301019)
- 请您参考以下文档,尽快完成升级,并上传JSAPI支付产品的交易号,完成升级校验,方可正常提审。
- [升级指南](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00d5)
- [JSAPI支付产品文档](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
**解决方案**
- 请核实提交的支付宝交易号是否为 **调用JSAPI支付接口生成的交易号(product_code需设定为JSAPI_PAY)**。如果不是,请参考[JSAPI支付接入指南](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca),接入JSAPI支付产品。
- 可使用[收单交易信息查询工具](https://opensupport.alipay.com/support/diagnostic-tools/dd59ab8e-5de5-419e-8b40-0469d25addc4),在关键字输入交易号,点击开始诊断,当 诊断结果--建议方案显示 **收单产品为:(JSAPI_PAY)JSAPI支付 **时才可以。
---
## 11. JSAPI支付重要入参说明
重要入参说明
- subject:必填,商品的标题/交易标题/订单标题/订单关键字等。 不可使用特殊字符,例如 `/,=,&` 等。
- total_amount:必填,订单总金额,单位为元,精确到小数点后两位,取值范围 [0.01,100000000]。
- buyer_id:必填,买家支付宝用户的 user_id,获取详情可查看 [用户授权文档](https://opendocs.alipay.com/mini/api/openapi-authorize)。
- seller_id:卖家支付宝用户 ID。可登录 [账户中心](https://developers.alipay.com/dev/workspace/account-center/main-account-manage) > **主账号信息** > **账号 ID **获取。
- notify_url:接收的异步通知 http/https 路径地址。用户支付成功时,支付宝将向本地址发送异步通知。
- product_code:在小程序场景下使用时,需传入 JSAPI_PAY。重要备注:若商户之前使用的是其它产品(如当面付,对应的 product_code 是 FACE_TO_FACE_PAYMENT),需要将接口入参里的 product_code 调整为 JSAPI_PAY。
- sys_service_provider_id:需要返佣的服务商(独立软件开发商)请确保传入正确的sys_service_provider_id,服务商接入如果不传入正确的 sys_service_provider_id,会导致无法获得返佣。
- op_app_id:小程序经营主体 APPID,指商户在小程序中,拉起收银台支付时,对应的小程序应用的 APPID。商户开通JSAPI支付产品后,需在 **商家平台** > **产品中心** > **支付产品** >[JSAPI支付产品详情页面](https://b.alipay.com/page/product-mall/product-detail/I1080300001000060370) 关联对应的小程序 APPID,否则下单会失败。(**注意**:当前一个 PID 最多支持关联 20 个 APPID,如需关联更多,请联系您的支付宝业务人员代为操作)。
- op_buyer_open_id:商户实际经营主体的小程序应用关联的买家 open_id,指实际拉收银台支付时对应的小程序关联的买家 open_id,此 op_buyer_open_id 与 op_app_id 关联使用。(**注意**:当传入的 op_app_id 与发起调用的 APPID 不一致时使用,传 op_buyer_open_id 替换 buyer_open_id)。
- extend_params:
- trade_component_order_id:小程序公域商品交易场景中该参数必传,即业务订单 ID。
- creditTradeScene:先用后付信用交易场景下该参数必传,需传入 CREDIT_PAY。
- zmServiceId:先用后付信用交易场景下该参数必传,芝麻服务 ID。
- creditTradeExtInfo:先用后付信用交易场景下使用,用于传入相关扩展信息。
- business_params:
- tiny_app_merchant_biz_type:当商家需要在 [商家平台](http://b.alipay.com) > **数据中心**(入口 1:数据中心 **>** 交易中心 **>** **小程序交易**;入口 2:**数据中心** > 小程序分析 **>** **交易**)中查看对应业务场景下的数据明细时,可以指定具体的业务场景值,支持传入的值详见:[小程序细分业务场景](https://opendocs.alipay.com/mini/08by8k?pathHash=96e03412)。
详见:[https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
---
## 12. 一个小程序最多支持多少个其他主体的收款账户
jsapi支付(小程序场景)没有限制收款主体账户个数。
---
## 13. 小程序支付接口调用权限不足
1、核实接入流程是否正确,小程序支付(jsapi支付)产品接入流程详见:[https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
- 确认收款账户已经签约开通jsapi支付产品,关联后续唤起支付的小程序appid
- 需使用收款账户下的应用去调用alipay.trade.create接口,接口中op_app_id参数传入后续唤起支付的小程序appid,接口中op_buyer_open_id参数传入op_app_id应用获取的买家openid2、也可以使用工具:[https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076](https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076) 输入请求参数和请求时间后,点击"开始诊断"定位接口异常具体原因并提供相应的解决方案
---
## 14. 小程序支付(JSAPI支付)如何设置异步通知
Q:小程序支付(JSAPI支付)是否支持异步?
A:小程序支付(JSAPI支付)支持异步回调,需通过notify_url参数设置异步地址进行接收。
### 一、场景说明
注意:notify_url参数不设置,即不会触发发送异步通知。
支持设置notify_url的API:[alipay.trade.create](https://opendocs.alipay.com/mini/05x9kv?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517)
| 接口英文名 | 接口中文名 |
| --- | --- |
| alipay.trade.create | 统一收单交易创建接口 |
### 二、异步地址设置
#### 1、异步设置方式
notify_url需设置在公共参数中(非必填),如使用SDK集成接口详见[如何设置notify_url](https://opensupport.alipay.com/support/FAQ/6e9c48b1-e805-4fb6-a37a-14cccfd414b6)。
#### 2、异步地址设置要求
异步地址必须为:外网post访问为http200的状态,详见[支付宝异步通知说明](https://opensupport.alipay.com/support/FAQ/06cd7b81-9fff-4785-ab7d-12db08ee2f44)。
### 三、异步说明
#### 1、异步参数说明
异步参数说明建议参考[小程序支付异步通知说明](https://opendocs.alipay.com/mini/080p65?pathHash=216e5c27)。
#### 2、交易状态说明
| 枚举名称 | 枚举说明 |
| --- | --- |
| WAIT_BUYER_PAY | 交易创建,等待买家付款 |
| TRADE_CLOSED | 未付款交易超时关闭,或支付完成后全额退款 |
| TRADE_SUCCESS | 交易支付成功 |
| TRADE_FINISHED | 交易结束,不可退款 |
#### 3、异步触发条件
| 通知类型 | 描述 | 默认开启 |
| --- | --- | --- |
| tradeStatus.TRADE_CLOSED | 交易关闭 | 0 |
| tradeStatus.TRADE_FINISHED | 交易完结/交易完成 | 0 |
| tradeStatus.TRADE_SUCCESS | 支付成功 | 1 |
| tradeStatus.WAIT_BUYER_PAY | 交易创建 | 0 |
### 四、异步验签
根据签名方式可分为公钥证书验签和RSA2验签,可参考[SDK如何实现验签](https://opensupport.alipay.com/support/FAQ/27017426-c9ab-4d4d-8438-40e489d4c483)-异步同步通知数据验签。
### 五、注意事项
#### 接收异步通知示例
- [POST如何接收异步通知](https://opensupport.alipay.com/support/FAQ/2c0375cd-8a53-4fbc-a0c7-9e91781cde01#qXe3S)
#### 异步说明
小程序支付(JSAPI支付)只支持部分退款触发异步,具体规则详见[退款是否触发异步](https://opensupport.alipay.com/support/FAQ/ab2f625b-0e93-45f3-8858-9a1a4e16a936)。
---
## 15. 小程序关联主体,这个关联APPID是否可以使用api进行邀请关联呢?
目前没有支持小程序关联主体的api接口,建议参考文档:[https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575) 去操作关联
---
## 16. 如何解决小程序支付时遇到的APPID不一致导致的支付失败问题
1. 确认唤起支付收银台的小程序appid与op_app_id是否一致。
2. 如果不一致,需要将正确的op_app_id传入支付接口。
3. 将正确的op_app_id与您的支付宝账号绑定。
4. 如有其他支付相关问题,建议使用JSAPI支付工具解决,工具地址:[https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076](https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076)
---
## 17. 异步通知特性
1. 在进行异步通知交互时,如果支付宝收到的应答不是 `success` ,支付宝会认为通知失败,会通过一定的策略定期重新发起通知。重试逻辑为:当未收到`success` 时**立即尝试重发 3 次通知**,若 3 次仍不成功,**则后续通知的间隔频率为:4m、10m、10m、1h、2h、6h、15h**。
2. 商家设置的异步地址(notify_url)需保证无任何字符,如空格、HTML 标签,且不能重定向。(如果重定向,支付宝会收不到 success 字符,会被支付宝服务器判定为该页面程序运行出现异常,而重发处理结果通知)
3. 支付宝是用 POST 方式发送通知信息,商户获取参数的方式如下:`request.Form("out_trade_no")`、`$_POST['out_trade_no']`。
4. 支付宝针对同一条异步通知重试时,异步通知参数中的 notify_id 是不变的。
---
## 18. op_app_id不能为空
小程序支付中,op_app_id为商户实际经营主体的小程序应用的appid,也即最终唤起收银台支付所在的小程序的应用id,详见接口文档:[alipay.trade.create(统一收单交易创建接口)](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517)
注意:商户需要先在产品管理中心绑定该小程序appid,否则下单会失败,具体可参考:[商户号关联小程序AppID](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575#2.%20%E5%95%86%E6%88%B7%E5%8F%B7%E5%85%B3%E8%81%94%E5%B0%8F%E7%A8%8B%E5%BA%8FAppID)
---
## 19. 小程序支付如何实现多商家收款
### 问题描述
小程序如何帮助同一主体、非同一主体(企业)下的商户进行收款,收款到商户账号中?
### 解决方案
默认小程序支付收款到对应签约支付宝账号中,若要实现多商户收款,可通过(同一主体商户账号B调用接口,同一主体商户账号A唤起支付)、三方应用授权模式、直付通等方式实现。
#### 1、小程序支付实现同一主体下的商家收款到不同的商家账号中
- 商户账号 B 在 商家平台 > 产品中心 > [产品详情页面](https://b.alipay.com/page/product-mall/product-detail/I1080300001000060370)点击 立即开通,填写并提交相关信息。详情可查看 [开通产品](https://opendocs.alipay.com/open/200/105314/)。开通完成后请在产品详情页点击 管理小程序 APPID,关联绑定商家账号 A 下的小程序应用 A。
- 使用同一主体商家账号 B 下的小程序应用 B(绑定 JSAPI 支付产品并开通)在服务端调用 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfp)(统一收单交易创建接口),并在入参 op_app_id 中传入小程序经营主体 APPID(指商户在小程序中,拉起收银台支付时,对应的小程序应用的 APPID,此场景应填入商家账号 A 下的小程序应用 A),获得支付宝交易号 tradeNO,在当前同一主体商家账号 A 下的小程序应用 A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。
- 使用 [三方应用授权](https://opensupport.alipay.com/support/FAQ/6af5a0b8-5470-4879-8fbb-432b95079e7a) 模式,当前同一主体商家账号 A 创建一个三方应用,收款商家账号 B(需签约 JSAPI 支付产品)授权给三方应用(三方应用需要绑定 JSAPI 支付),通过 三方应用 APPID+三方应用密钥(三方应用私钥和支付宝公钥)+app_auth_token 模式在服务端调用 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfp)(统一收单交易创建接口),并在入参 op_app_id 中传入小程序经营主体 APPID(指商户在小程序中,拉起收银台支付时,对应的小程序应用的 APPID,此场景应填入商家账号 A 下的小程序应用 A),获得支付宝交易号 tradeNO,在当前商家账号 A 下的小程序应用 A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。
#### 2、小程序非同一主体下的商家进行收款
普通小程序由于没有授权回调地址,无法完成第三方授权。需要完成以上需求,目前有三种方案:
- 商户账号在 商家平台 > 产品中心 > [产品详情页面](https://b.alipay.com/page/product-mall/product-detail/I1080300001000060370) 点击 立即开通,填写并提交相关信息。详情可查看 [开通产品](https://opendocs.alipay.com/open/200/105314/)。开通完成后请在产品详情页点击 管理小程序 APPID,关联绑定服务商拉支付的小程序应用 A。
- 服务商只有一个小程序平台,商家收款都在这个小程序中支付的场景。服务商开发一个小程序应用 A 并上线,然后再创建一个第三方应用 B(可以是非小程序第三方应用),创建第三应用 B 后添加 JSAPI 支付产品和获取用户信息的功能,然后生成第三方授权链接让商家登录账号后授权给第三方应用 B。授权完成后通过第三方应用 B 的 APPID 和商家授权的 app_auth_token 在服务端调用 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfp)(统一收单交易创建接口),并在入参 op_app_id 中传入小程序经营主体 APPID(指在服务商小程序中,拉起收银台支付时,对应的小程序应用的 APPID,此场景应填入小程序应用 A),创建交易获取 tradeNO 参数,将 tradeNO 参数通过 [my.request](https://opendocs.alipay.com/mini/api/owycmh) 接口传到小程序应用 A 中,用 my.tradePay 接口唤起支付,即可实现收款到商家账号中。
注意:上述开发过程中可能会遇到获取 user_id 授权问题,为方便接口调用,服务商需要再将自己的小程序应用 A 授权给自己的第三方应用 B,授权成功后也会获得代表小程序 A 的 app_auth_token。小程序应用 A 中用户授权产生的 auth_code 需要通过第三方应用 B 在 [alipay.system.oauth.token](https://opendocs.alipay.com/isv/04h3uf)(换取授权访问令牌) 接口换 auth_token,此接口调用的时候需要加上代表小程序 A 的 app_auth_token 调用才可以成功获取到 user_id,详情请查看 [获取会员基础信息](https://opendocs.alipay.com/mini/api/ch8chh)、[三方应用授权](https://opensupport.alipay.com/support/FAQ/6af5a0b8-5470-4879-8fbb-432b95079e7a)。
- 每个商家都有自己的小程序进行收款,可上服务市场给商家订购的场景。通过创建小程序第三方应用,在第三方应用中创建小程序模板,然后再帮助商家创建小程序和签约 JSAPI 支付进行授权。完成授权后,给商家小程序上传小程序版本,商家可在自己的小程序中进行收款。详细请参考 [三方业务](https://opendocs.alipay.com/isv)。
**文档内容详见:** [https://opendocs.alipay.com/support/01rb0i](https://opendocs.alipay.com/support/01rb0i)
---
## 20. jsapi支付使用my.tradePay拉起的前端报错code有哪些
my.tradePay常见的支付结果码可参考文档 [https://opendocs.alipay.com/mini/05xhsr?pathHash=d4709298](https://opendocs.alipay.com/mini/05xhsr?pathHash=d4709298)
---
## 21. 小程序ide调用tradePay提示"请开启 API 代理"
需要点击点击IDE模拟器上方这个位置,开启API代理,把它的开关打开。
---
## 22. jsapi支付怎么配置能实现"支付时不可使用商家优惠券"
可以在【JSAPI支付】产品的交易创建接口中传入"undiscountable_amount(不可打折金额)"参数来实现
详情可以参考: [https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517)
---
## 23. 小程序准备上架,测试支付功能时支付受限,在补充信息时,提示必须小程序上线,这个怎么处理?
可以先上架一个只有基础能力(不包含支付能力)的小程序,等小程序上架后再提升收款额度,之后再调试支付功能。
---
## 24. 小程序支付客户端返回6006和6002代表什么意思
6006 表示中途退出收银台;6002 表示网络连接出错,检查网络连接后重试。
---
## 25. 单笔支付的金额上限是多少
单笔支付金额上限是100000000元,但实际不同账号的最大支付金额可能有所不同。如果需要了解具体账号的支付额度,可以到[商家服务中心](https://b.alipay.com/index2.htm)在线咨询或拨打商家服务热线400*****58咨询,服务时间为:8:00-24:00。
---
## 26. 小程序支付时,应该选择哪个productCode
在进行小程序支付时,应该选择productCode为JSAPI_PAY。具体步骤如下:
1. 确认接入的产品是支付宝小程序支付。
2. 在调用支付接口时,设置productCode为JSAPI_PAY。
3. 参考官方文档进行详细配置和调用。
---
## 27. 同主体不同账号发起交易,资金怎么收款到同一账号下
JSAPI支付、当面付场景可以通过支付接口中入参门店ID信息(参数:**store_id**),将资金收款到门店设置的收款账号。[门店操作指引](https://opendocs.alipay.com/rules/0e9rro)
说明:目前门店配置收款账号只能配置同一个账号主体下的收款账号。
---
## 28. 如何通过同一主体下的小程序实现支付到不同的商家账号
可以参考官方文档:[https://opendocs.alipay.com/support/01rb0i(小程序多商家收款),实现通过同一主体下的小程序实现支付到不同的商家账号。](https://opendocs.alipay.com/support/01rb0i(小程序多商家收款),实现通过同一主体下的小程序实现支付到不同的商家账号。)
---
## 29. 升级jsAPI后之前的app_id是不是可以不传了 只用op_app_id这个
不可以。app_id是服务端调用接口时必传的。op_app_id 是指客户端唤起收银台的小程序应用id。app_id 和 op_app_id 可以入参同一个。
---
## 30. 小程序支付如何关联绑定Appid
小程序支付场景,JSAPI支付的[创单交易订单](https://opendocs.alipay.com/mini/05x9ku?ref=api#%E5%88%9B%E5%BB%BA%E4%BA%A4%E6%98%93%E8%AE%A2%E5%8D%95)接口关键特性说明如下:
1. JSAPI支付的产品码传参product_code值为JSAPI_PAY;
2. 指定op_app_id,即小程序经营主体APPID(指商户在小程序中,拉起收银台支付时,对应的小程序应用的 APPID);发起创单交易订单的应用的商家账号需与小程序经营主体APPID完成**关联绑定**,才能收款,即商户号关联小程序APPID;
**商户号关联小程序APPID功能说明**:管理商户号与小程序的支付收单关系
基本规则:
1)小程序使用开通小程序支付产品的商户号收款,且需要完成商户号关联小程序AppID;
2)关联同一商户号名下、同一公司主体名下或已有品牌授权关系商家主体名下的小程序,申请后即关联;
3)关联其他公司主体的小程序,需要小程序归属商家**确认授权**,待小程序归属商家在商家平台 - 待办通知 或 支付宝App端 - 消息 中完成确认授权后即关联。
关联入口:
1)商户号开通JSAPI支付时,填写小程序AppID;
2)商户号开通JSAPI支付后,可在JSAPI支付产品详情页面继续管理(新增关联AppID、查看商家授权状态)。
关联绑定操作详见:[https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575#2.%20%E5%95%86%E6%88%B7%E5%8F%B7%E5%85%B3%E8%81%94%E5%B0%8F%E7%A8%8B%E5%BA%8FAppID](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575#2.%20%E5%95%86%E6%88%B7%E5%8F%B7%E5%85%B3%E8%81%94%E5%B0%8F%E7%A8%8B%E5%BA%8FAppID)
---
## 31. 在什么情况下支付宝会返回mdiscount_amount和discount_amount字段
mdiscount_amount表示商家优惠金额,discount_amount表示平台优惠金额。
支付订单中若使用了优惠金额场景(比如商家优惠券、平台优惠券等),支付接口业务响应中会返回mdiscount_amount和discount_amount字段,详见:[https://opendocs.alipay.com/open/1f1fe18c_alipay.trade.pay?scene=32&pathHash=8934e9fd](https://opendocs.alipay.com/open/1f1fe18c_alipay.trade.pay?scene=32&pathHash=8934e9fd)
若想要使用订单查询接口(alipay.trade.query)返回这两个字段,需要在query_options中传入这两个参数,详见:[https://opendocs.alipay.com/open/6f534d7f_alipay.trade.query?scene=23&pathHash=f6cde6a9](https://opendocs.alipay.com/open/6f534d7f_alipay.trade.query?scene=23&pathHash=f6cde6a9)
---
## 32. 支付宝 JSAPI 支付 是否支持 同一订单号更换用户userid 支付?
不支持。
---
## 33. 如何解决使用my.tradepay唤起支付宝小程序支付失败的问题
1. 请检查前端代码中my.tradepay的调用是否正确
2. 如果前端代码没有问题,可以尝试唤起指定的支付请求单trade_no,查看是否有报错信息
3. 如果仍然无法解决问题,可以使用JSAPI支付工具进行诊断,工具地址为:[https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076](https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076)
---
## 34. 小程序支付报错:卖家不在设置的收款账户列表之中
### 问题详情
小程序支付报错:支付失败,INVALID_RECEIVE_ACCOUNT:当前收款账户不在设置的收款账户列表中,或卖家不在设置的收款账户列表之中。
### 问题分析
seller_id 设置的收款账号不匹配导致。
### 解决方案
1. 检查接口上是否有传递 seller_id 参数,建议去除该参数,直接使用默认应用签约账号进行收款,重新请求发起支付正常提交。如果能正常提交,可核实传递的该值是否和为请求 APPID 对应的 PID(2088)开头的账号,如传递其它支付宝账号是会报错。
2. 小程序场景下要实现非同一主体下的商家进行收款,默认不支持通过seller_id参数去收款到不同商家账号,标准都是走三方代调用的流程,详见:[https://opendocs.alipay.com/support/01rb0i](https://opendocs.alipay.com/support/01rb0i)
比如:收款商家A开通了JSAPI支付产品,想在b小程序中去唤起支付页面,就必须得先在开通JSAPI支付产品的后台去绑定小程序b,要不然商家A调用接口生成的支付宝交易号就不能在b小程序中唤起支付页面
---
## 35. JSAPI支付 全额退款后会有异步通知吗
不会,JSAPI支付产品中,TRADE_CLOSED状态不会触发异步通知(订单全额退款后,订单状态为TRADE_CLOSED)。
---
## 36. jsapi支付中op_app_id随意传也能调用alipay.trade.create不报错吗
小程序支付中op_app_id是用来指定后面唤起支付的小程序appid的,如果传参不对,后面唤起支付时会报错"不支持在该小程序唤起支付"
---
## 37. 关于全面规范使用小程序支付产品的公告
各位开发者:
为帮助您选择更适合小程序的支付产品,让商家获得更及时、准确、全面的经营效果分析,同时进一步提升用户在小程序内的使用体验,下单更流畅,交易更安全,**支付宝升级三款小程序场景专用支付产品:"JSAPI支付"、"预授权支付"和"商家扣款"。**
**即日起,支付宝对小程序使用的支付产品进行规范,具体内容如下:**
1、您需根据小程序的收款场景,选择专用支付产品"[JSAPI支付](https://opendocs.alipay.com/mini/053llc?pathHash=d81d3a2a)"、"[预授权支付](https://opendocs.alipay.com/open/06de96?pathHash=b588e4a0)"、"[商家扣款](https://opendocs.alipay.com/open/06de8c?pathHash=bc28a7a2)"。
2、若您的小程序、小程序模板、代开发小程序正在使用其他支付产品,如当面付、支付宝预授权、周期扣款等,
(1)您可优先对照【[升级指南](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00)】自行完成小程序场景专用支付产品的产品开通和升级。
(2)为了便利商家的操作,我们也将在近期帮商家对相关支付产品统一升级开通,具体升级时间,商家可关注支付宝开放平台的通知。收到通知后,按照【[升级指南](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00)】完成后续步骤的操作。
3、我们将会适时为完成产品升级的小程序,推出各类激励和权益,敬请关注。
4、2024年4月1日起,如您的小程序、小程序模板、代开发小程序未使用专用支付产品,可能影响您使用小程序相关发版、收款等功能,且无法享受专为小程序制定的新增激励政策和公域推广权益等。
请您合理安排升级时间,避免影响您的正常使用。如有疑问,可联系支付宝商家客服热线400-758-5858。
支付宝开放平台
2023/10/16
---
## 38. 支付宝是否会收取每笔交易的手续费
是否会收取手续费需要查看开通的支付产品对应产品介绍文档,具体收取的手续费按照签约的支付产品合约中费率*订单金额,取值四舍五入,保留两位小数。
---
## 39. JSAPI支付如何关联小程序
商户号关联小程序AppID接入指南参考 :[商户号关联小程序AppID](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575#2.%20%E5%95%86%E6%88%B7%E5%8F%B7%E5%85%B3%E8%81%94%E5%B0%8F%E7%A8%8B%E5%BA%8FAppID)
---
## 40. 如何解决调用jsapi支付接口时,因op_app_id不是小程序应用类型导致的报错问题
1、如果需要使用jsapi支付接口进行支付,必须使用小程序应用类型的应用进行对接。
2、如果当前应用为移动或者网页应用类型,需要在开放平台重新创建一个小程序应用,不能给现有应用更换类型,只能重新创建一个小程序应用进行对接。
3、接口中的op_app_id需要传入唤起支付的小程序appid
---
## 41. 在同一笔订单中,为什么使用jsapi支付失败后,再次调用支付时会切换到当面付支付
在同一笔订单中,不会发生从jsapi支付切换到当面付支付的情况。
在创建订单时,会入参 product_code, 不同的产品码是由您在调用 alipay.trade.create(统一收单交易创建接口) 接口时指定的,同一笔订单的交易号是固定的,不会因为重复调用jsapi支付接口而切换到当面付。
因此,建议您在创建订单时确保使用正确的 product_code,避免因产品码错误导致支付失败。
---
## 42. 小程序应用可以接入当面付吗
小程序支付 需要接入**JSAPI支付**产品,产品文档:[https://opendocs.alipay.com/mini/053llc?pathHash=d81d3a2a](https://opendocs.alipay.com/mini/053llc?pathHash=d81d3a2a)
---
## 43. JSAPI支付成功退款后是否触发异步通知
JSAPI支付,全额退款后交易状态会转为 TRADE_CLOSED(交易关闭),该状态不会触发异步通知。
JSAPI支付,默认TRADE_SUCCESS(交易成功)会触发异步通知,其余交易状态均不触发异步通知。
商户可以通过调用退款查询接口(alipay.trade.fastpay.refund.query)查询退款是否成功,详情参考接口文档:[https://opendocs.alipay.com/open/8c776df6_alipay.trade.fastpay.refund.query?scene=common&pathHash=fb6e1894。](https://opendocs.alipay.com/open/8c776df6_alipay.trade.fastpay.refund.query?scene=common&pathHash=fb6e1894。)
---
## 44. JSAPI支付如何沙箱测试
小程序支付(JSAPI支付)支持沙箱环境测试,[JSAPI支付沙箱环境联调](https://opendocs.alipay.com/mini/0845zf?pathHash=5339b1d6)测试功能与线上环境一致。
- 沙箱配置流程可参考[沙箱快速接入](https://opendocs.alipay.com/common/02kkv7?pathHash=8fd32ef6)流程。
- 沙箱测试流程注意[沙箱环境和正式环境的区别](https://opensupport.alipay.com/support/FAQ/d8f67828-029e-4c7d-95c4-93e24a698f10)。具体接入可详见[JSAPI支付](https://opendocs.alipay.com/mini/053llc?pathHash=d81d3a2a)。
---
## 45. ACQ.UNBOUND_APPLICATION(指定小程序主体未完成关联绑定)
### 问题描述
小程序支付报错:ACQ.UNBOUND_APPLICATION(指定小程序主体未完成关联绑定)。
### 问题原因
传入的op_app_id未与商户主体关联绑定
### 解决方案
商户小程序主体(商户/服务商)需在b站或者p站进行关联绑定(模板小程序也可进行关联绑定),详见[绑定流程](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575)。
---
## 46. JSAPI支付中buyer_id、buyer_open_id、op_buyer_open_id三个参数使用哪个?
buyer_id、buyer_open_id、op_buyer_open_id三个参数中使用场景不同,只需要传其中一个即可,不同场景使用不同参数
- 如果是获取的用户uid(2088开头的账号id)使用buyer_id即可
- 如果是获取的用户openid(用户在商家应用下唯一标识),则使用buyer_open_id
- 如果服务端调用接口的appid和拉起支付获取用户openid小程序不一致时,则使用op_buyer_open_id并且要同时入参op_app_id(入参需要拉起支付的小程序appid)
---
## 47. jsapi支付接入文档
jsapi支付接入文档参考:[https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
---
## 48. 小程序支付报错:本笔交易不支持在本小程序内支付请联系商户完成小程序APPID的绑定后再重新发起支付
### 问题描述
小程序支付报错:本笔交易不支持在本小程序内支付请联系商户完成小程序APPID的绑定后再重新发起支付。
### 问题原因
1、唤起的小程序与创建交易的小程序主体未进行关联绑定
2、op_app_id参数有误
### 解决方案
1、商户小程序主体(商户/服务商)需在b站或者p站进行关联绑定(模板小程序也可进行关联绑定),详见[绑定流程](https://opendocs.alipay.com/mini/08dbcv?pathHash=fde30575)。
2、**JSAPI支付** 增加了一个必传字段,op_app_id。该字段指商户在小程序中,拉起收银台支付时的小程序应用的 APPID。
**补充说明:**
针对 JSAPI 支付异常问题场景进行排查,也可以使用工具:[https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076,输入相应参数后可定位问题具体原因,并提供相应解决方案。](https://opensupport.alipay.com/support/diagnostic-tools/d9a25bb6-9e17-4337-827a-27240f9a8076,输入相应参数后可定位问题具体原因,并提供相应解决方案。)
---
## 49. 小程序支付如何实现多商家收款?
详情可查看[https://opendocs.alipay.com/support/01rb0i](https://opendocs.alipay.com/support/01rb0i)
---
## 50. 小程序支付怎么获取tradeNO
参考文档 [https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517,服务端调用alipay.trade.create接口,会同步生成trade_no](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517,服务端调用alipay.trade.create接口,会同步生成trade_no)
---
## 51. 用户成功拉起收银台,但是并没有支付,这个时候怎么判断呢
支付结果会在回调函数里面返回状态码;但是前端返回状态码只能作为参考,一定要依赖异步通知确认支付成功的结果。如果用户一直停留在这个页面没办法判断的,只能通过前端接口确认是有成功唤起收银台的。点击关闭收银台应该有回调函数触发,会返回6001的状态码。
---
## 52. app支付,H5支付,或是免密支付,如果退款是不是都是用的这个接口:alipay.trade.refund
是的。
---
## 53. 小程序支付拉起收银台支付提示:订单不存在
需要检查前端传入的交易号是否是调用alipay.trade.create接口返回的 trade_no。不要传成外部商家单号out_trade_no了。
且需要注意前端拉起的my.tradePay方法中的tradeNO参数大小写不要弄错了。
---
## 54. 第三方代调用收款,三方授权有数量限制吗
三方授权没有数量限制。
---
## 55. 微信小程序可以接入支付宝付款码支付吗
不支持,支付宝的条码支付能力无法集成在微信的。
---
## 56. jsapi支付只支持在小程序内使用,那其他三方聚合支付的码牌用支付宝扫码之后都是跳转到h5的页面然后调用的JSAPI,是怎么实现的
jsapi支付只能在小程序内拉起支付,这个是产品要求,三方聚合支付的码牌用支付宝扫码之后都是跳转到h5的页面然后调用的JSAPI的实现是商户开通当面付产品,通过调用alipay.trade.create接口拿到交易号前端通过AlipayJSBridge.tradePay方法拉起支付。
---
## 57. 小程序支付怎么获取orderStr或者tradeNO
小程序支付场景,必须集成JSAPI支付产品。需要在服务端调用 [alipay.trade.create(统一收单交易创建接口)](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?referPath=05x9ku_a7b61cca),才能获得支付宝交易号 tradeNO。
---
## 58. 异步通知特性
1. **异步通知重试机制** 在进行异步通知交互时,如果支付宝收到的应答不是 `success` ,支付宝会认为通知失败,会通过一定的策略定期重新发起通知「并不会根据code码判断是否重试」。重试逻辑为:当未收到`success` 时立即尝试重发 3 次通知,若 3 次仍不成功,则后续通知的间隔频率为:4m、10m、10m、1h、2h、6h、15h。15h的回调应答还是失败,就不会再回调。
2. 商家设置的异步地址(notify_url)需保证无任何字符,如空格、HTML 标签,且不能重定向。(如果重定向,支付宝会收不到 success 字符,会被支付宝服务器判定为该页面程序运行出现异常,而重发处理结果通知)
3. 支付宝是用 POST 方式发送通知信息,商户获取参数的方式如下:`request.Form("out_trade_no")`、`$_POST['out_trade_no']`。
4. 支付宝针对同一条异步通知重试时,异步通知参数中的 notify_id 是不变的。
---
## 59. 如何通过B公司账户的小程序调用alipay.trade.create接口,实现在A公司小程序内支付,收款到B公司账户
**如何通过B公司账户的小程序调用alipay.trade.create接口,实现在A公司小程序内支付,收款到B公司账户**
如下方式:
1. B公司账户需要签约开通jsapi支付产品;
2. B公司账户在商家平台,找到jsapi支付,在产品管理中心绑定A公司小程序;
3. 使用B公司账户下的小程序应用调用alipay.trade.create接口,接口中op_app_id传入A公司小程序应用的appid。就可以实现A公司小程序内支付,收款到B公司账户。
---
## 60. 我的小程序已接入过当面付,如何快速切换到JSAPI支付?
小程序场景中,**JSAPI支付** 使用的接口,和当面付使用的接口一样,区别在于两点:
- 区别一:**JSAPI支付** 使用的产品码不一样,需要注意更换 product_code 的参数,从 FACE_TO_FACE_PAYMENT 变更为 JSAPI_PAY。
- 区别二:**JSAPI支付** 增加了一个必传字段,op_app_id。该字段指商户在小程序中,拉起收银台支付时的小程序应用的 APPID。开通 **JSAPI支付** 产品后,需在 **商家平台** > **产品中心** > **支付产品** >[JSAPI支付 产品详情页面](https://b.alipay.com/page/product-mall/product-detail/I1080300001000060370) 关联对应的小程序 APPID,否则下单会失败。
- 区别三:当商家需要在 [商家平台](http://b.alipay.com) > **数据中心**(入口1:**数据中心 **>** ****交易中心 **>** ****小程序交易**;入口2:**数据中心** > **小程序分析 **>** ****交易**)中查看对应业务场景下的数据明细时,可以通过 business_params 对象的 tiny_app_merchant_biz_type 指定业务场景值,支持传入的值详见:[小程序细分业务场景](https://opendocs.alipay.com/mini/08by8k?pathHash=96e03412)。**注意**:请勿修改 **当面付 **产品的其它接口,仅需修改 [alipay.trade.create(统一收单交易创建接口)](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create),即可升级为 **JSAPI支付**。
### 接入流程对比
| 序号 | 接入流程 | 使用的接口 | 当面付 | JSAPI支付 |
| --- | --- | --- | --- | --- |
| 1 | 发送订单信息 | - | - | 无变化 |
| 2 | 创建交易订单 | alipay.trade.create | product_code:FACE_TO_FACE_PAYMENT | product_code:JSAPI_PAY
新增字段:op_app_id(小程序支付中,商户实际经营主体的小程序应用的 APPID,指在小程序中,拉起收银台支付时的小程序应用的 APPID) |
| 3 | 唤起收银台支付 | my.tradePay | 无限制 | 必须调用 my.tradePay 接口才能唤起收银台 |
| 4 | 异步通知 | 在 alipay.trade.create 设置异步通知(notify_url) | - | 无变化 |
| 5 | 交易辅助(查询、退款、撤销、关闭) | alipay.trade.query / alipay.trade.refund / alipay.trade.cancel / alipay.trade.close | - | 无变化 |
### 相关文档链接
- [alipay.trade.create(统一收单交易创建接口)](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create)
- [my.tradePay(发起支付)](https://opendocs.alipay.com/mini/05xhsr)
- [alipay.trade.query(统一收单交易查询接口)](https://opendocs.alipay.com/mini/83b6c9a9_alipay.trade.query)
- [alipay.trade.refund(统一收单交易退款接口)](https://opendocs.alipay.com/mini/824da765_alipay.trade.refund)
- [alipay.trade.cancel(统一收单交易撤销接口)](https://opendocs.alipay.com/mini/d6040499_alipay.trade.cancel)
- [alipay.trade.close(统一收单交易关闭接口)](https://opendocs.alipay.com/mini/d6f6c80a_alipay.trade.close)
---
## 61. 拉起收银台报错,指定小程序主体未完成关联绑定
需要前往前往商家平台—产品管理—JSAPI支付—关联绑定。
---
## 62. 小程序提审提示"支付产品升级校验失败"
**问题背景**
- 因您的小程序未按规定时间完成JSAPI支付升级,已被限制发版。
- [官方公告](https://open.alipay.com/portal/forum/post/141301019)
- 请您参考以下文档,尽快完成升级,并上传JSAPI支付产品的交易号,完成升级校验,方可正常发版。
- [升级指南](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00d5)
- [JSAPI支付产品文档](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca)
**解决方案**
- 请核实提交的支付宝交易号是否为 **调用JSAPI支付接口生成的交易号(product_code需设定为JSAPI_PAY)**。如果不是,请参考[JSAPI支付接入指南](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca),接入JSAPI支付产品。
- 可使用[收单交易信息查询工具](https://opensupport.alipay.com/support/diagnostic-tools/dd59ab8e-5de5-419e-8b40-0469d25addc4),在关键字输入交易号,点击开始诊断,当 诊断结果--建议方案显示 **收单产品为:(JSAPI_PAY)JSAPI支付 **时才可以。
---
## 63. jsapi支付调试报错{error: 999, resultCode: '4000', memo: '请开启 API 代理'}
在小程序ide上需要开启真机调试。
---
## 64. 小程序内嵌H5使用什么支付产品
小程序支付API:[my.tradePay](https://docs.alipay.com/mini/api/openapi-pay)可以在[webview](https://docs.alipay.com/mini/component/web-view)里的H5页面使用,需引入webview的js(手动引入 [https://appx/web-view.min.js](https://appx/web-view.min.js) (此链接仅支持在支付宝客户端内访问)),就可以在H5中调用my.tradePay方法来唤起支付。
小程序内嵌h5可以使用JSAPI支付产品;
[小程序内嵌H5支持api列表](https://opendocs.alipay.com/mini/component/web-view)
---
## 65. 回退至uid模式后,创单接口可以传openid吗?
小程序无论为uid模式或者openid模式,下单接口不会校验买家ID入参,买家ID可以传buyer_id,也可以传buyer_open_id。
注意:两者只传入一个即可,当同时传入时openid是优先级高,先校验了匹配一致性。
---
## 66. JSAPI支付关联他人的小程序该如何调用如何上传并获取公钥和密钥
给调用接口的appid应用上传密钥即可,密钥是根据appid来的;op_app_id只是用来唤起支付的小程序,和密钥没关系,关联绑定完成即可,无需上传密钥。
---
## 67. 小程序支付报错:当面付等产品不支持在小程序场景内使用,请联系商户更换收单产品后再重新发起支付
### 问题描述
小程序支付报错:当面付等产品不支持在小程序场景内使用,请联系商户更换收单产品后再重新发起支付。
### 问题原因
以前"当面付"是支持小程序支付的,2023年7月13日推出[《小程序升级公示》](https://open.alipay.com/portal/forum/post/131001015),小程序支付 已升级为 JSAPI支付,小程序场景下新接入商户不再支持使用"当面付"功能。
### 解决方案
存在该报错的商家小程序需使用 [JSAPI支付](https://opendocs.alipay.com/mini/053llc?pathHash=d81d3a2a) 进行接入小程序支付。
**特别注意:JSAPI支付 使用的产品码不一样,创单接口 alipay.trade.create 的 product_code 参数需要从 FACE_TO_FACE_PAYMENT 变更为 JSAPI_PAY**。
---
## 68. 鸿蒙下通过小程序支付后是否可以返回到app
小程序支付成功后,都无法回跳到商户的app,因为支付宝小程序暂不支持外跳。
---
## 69. 当面付和JSAPI支付的关系
当面付和JSAPI支付是独立的两款支付产品,当面付包括付款码支付和扫码支付两种方式,主要适用于线下场所面对面收银的场景;JSAPI支付是小程序专用支付产品,适用于小程序的支付场景。
注:若原先小程序中集成的是当面付、APP支付、手机网站支付等,需升级成小程序专用支付产品JSAPI支付。[小程序支付产品升级指南](https://opendocs.alipay.com/mini/08e1af?pathHash=bb1e00d5)
注意:商户对接什么产品需要签约对应产品,不能签约其他的产品
---
## 70. easySDK如何调用JSAPI支付
easySDK需要通过通用接口设置相关参数,对于Alipay Easy SDK尚未支持的Open API,开发者可以通过调用此方法,通过自行拼装请求参数,完成大部分OpenAPI的调用,且调用时可按需设置所有可选参数。本接口同样会自动为您完成请求的加签和响应的验签工作,参考文档:[https://github.com/alipay/alipay-easysdk/blob/master/APIDoc.md](https://github.com/alipay/alipay-easysdk/blob/master/APIDoc.md)
注:本接口不支持文件型字段的上传。
### 入参说明
| 字段名 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| subject | string | 是 | 订单标题 |
| outTradeNo | string | 是 | 商户订单号,64个字符以内,可包含字母、数字、下划线,需保证在商户端不重复 |
| totalAmount | string | 是 | 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000] |
| buyerId | string | 是 | 买家的支付宝唯一用户号(2088开头的16位纯数字) |
### 出参说明
可前往[alipay.trade.create](https://docs.open.alipay.com/api_1/alipay.trade.create)查看更加详细的参数说明。
---
## 71. jsapi支付调起收银台,如果用户关闭的情况下,有没有类似于监听的功能接口可以给商家通知的
小程序端会有返回的,可以参考下[https://opendocs.alipay.com/mini/05xhsr?referPath=05x9ku_a7b61cca](https://opendocs.alipay.com/mini/05xhsr?referPath=05x9ku_a7b61cca)
---
## 72. 如何在钉钉小程序中接入支付宝支付,应该选择什么产品
需要先咨询下钉钉开放平台的技术,让其核实下钉钉侧支付调用的是支付宝的哪个接口(app支付还是JSAPI支付产品)
---
## 73. 间联支付宝模式,小程序支付交易需要上送小程序的appid么
如果是银行间连的模式,不需要上传小程序的appid,因为银行间连收单,依旧使用的是当面付产品,不需要升级为JSAPI支付
---
## 74. 拉起收银台报错,交易不支持在本小程序内支付
支付接口传入的op_app_id与商家平台关联绑定过的小程序appid不一致
---
## 75. 使用easy版的js支付如何传op_app_id
可以使用动态扩展 SDK 功能满足个性化需求,也就是传入op_app_id参数,参考链接:[https://opendocs.alipay.com/common/02nlge?pathHash=9e7127a0](https://opendocs.alipay.com/common/02nlge?pathHash=9e7127a0)
---
## 76. jsapi支付收单后,资金是否可以直接提现?
普通收单的jsapi支付,收款是直接到商家支付宝账户的,到账后可以发起资金提现。
---
## 77. 小程序应用支持对接h5支付吗
小程序应用目前只能对接JSAPI支付,如果要对接手机网站支付和电脑网站支付需要创建网页应用。
---
## 78. JSAPI_PAY支付场景,商家在商家平台能看到自己的经营数据和流水吗
**查看路径** 商家可以登录"商家平台-对账中心",查看自己的经营数据和流水
---
## 79. op_app_id与初始化SDK 中的APPID 有区别吗?
jsapi支付,资金是收款到初始化SDK 中的APPID对应账号的,op_app_id 这个参数是标识本笔交易需要在哪个小程序上拉起支付
---
## 80. 小程序支付buyer_id是否必传
小程序支付「JSAPI支付」场景中[alipay.trade.create](https://opendocs.alipay.com/mini/05x9kv?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517)接口中的buyer_id、buyer_open_id为必填项,两者二选一传入即可, 该值为付款用户的支付宝user_id或open_id,可通过[my.getAuthCode](https://opendocs.alipay.com/mini/api/openapi-authorize)获取。
---
## 81. 小程序支付成功后跳转到广告助手小程序,如何关闭这个功能
如果小程序支付成功后跳转到广告助手小程序,需要确认是否开通了成金计划。如果是间联交易且服务商签约了间连支付成功页-业务协作(广告分润)政策(前台),则支付成功会跳转到广告页。需要联系400*****58商服解除该协议,才能关闭跳转广告页的功能。
---
## 82. 小程序使用my.tradePay方法拉起支付宝收银台时,模拟器报错提示需要开启API代理,但之前模拟器可以正常弹出支付二维码,现在为什么不行
my.tradePay方法一直都不支持模拟器的,都是让走真机调试的。如果需要进行支付功能的调试,请使用真机进行调试,模拟器是不能直接使用的,会提示需要开启API代理的问题。
---
## 83. 如何处理支付宝小程序支付接口返回4000错误的问题
当遇到支付宝小程序支付接口返回4000错误时,可以按照以下步骤进行排查和处理:
1. 确认调用的接口是tradePay。
2. 检查回调参数中的resultCode是否为4000。
3. 确认是否使用了正确的唤起方式,真机调试。
4. 检查入参字段 tradeNO 是否编写正确,'NO' 都是大写。
5. tradeNO 的入参数据是 alipay.trade.create(统一收单交易创建接口)返回的 'trade_no',不是 'out_trade_no'。
6. 如果问题依然无法解决,可以反馈技术支持进行排查。
---
## 84. 在使用支付宝JSAPI相关的下单接口时,遇到权限不足的问题,应该如何解决
如果在使用支付宝JSAPI相关的下单接口时遇到权限不足的问题,首先需要确认收款方是否已经开通JSAPI支付产品。如果未开通,需要使用收款账号登录支付宝商家平台完成产品的开通。开通地址为:[https://b.alipay.com/page/product-workspace/all-product。如果小程序提审时提示需要集成新版支付产品,也需要按照上述步骤进行开通。](https://b.alipay.com/page/product-workspace/all-product。如果小程序提审时提示需要集成新版支付产品,也需要按照上述步骤进行开通。)
---
## 85. 支付宝交易成功后,如果回调未成功,支付宝会在多长时间内进行重试,以及如何处理这种情况
如果异步通知验签成功后没有返回给支付宝success这7个字符,支付宝服务器会不断重发通知,一般情况下,25小时以内完成8次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h);需要检查验签代码,确保能够正常验签返回支付宝success7个字符。
---