# APP支付 --- ## 1. 开通app支付,一直显示未开通,去产品绑定也无法绑定 目前[开放平台](https://open.alipay.com/)升级后不需要绑定产品了,商户在应用的控制台侧边栏“可调用产品”列表里核实有app支付的话就可以直接进行接口调试了。 --- ## 2. 退款异步通知 异步通知的触发是依据交易的状态来触发的,不同的支付接口触发条件也不相同,新版本的支付接口默认触发条件如下,具体以实际接收到的交易状态数据为主,详见:[交易状态与异步通知](https://opendocs.alipay.com/support/01raw9?pathHash=1185bf61#%E4%BA%A4%E6%98%93%E7%8A%B6%E6%80%81%E4%B8%8E%E5%BC%82%E6%AD%A5%E9%80%9A%E7%9F%A5) ### 退款接口是否触发异步 alipay.trade.refund(交易退款接口)的异步通知是依据支付接口的触发条件来触发的,异步通知也是发送到支付接口传入的异步地址(notify_url)上。 #### 部分退款 部分退款交易状态是处于 TRADE_SUCCESS(交易成功),此时因部分退款导致交易金额变动,会触发异步通知。 #### 全额退款 交易成功后全额退款,交易状态会转为 TRADE_CLOSED(交易关闭),此时根据不同的支付接口触发条件也不同。
例如 APP 支付接口 TRADE_CLOSED(交易关闭)状态触发异步,此时就会收到全额退款的异步通知。而电脑网站支付 TRADE_CLOSED(交易关闭)状态不会触发异步,就不会有全额退款的异步通知。
**注意:** 退款的异步信息和正常支付的异步信息的返回信息是不一样的,退款的信息中会有 refund_fee(退款总金额)、gmt_refund(交易退款时间)参数,在正常支付成功的异步信息中是没有的。 --- ## 3. app支付是否支持鸿蒙系统接入 支付宝APP支付产品支持鸿蒙系统接入。
要接入鸿蒙版本的支付 SDK 进行 App 支付、支付宝授权登录或网页支付转 Native 业务等,可以参考接入文档:[https://opendocs.alipay.com/open/01ysmx?pathHash=f06f2b67](https://opendocs.alipay.com/open/01ysmx?pathHash=f06f2b67) --- ## 4. 【APP支付】客户端调试和问题排查 1、客户端调试
对接支付宝“APP支付”产品时,后端接口返回支付字串后,可以先使用“客户端调试工具”唤起支付字串验证 _客户端_ 对接流程是否正常。 客户端调试工具使用教程可以参考文档:[https://developer.aliyun.com/article/707536](https://developer.aliyun.com/article/707536)
2、后端接口问题排查
开发者在对接“APP支付”产品时经常会遇到收银台报错导致无法支付、交易订单退款失败、交易订单辅助接口(查询、撤销、关闭等接口)调试故障、异步通知发送失败等异常情况,此时商户可以使用工具:[https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e](https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e) 自行发起诊断。
输入请求参数、接口和请求时间后,点击“开始诊断”可定位接口异常具体原因,并提供相应的解决方案。 --- ## 5. app支付沙箱调试说明 文档[https://opendocs.alipay.com/open/00dn7d?pathHash=f5e7ce65](https://opendocs.alipay.com/open/00dn7d?pathHash=f5e7ce65) --- ## 6. app支付提示“缺少AppID参数”,后端返回的表单URL app支付的集成流程为:服务端掉用接口生成字符串,然后通过客户端SDK拉起支付
服务端请求示例详见:[https://opensupport.alipay.com/support/FAQ/6718bcf7c2be7003c90dcba7prod](https://opensupport.alipay.com/support/FAQ/6718bcf7c2be7003c90dcba7prod) --- ## 7. 如何通过新开发的APP实现支付宝收款和付款功能 1. 如果用户需要将用户付款到APP账号,可以参考支付宝的app支付产品文档:[https://opendocs.alipay.com/open/00dn73?pathHash=b91b9616](https://opendocs.alipay.com/open/00dn73?pathHash=b91b9616)
2. 如果用户需要将资金从APP账号转出,可以参考支付宝的商家转账产品文档:[https://opendocs.alipay.com/open/009zdp?pathHash=0afc35c0](https://opendocs.alipay.com/open/009zdp?pathHash=0afc35c0) --- ## 8. 风险联防回传的ip没有生效 风险联防参数格式不对也会导致回传ip不生效,参考该文档格式去入参:[https://opendocs.alipay.com/open/01ba6u?pathHash=e823dcfb](https://opendocs.alipay.com/open/01ba6u?pathHash=e823dcfb)
参考写法:
JSONObject bizContent = new JSONObject();
businessParams.put("mc_create_trade_ip", "11.110.xx.00");
bizContent.put("business_params", businessParams); --- ## 9. APP支付产品,iOS支付SDK未能吊起支付宝客户端,只能拉起H5,确定支付宝客户端已安装 需要提供客户端日志才能进一步定位问题。建议让用户录屏复现扫码上传一下日志。
提供任务id 和uid,然后联系支付宝技术支持协助排查; --- ## 10. 如何正确生成自签名字符串进行支付宝APP支付接口调用 在调用支付宝APP支付接口时,自签名步骤如下:
1. 确保所有参数(如app_id、method、total_amount、subject、out_trade_no、timeout_express、product_code等)都已正确设置。
2. 其他步骤按照自行实现签名官方文档:[https://opendocs.alipay.com/common/057k53](https://opendocs.alipay.com/common/057k53) 进行操作 --- ## 11. APP支付产品介绍 [APP支付](https://opendocs.alipay.com/open/204/105051?pathHash=b91b9616)适用于商家在App应用中集成支付宝支付功能。 商家APP调用支付宝提供的SDK调用支付宝客户端内的支付模块,商家APP会跳转到支付宝中完成支付,支付完后跳回到商家APP内,最后展示支付结果。
目前支持手机系统有:iOS(苹果)、Android(安卓)。 ### 注意事项 1、如果您已经接入支付宝手机网站支付,可以通过接入我们的SDK将手机网站支付转为 Native 支付。接入过程极其简单,只需拦截手机网站支付的 url,将该 url 转交给 SDK 进行处理;无需接入者解析参数字段,接入者的服务端也无需改造。
2、mobile.securitypay.pay”是老版的移动支付接口,使用的是mapi网关密钥处的密钥接入,不再推荐使用。 --- ## 12. APP支付请问交易支付完成后,交易关闭是不是就没有用了 是的,支付成功后,无法再调用交易关闭接口了,想退款的话,就去调用退款接口。 --- ## 13. 鸿蒙next版本 鸿蒙next版本预期2024.06上线
鸿蒙next版本sdk接入指引:[https://ohpm.openharmony.cn/#/cn/detail/@cashier_alipay%2Fcashiersdk](https://ohpm.openharmony.cn/#/cn/detail/@cashier_alipay%2Fcashiersdk)
建议商户根据指引自行更新sdk --- ## 14. 调用sdkExecute方法只返回了串,怎么请求app支付接口? [app支付](https://docs.open.alipay.com/204)是服务端与客户端进行交互使用的支付接口,需要将服务端返回的完整的支付请求参数串传给客户端的支付方法,然后由客户端发起请求进行支付,从而实现支付功能。
详情请参考[APP支付服务端请求示例](https://docs.open.alipay.com/54/106370/)。 --- ## 15. 当前交易仅支持从商家的app发起,请确认支付来源后重试 商户在商家中心的风险联防校验做了包名校验(校验支付来源),所以交易仅支持从通过包名校验的App发起。 --- ## 16. 支付宝证书支付报私钥[privateKey]不可为空,应该如何解决 1. 确认是否正确传入了私钥信息
2. 如果私钥信息丢失,需重新配置私钥信息,密钥如何生成和配置可参考:[https://opendocs.alipay.com/common/02mriz](https://opendocs.alipay.com/common/02mriz)
3. 证书接口加密方式支付,代码里也需要入参应用私钥信息
4. 如果问题依然存在,请提供请求入参和报错截图给技术支持,以便进一步排查问题 --- ## 17. app支付客户端SDK 是否支持 IPv6? 目前APP支付(包含移动支付)客户端 SDK 15.5.9 及以上的版本支持 IPv6,15.5.9 以下版本可能出现不兼容的情况,[客户端](https://opendocs.alipay.com/common/02km9l) SDK 请点击下载。
**注意:** openapi.alipay.com 网关(发送请求)支持 IPv6、异步通知网关不支持 IPv6。 --- ## 18. 如何开通风险联防 开通风险联防可以参考文档:[https://opendocs.alipay.com/b/092h9j](https://opendocs.alipay.com/b/092h9j) --- ## 19. 接入检测失败 建议忽略接入检测,对应产品开通完成后,登入开放平台应用后台 [https://open.alipay.com/](https://open.alipay.com/) 确认可调用产品中有 对应产品 即可开始进行对接调试。 --- ## 20. 支付接口中的subject字段对客在什么节点透出 ###### subject展示流程 1.支付宝app内Subject在收银台页面显示是订单信息字段后面
2.支付宝app账单内,Subject对应商品说明,其中退款账单是格式固定:退款-支付接口中设置的 subject(订单标题)。 --- ## 21. 开通app支付产品后,如何确认是否已经开通,以及开通后如何进行接口调试 开通app支付产品后,需要在商家平台开通app支付产品。开通地址为:[https://b.alipay.com/page/product-workspace/all-product](https://b.alipay.com/page/product-workspace/all-product)。开通后,产品状态会显示为已开通。
此时可以直接去调试接口(参考文档:[https://opendocs.alipay.com/open/repo-0038v9](https://opendocs.alipay.com/open/repo-0038v9)),无需再去添加功能。如果在调试接口时提示未开通,可能是产品状态未更新,请稍后再试或联系技术支持。 --- ## 22. 关闭收银台后用户还可以继续支付吗 如果用户拉起支付宝收银台,交易订单创建后又关闭了收银台,还是可以在账单里面找到这笔待支付订单继续完成支付的。 --- ## 23. 用户下单 IP 获取指引 ### 背景 支付宝支付场景需要获取用户在商家侧下单 IP(mc_create_trade_ip),用于提高支付安全性。此指引用于帮助商家获取正确且真实的 mc_create_trade_ip 字段。
**注意:** 商家侧下单 IP 指的是在发起支付宝支付流程之前,用户在商家侧发起下单操作生成商家订单时的客户端 IP,并非请求支付宝支付网关进入支付流程后的客户端 IP。 ### 用户下单 IP 获取方式 不同商家由于部署网络环境不同,获取商家侧下单 IP 的方式也存在差异,商家可以根据自身情况获取真实的用户下单 IP。常见的场景有两种分为 **有代理** 和 **无代理** 。 ### 无代理场景 商家的网络部署环境未使用代理服务器,用户直接与商家服务端通信。这种情况较为简单直接获取客户端 IP 即可。 #### 注意事项 当您的服务器未经过代理,商家在获取用户创单IP时,不要去获取用户请求的 HTTP 头中 **X-Forwarded-For** 、**Client-IP** 、**X-Client-IP** 、**X-Originating-IP** 、**X-Real-IP** 、**X-Remote-Addr** 、**X-Remote-IP** 等字段,而是直接获取当前跟自己建连的 IP 地址。在许多三方库中,可能会自己获取 X-Forwarded-For 中的地址用来代替建连地址,从而导致IP可以被任意伪造,引起防护失效。 ### 有代理场景 由于商家的业务需求使用代理服务器,用户先与代理服务器通信,代理服务器再访问商家服务端。这种情况下直接获取客户端 IP 会获取到代理服务器的 IP,就会出现 127.0.0.1、localhost 或者内网 IP 等情况。服务端无法获取到用户的真实 IP,可以通过配置代理服务器来记录用户的真实 IP。
![](https://mdn.alipayobjects.com/afts/img/A*qgfOS4ArLP4AAAAARwAAAAgAeq8wAA/original?bz=openpt_doc&t=f6vYFdwAN8VRNMDiilNUXR32uhUa1gW6msKc7tY-agsDAAAAZAAAMK8AAAAA#__spacing=both&clientId=uadf751bd-d6c8-4&from=markdown&id=zGl8R&originHeight=670&originWidth=1734&originalType=url&ratio=1&rotation=0&showTitle=false&status=done&style=none&taskId=u089f78a3-75e6-4fe2-8b48-e93db5170fc&title=)
存在 CDN 的情况下,检查 CDN 的配置情况,确保 CDN 可以将客户端真实 IP 正确回传,同时防止 X-Forwarded-For 等字段被伪造的情况发生。 #### 配置示例 ##### nginx有代理情况配置 根据需求修改nginx配置文件,向请求头添加字段用于记录客户端真实IP。 ##### apache有代理情况配置 其它中间件可根据需求自行配置,记录通信过程。后端服务器代码根据代理服务器部署情况获取客户端真实 IP。 #### 示例代码 **注意** :当服务器经过代理,商户在获取创单 IP 时,可判断自己真实的代理服务器 IP 在请求头中的添加情况,获取与最外层代理服务器建立通信的真实客户端 IP。如果出现 X-Forwarded-For 中 IP 列表与真实情况不同很大可能是伪造的请求头参数。 ### 案例说明 案例中: - 无代理的情况下,如果获取的 IP 地址是 120.24.169.223 或者 120.24.169.22 或者 8.8.8.8,则代表程序中存在 bug。 - 有代理的情况下,如果 X-Forwarded-For: 120.24.169.223,8.8.8.8 与真实网络线路路由顺序不同,证明此请求存在伪造 IP,请谨慎获取,测试确保正确后再回传。 防火墙相关也可点击查看:[阿里云web应用防火墙获取真实IP](https://help.aliyun.com/document_detail/42205.html?utm_content=g_1000230851&spm=5176.20966629.toubu.3.f2991ddcpxxvD1#section-u6y-vx5-3j1)。 --- ## 24. APP支付自签名实现签名验签 自行实现签名验签参考文档:[https://opendocs.alipay.com/common/057k53](https://opendocs.alipay.com/common/057k53) --- ## 25. App支付用户取消支付后台能收到回调吗 APP支付产品中,当订单交易状态为TRADE_FINISHED、TRADE_SUCCESS、TRADE_CLOSED时才会触发异步通知,建议根据交易状态来判断是否会接收到异步通知。详见:[https://opendocs.alipay.com/open/00dn78?pathHash=fef00e6d](https://opendocs.alipay.com/open/00dn78?pathHash=fef00e6d) --- ## 26. APP支付的时候还需要填写应用网关和授权回调地址吗? APP支付的异步回调是发送到接口的notify_url地址上的(参考:[支付宝异步通知说明](https://opendocs.alipay.com/support/01raw4?pathHash=fb66d8bb))。应用网关和授权回调地址均可以不填,可根据实际业务场景来使用。
1、应用网关:用于接收支付宝异步通知,开发者视实际需要填写,如[现金红包](https://opendocs.alipay.com/open/20190111144811460526/quickstart#%E7%AC%AC%E5%9B%9B%E6%AD%A5%EF%BC%9A%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8)、[转账到支付宝账户](https://opendocs.alipay.com/open/309/106236#%E7%AC%AC%E5%9B%9B%E6%AD%A5%EF%BC%9A%E6%8E%A5%E5%8F%A3%E8%B0%83%E7%94%A8) 中单据状态变更后触发的 alipay.fund.trans.order.changed (转账单据状态变更通知)。
2、授权回调地址:[第三方应用授权](https://opendocs.alipay.com/isv/10467/xldcyq) 或 [用户信息授权](https://opendocs.alipay.com/open/284/web#%E5%85%B3%E4%BA%8E%20redirect_uri%20%E7%9A%84%E8%AF%B4%E6%98%8E) 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致,用户成功授权后将在该 URL 后携带授权码等信息并跳转至该页。
更多详见[应用环境配置说明](https://opendocs.alipay.com/open/200/105310?pathHash=7f6d049a#%E9%85%8D%E7%BD%AE%E5%BA%94%E7%94%A8%E7%8E%AF%E5%A2%83)。 --- ## 27. 不同主体商户是否允许绑定同一个app包名? APP支付不需要绑定包名,这个是分享到支付宝场景必须的。目前这个绑定也没有校验,可以随便填写。 --- ## 28. 如何解决支付产品收款额度受限的问题 支付产品收款额度会依据您开通时提供的资质情况而定。详情可查看 [支付产品额度规则介绍](https://opendocs.alipay.com/b/039qjw) 。若部分材料不合格,收款额度将受到限制(单笔收款 ≤ 2000 元,单日收款 ≤ 20000 元)。商家可通过在开通页面完善对应信息解除限制,详情可查看 [如何进行支付产品资质补全以提升额度](https://opendocs.alipay.com/b/06fioz?pathHash=6443a545)。 --- ## 29. ISV权限不足,如何解决 当遇到ISV权限不足的问题时,需要重新签约进行使用的APP支付。具体步骤如下:
1. 核实当前权限是否足够。
2. 如果权限不足,需要重新签约APP支付销售方案。
3. 签约成功后,再次尝试使用相关功能。 --- ## 30. 退款的异步通知发到哪 退款的异步也是发送到支付接口中设置的notify_url,退款接口无法单独设置异步通知地址。 --- ## 31. 当前交易仅支持从商家的app发起,请确认支付来源后重试 是因为在商家中心的风险联防校验做了包名校验。 --- ## 32. 费率变更后,用户调用的app支付出错,如何解决 1. 费率变更不影响支付产品本身接口调用
2. 建议使用“APP支付工具”排查所遇问题:[https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e](https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e) --- ## 33. 接入app支付提示收款额度为0?或提示收款额度受限? 支付产品收款额度会依据您开通时提供的资质情况而定。详情可查看 [支付产品额度规则介绍](https://opendocs.alipay.com/b/039qjw) 。若部分材料不合格,收款额度将受到限制(单笔收款 ≤ 2000 元,单日收款 ≤ 20000 元)。商家可通过在开通页面完善对应信息解除限制,详情可查看 [如何进行支付产品资质补全以提升额度](https://opendocs.alipay.com/b/06fioz?pathHash=6443a545)。 --- ## 34. uniapp支付拉起报错 errMsg":"requestPayment:fail service not found app支付建议您用客户端调试工具(工具下载地址 [https://developer.aliyun.com/article/707536](https://developer.aliyun.com/article/707536))先调试看一下能否拉起支付,可以拉起,说明服务端app支付返回的支付串没有问题, uniapp需要咨询uniapp对应同学,与Uni-App开发框架相关的技术支持诉求,可通过DCloud问答社区([https://ask.dcloud.net.cn/explore/](https://ask.dcloud.net.cn/explore))寻求帮助 --- ## 35. APP支付—接入检测,其中 应用类型是"APP支付"产品所支持的类型 这一栏显示 不符合条件。应用是基础应用类型需要如何修改 app支付支持基础应用类型的应用接入,接入检测可以忽略,在开放平台应用后台 [https://open.alipay.com/](https://open.alipay.com/) 可调用产品中有app支付即可。 --- ## 36. 为什么支付宝APP支付交易会在15天后自动关闭 默认情况下,订单超时关闭时间是15天。如果用户在输入密码支付时余额不足退出了,交易创建成功后超过15天就会自动关闭订单。 --- ## 37. time_expire如果不指定的话,多久会关闭交易 默认情况下,如果不指定time_expire,交易将在15天后关闭。 --- ## 38. 如何解决支付宝APP支付接口调用失败的问题 1. 确认使用的appid类型是否正确。三方应用调用接口需要传授权商户授权给您三方应用的app_auth_token。
2. 如果不是服务商代调用,使用移动应用类型的appid去调用接口。
3. 确认接口内容加密方式是否正确,接口代码使用的私钥和开放平台上传信息是否匹配。
4. 检查接口入参参数是否正确。
5. 如果问题仍然存在,可以使用支付宝开放平台提供的“APP支付”工具进行诊断和解决。工具地址:[https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e](https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e)。 --- ## 39. app支付接口的签名一直失败,如何解决 1. 使用app支付工具排查:[https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e](https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e)。
2. 如仍有疑问,可提供支付接口返回的字符串,以便技术支持进行测试。 --- ## 40. EasySDK接入退款接口的java语言示例代码 public static void main(String[] args) {
/** 设置参数(全局只需设置一次) **/
Factory.setOptions(getOptions());
try {
/** 发起API调用 **/
AlipayTradeRefundResponse response = Payment.Common()
/** 调用agent扩展方法,设置app_auth_token,完成第三方代调用 **/
//.agent("app_auth_token")
/** 调用optional扩展方法,完成可选业务参数(biz_content下的可选字段)的设置 **/
//.optional("trade_no", "4578916541244")
//.optional("out_request_no", "123456789")//请求批次流水号,部分退款必传,否则报错
/** 入参顺序为: - out_trade_no -> 商户请求支付时自己系统的订单号,与trade_no同时传入以trade_no为准 - refund_amount -> 退款金额,退款总金额不能大于该笔订单支付最大金额 - **/ .refund("144857ddw887ew11234", "0.01");
/** 获取接口调用结果 **/
System.out.println(response.getHttpBody());
} catch (Exception e) {
System.err.println("调用遭遇异常,原因:" + e.getMessage());
throw new RuntimeException(e.getMessage(), e);
}
}
private static Config getOptions() {
/** 初始化 **/
Config config = new Config();
/** 通信协议 **/
config.protocol = "https";
/** 支付宝网关 **/
config.gatewayHost = "openapi.alipay.com";
/** 设置签名类型 **/
config.signType = "RSA2";
/** 应用id,如何获取请参考:[https://opensupport.alipay.com/support/helpcenter/190/201602493024](https://opensupport.alipay.com/support/helpcenter/190/201602493024) */
config.appId = "<-- 请填写您的AppId,例如:2019****67145019 -->";
/** 应用私钥, 如何获取请参考:[https://opensupport.alipay.com/support/helpcenter/207/201602471154?ant_source=antsupport](https://opensupport.alipay.com/support/helpcenter/207/201602471154?ant_source=antsupport) */
config.merchantPrivateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
/**注:如采用证书模式,无需赋值下面的支付宝公钥字符串 */
//config.merchantCertPath = "<-- 请填写您的应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt -->";
//config.alipayCertPath = "<-- 请填写您的支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt -->";
//config.alipayRootCertPath = "<-- 请填写您的支付宝根证书文件路径,例如:/foo/alipayRootCert.crt -->";
/**注:如采用非证书模式,则无需赋值上面的三个证书路径,改为赋值如下的支付宝公钥字符串即可 */
config.alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
/** 可设置异步通知接收服务地址(可选) */
//config.notifyUrl = "<-- 请填写您的支付类接口异步通知接收服务地址,例如:[https://www.test.com/callback](https://www.test.com/callback) -->";
/** 可设置AES密钥调用AES加解密相关接口时需要(可选) */
//config.encryptKey = "<-- 请填写您的AES密钥,例如:aa4BtZ*****2wnXLb1ThQA== -->";
return config;
} --- ## 41. 暂时无法获取付款结果,稍后请至支付宝账单或交易发起的应用/网站查看(ALIN10064) ### 错误描述 接口调用报错提示暂时无法获取付款结果,稍后请至支付宝账单或交易发起的应用/网站查看(ALIN10064) ### 问题原因 环境网络不稳定 ### 解决方案 核实交易的网络环境是否正常,然后核实交易的支付情况,可通过支付宝钱包内的账单明细,[支付宝后台](https://mbillexprod.alipay.com/enterprise/fundAccountDetail.htm#/)以及[交易查询接口](https://opendocs.alipay.com/apis/api_1/alipay.trade.query)确认订单支付状态。如果核实到订单交易为支付成功(TRADE_SUCCESS)则表示交易已经正常完成,只是网络不稳定导致支付宝收银台未及时获取支付结果(不会影响交易状态); 如果核实到订单交易为等待支付(WAIT_BUYER_PAY),建议可先通过[关闭接口](https://opendocs.alipay.com/apis/api_1/alipay.trade.close)关闭订单,再修改out_trade_no,重新发起请求支付。 --- ## 42. 新旧版app支付能否共用同一套密钥 您好,sign_type为RSA时,可以使用同一套应用私钥和应用公钥,sign_type为RSA。
目前应用只支持RSA2,建议先查看应用中是否有RSA密钥配置入口,若无相关入口,则必须使用不同的密钥。 --- ## 43. APP支付支持在小程序场景唤起支付吗? 不支持,app支付获取到的支付串需要通过客户端集成拉起 参考文档接入(Android集成流程参考 [https://opendocs.alipay.com/open/00dn75?pathHash=22ed0058](https://opendocs.alipay.com/open/00dn75?pathHash=22ed0058)
ios集成流程参考 [https://opendocs.alipay.com/open/00dn76?pathHash=8cf05d19](https://opendocs.alipay.com/open/00dn76?pathHash=8cf05d19))。小程序内的支付需要使用专用支付产品jsapi支付,参考文档接入 [https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca](https://opendocs.alipay.com/mini/05x9ku?pathHash=a7b61cca) --- ## 44. 商家平台已经签约了app支付产品,但是登录支付宝开放平台查看的应用还是没有权限调用 [商家中心](https://b.alipay.com/page/home)签约使用的A账号开通的APP支付产品,那么就需要用A账号登录[支付宝开放平台后台](https://open.alipay.com/)去创建应用接入APP支付。 --- ## 45. app支付完成后没有回跳,停留在支付宝首页。 支付完成后自动回跳的,您需要检查客户端SDK集成时是否有配置回跳app的scheme地址。
参考文档配置: [https://opendocs.alipay.com/open/00dn76?pathHash=8cf05d19](https://opendocs.alipay.com/open/00dn76?pathHash=8cf05d19) --- ## 46. 如何使用公钥证书调用退款demo 参考文档证书调用示例:[https://opendocs.alipay.com/common/02kkv2?pathHash=358ff034](https://opendocs.alipay.com/common/02kkv2?pathHash=358ff034)进行alipayClient对象初始化,然后参考退款接口文档来设定相关业务参数: [https://opendocs.alipay.com/open/6c0cdd7d_alipay.trade.refund?scene=common&pathHash=4081e89c](https://opendocs.alipay.com/open/6c0cdd7d_alipay.trade.refund?scene=common&pathHash=4081e89c) --- ## 47. 移动支付,可以调用 alipay.trade.query (统一收单线下交易查询)吗 可以使用。该接口提供所有支付宝支付支付交易订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况: 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付异步通知。 --- ## 48. app支付客户端返回4000 app支付客户端返回4000可以参考[resultStatus 结果码含义](https://opendocs.alipay.com/open/00iki4?pathHash=eab39489)
参考检查方向:
1、请检查设置的参数格式是否正确,必传参数是否都传上了;
2、请确认是否有上传应用公钥到调用接口的APPID的应用中;
3、请确认生成的商户公私钥是否正确;可以用以下方法检查:下载好支付宝的接口demo后,配置好账号信息、商户公私钥信息后,运行demo,如果运行正常,说明公私钥没问题;如果运行不正常,就说明公私钥生成有错误,那就用openssl工具按照 RSA私钥及公钥生成重新生成公私钥。 --- ## 49. APP支付产品额度是否有限制? 需按照 [https://opendocs.alipay.com/open/00dn73?pathHash=b91b9616](https://opendocs.alipay.com/open/00dn73?pathHash=b91b9616) 文档申请条件要求提交材料,若部分材料不合格,收款额度将受到限制(单笔收款 ≤ 2000 元,单日收款 ≤ 20000 元)。若签约时未能提供相关材料(如营业执照),请在合约生效后的 30 天内补全,否则会影响正常收款。[点此查看详情](https://opendocs.alipay.com/b/039qjw)。 --- ## 50. app支付服务器端demo app支付服务端的demo,建议[参考服务端示例集成](https://docs.open.alipay.com/54/106370/)。 --- ## 51. 商户代扣普通异步代扣模式timeout_express设置小于60m 会有什么报错呢 不会报错,可能会异步受理失败只返回10003没有async_payment_mode信息返回,异步代扣是否受理成功一定要看async_payment_mode,返回信息。还有如果小于60m受理成功也可能会未触发扣款,异步扣款触发策略不固定,会根据内部策略尝试扣款,所以关闭时间不建议设置太短。 --- ## 52. 有没有交易风险检测、反欺诈的产品 可以接入 交易安全防护:[https://opendocs.alipay.com/open/20190125120424120148/intro?pathHash=c9f3b18a](https://opendocs.alipay.com/open/20190125120424120148/intro?pathHash=c9f3b18a) 这个可以检查交易风险,风险类型包括用户投诉、欺诈、花呗套现、赌博和虚假交易等类型。 --- ## 53. app支付安卓是不是不需要设置APP ID,然后拿后台返回order信息发起支付 服务端调用app支付的接口要用到appid和密钥,接口返回的orderinfo字符串给客户端去拉起支付,客户端参考文档接入[https://opendocs.alipay.com/open/00dn75?pathHash=22ed0058](https://opendocs.alipay.com/open/00dn75?pathHash=22ed0058) --- ## 54. APP支付对手机系统有没有要求 APP支付产品目前支持手机系统有:iOS(苹果)、Android(安卓)、Harmony(鸿蒙)。 --- ## 55. APP支付需要在支付宝开放平台添加功能包吗 目前开放平台已经更新,无需做功能包绑定的操作了,商家中心签约完成后,应用上会自动添加上产品能力(需要注意只会给产品支持的应用类型添加);如果需要检查应用是否有接口权限可以查看应用下的-可调用产品 列表。 --- ## 56. 支付宝收银台是否支持横屏模式支付 不支持,支付宝接口无论是app支付还是手机网站支付,只要是唤起支付宝钱包的收银台情况下,只支持竖屏模式。 --- ## 57. 在鸿蒙的web组件中使用H5转Native支付的方式拉起支付宝支付,如何实现取消支付回到支付宝中间页 建议您拦截下 点击打开支付宝付款 这个按钮对应的url, 自行跳转 唤起支付下,走openlink 方式唤起scheme的方式重新拉起支付,没有安装支付宝app,也会走网页支付的,没有安装也正常可以的,可以参考这个走openlink方式去唤起:[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/uiability-startup-adjust-V5](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/uiability-startup-adjust-V5) --- ## 58. APP支付报错“当前交易仅支持从商家的App发起 请确认支付来源后重试” 这个是app支付风险联防校验,可以登录商家中心风险联防 [https://b.alipay.com/page/merchant-openplatform/bJoinDefenseControl](https://b.alipay.com/page/merchant-openplatform/bJoinDefenseControl) 后台查看是否有设置对应app包名信息,这个设置后,客户端SDK在拉起支付的时候,SDK会有校验拦截。 --- ## 59. 鸿蒙系统是否可以接入风险联防 支持的,参考文档去接入 [https://opendocs.alipay.com/open/01ba6u?pathHash=e823dcfb](https://opendocs.alipay.com/open/01ba6u?pathHash=e823dcfb) --- ## 60. APP支付横屏转竖屏拉起收银台,2个收银台样式不一样是什么原因? APP支付横屏转竖屏拉起收银台,2个收银台样式不一样,是已知问题。建议客户端先转竖屏在去拉起收银台。 --- ## 61. 客户端resultStatus结果码说明 客户端resultStatus结果码是支付宝sdk对商户的请求支付数据进行处理完成后,同步反馈到商户APP端的处理结果。
具体请参考[返回结果示例](https://opendocs.alipay.com/open/00iki4?pathHash=eab39489)(Android|iOS)和[resultStatus结果码](https://opendocs.alipay.com/open/00iki4?pathHash=eab39489)。 --- ## 62. APP支付接入,主账号下的应用调用接口,可以子账号签约APP支付合约吗? 不可以的,主账号下的应用调用接口,就要用主账号去签约app支付合约。哪个账号收款,默认就哪个账号去签约app支付。 --- ## 63. ALIN42276 ### 错误描述 接口调用提示商户的支付宝账号暂不支持收款,请联系商户核实信息(ALIN42276)。 ### 问题原因 接口中传入了 seller_id 参数值和调用接口的 APPID 对应的支付宝账户的 PID 不一致导致。 ### 解决方案 1. 接口不传递 seller_id 参数,然后进行测试. 2. 如一定要传递 seller_id 参数,需要把 seller_id 参数值改成和 APPID 对应的支付宝账户的 PID 一致的值,再进行测试. --- ## 64. 沙箱app支付如何加沙箱联调代码 沙箱app支付,客户端加沙箱联调代码进行沙箱测试。
App 支付只支持 Android 版接入,在使用 SDK 时,在支付接口前调用如下方法用于切换沙箱环境与生产环境; 如果不使用此方法,默认使用生产环境。
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
具体客户端代码可参考 [APP支付沙箱调试说明](https://opendocs.alipay.com/open/204/106450?pathHash=f5e7ce65)。 --- ## 65. app支付客户端回调参数格式 对于 iOS 平台而言同步返回参数是一个 NSDictionary 对象,对于 Android 平台而言是一个 map 结构体。里面有三个key,其中memo 是描述信息(类型为字符串),result 是处理结果(类型为 json 结构字符串),resultStatus 是结果码(类型为字符串)
app支付同步回调[请点击](https://opendocs.alipay.com/open/00iki4?pathHash=eab39489)参考。 --- ## 66. 支付宝iOS端是否有计划更新sdk版本,关于修复openurl废弃api 目前最新版的sdk 15.8.30 已经修复了该问题了,建议您可以使用最新的客户端sdk。 --- ## 67. ALIN47489 ### 错误描述 页面提示【交易失败,谨防诈骗】声称客服/公检法等要求转账、办贷款要求先交钱均为诈骗;兼职刷单易被骗,请勿参与。若确认无风险,请重试。(ALIN47489)。 ### 问题原因 账户存在异常问题 ### 解决方案 - 重新尝试支付,检查是否可以支付成功。 - 多次尝试后仍然无法支付,核实是哪个账户存在问题: - 所有用户都无法支付,建议商户联系 400*****58 检查收款账户异常问题。 - 若只有该用户无法支付,建议买家联系 400*****58 检查付款账户异常问题。 --- ## 68. ALIN42273 ### 报错描述 订单参数异常,请重新下单后发起付款(ALIN42273) ### 解决方案 参数问题导致,建议先设置必选参数,并检查参数格式后进行测试。
注:如果您的收单协议中约定的行业场景为『非税业务』且结算到卡,请在请求参数中传结算到卡的参数,否则需要联系商服客服,将行业场景去掉『非税业务』属性。 --- ## 69. ALIN42292 ### 错误描述 报错买家和卖家支付宝账号不能重合,请更换账号重新登录 (ALIN42292)。 ### 问题原因 收款方和付款方为同一个账户,不支持支付。 ### 解决方案 收款方和付款方为同一个账户,不支持自己给自己付款。
建议更换付款账户进行请求支付。 --- ## 70. ALIN10071 ### 错误描述 - 抱歉,手机端暂时无法付款,请先到电脑端完成付款 (ALIN10071)。 - 当前交易没有可用的付款方式,可能是商家限定了付款方式(ALIN10071)。 - 无可用付款方式,请添加付款方式后再试 (ALIN10071)。 ### 问题原因 - 由于收款账号受到风控限制导致,风控判定此交易为套现、诈骗等行为。 - 限制了支付渠道。 ### 解决方案 - 抱歉,手机端暂时无法付款,请先到电脑端完成付款 (ALIN10071):一般是由于账户风控导致,建议电话咨询 400*****58 来解除风控。 - 当前交易没有可用的付款方式,可能是商家限定了付款方式(ALIN10071):一般是由于支付宝预授权不支持花呗冻结导致,如果冻结接口的支付渠道只传花呗,不设置其他支付渠道就会报错,建议支付渠道去掉花呗,或者添加其他的支付渠道。 - 无可用付款方式,请添加付款方式后再试 (ALIN10071):一般是由于接口中限制支付渠道,但是用户的该支付渠道余额不足。 --- ## 71. 异步通知post接收的数据会不会被修改 不会的,支付宝返回的数据一定是您实际成功请求是过来的数据。
正常情况下所有的订单请求信息都是需要您这边应私钥做签名后才能发起请求的。如果金额有修改,肯定是您签名前的数据就已经被篡改了
特别注意的是,注意保护自己的公私钥,以及需要验证异步通知中的:
1、数据中的out_trade_no是否为商户系统中创建的订单号
2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额)
3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email)
4、验证app_id是否为该商户本身 --- ## 72. ALIN47095 报错描述:订单参数异常,请联系商户(ALIN47095)
解决方案:建议只传必传参数,避免选填参数干扰。
如app支付只设置subject、out_trade_no、total_amount、product_code共4个必传参数。
设置测试成功后,进行设置选填参数测试。 --- ## 73. ALIN10003 业务解析异常(ALIN10003)
解决方案:
1、建议将手机网站支付请求参数在浏览器页面进行测试
(1)测试失败,建议核实参数等信息。
(2)测试成功,参考第二步。
2、手机网站转native支付进行沙箱测试导致,建议更换为正式环境测试。 --- ## 74. ALIN42294 ### 错误描述 移动端报错付款账号(或您在商户侧开通的支付宝免密支付账号)和支付宝当前登录账号不一致,请用付款账号登录支付宝后再继续付款 (ALIN42294)。 ### 问题原因 账号 A 创建订单后,账号 B 使用相同请求字符串进行请求支付。 ### 涉及接口 - [alipay.trade.app.pay](https://opendocs.alipay.com/open/02e7gq)(app 支付接口 2.0) - [alipay.trade.wap.pay](https://opendocs.alipay.com/open/02ivbs)(手机网站支付接口 2.0) ### 解决方案 账号 A 在以上时间点创建订单后未完成支付,账号 B 使用相同请求字符串进行请求支付。
注意:同一用户下存在多个账号,一个账号请求创建订单后,切换成另外一个账号使用相同数据重新请求支付也会导致该问题。 #### 不同用户请求支付导致报错 建议商家更换商户订单号后重新唤起请求支付。
注意:商户订单号(无论是什么产品,接口中存在的请求订单号)必须保持唯一,不重复。 #### 同一用户切换账号导致报错 建议用户点击 登录付款账户,使用创建订单的账号进行付款,或者商家更换商户订单号后重新唤起请求支付。 --- ## 75. ALIN42916 ### 错误描述 接口调用提示请警惕兼职刷单、投资,假冒客服、公检法等骗局。本次交易已被终端。请点击 查看帮助 根据引导进行风险排除(ALIN42916)。 ### 问题原因 商家账号被风控,限制交易导致。 ### 解决方案 需拨打 400*****58 联系电话核实商家账号风控情况以及解除的方法,具体以 4007585858 处理结果为准。 --- ## 76. 沙箱能在鸿蒙sdk中添加“EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOx);” 沙箱调试代码吗 不可以,这行代码是用于安卓sdk中的,您鸿蒙中调试沙箱app支付,建议下载客户端调试工具去调试。工具下载:[https://developer.aliyun.com/article/707536](https://developer.aliyun.com/article/707536) --- ## 77. App支付和移动支付的区别 移动支付即原来的老版本的接口;APP支付即新版本的接口。其主要区别如下:
1、请求网关不一样,移动支付走的[https://mapi.alipay.com/gateway.do网关,app支付v2sdk走的https://openapi.alipay.com/gateway.do,v3sdk走的https://openapi.alipay.com/v3/*(V3版本SDK请求的地址,域名与V2保持一致,地址v3后为接口名称,如alipay.trade.pay(统一收单交易支付接口),请求url为https://openapi.alipay.com/v3/alipay/trade/pay。)](https://mapi.alipay.com/gateway.do网关,app支付v2sdk走的https://openapi.alipay.com/gateway.do,v3sdk走的https://openapi.alipay.com/v3/*(V3版本SDK请求的地址,域名与V2保持一致,地址v3后为接口名称,如alipay.trade.pay(统一收单交易支付接口),请求url为https://openapi.alipay.com/v3/alipay/trade/pay。))
2、签名方式
移动支付仅支持RSA签名方式,App支付支持RSA和RSA2两种签名方法。
3、商户公钥上传入口不一样
移动支付:在“mapi网关产品密钥”入口上传并获取支付宝公钥;
App支付:在“开放平台密钥”入口上传并获取支付宝公钥;
4、移动支付不支持沙箱环境联调;App支付目前支持Android版沙箱联调,iOS不支持沙箱联调。
5、移动支付接口产生的交易,可以通过app支付的查询接口(alipay.trade.query)进行查询。但是可能会缺少receipt_amount等信息。如果想通过app支付查询接口(alipay.trade.query)进行查询,必须从移动支付接口升级改签为app支付接口(改签方法可以参见 [app支付签约](https://doc.open.alipay.com/docs/doc.htm?treeId=193&articleId=105314&docType=1#s0))。
6、移动支付改签到app支付,原移动支付的退款接口会失效!请直接使用的新的退款接口(alipay.trade.refund)来替代原来的老退款接口进行退款操作!
更多详见 [移动支付与App支付接入对比](https://doc.open.alipay.com/docs/doc.htm?docType=1&articleId=106541) 。 --- ## 78. app支付的sdk支持php5.5以下的开发环境吗 目前app支付的sdk仅适用于php5.5以上的开发环境,请于[app支付demo&sdk](https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.SvgCXs&treeId=54&articleId=106370&docType=1)下载。 --- ## 79. ALIN10133 ### 错误描述 接口调用提示支付宝账户不存在,请重新输入(ALIN10133) ### 问题原因 付款账号有问题 ### 解决方案 1、先核实测试的环境是正式环境还是沙箱环境(可通过接口请求网关进行区分),如果是沙箱环境测试,需要使用沙箱环境的支付宝账号进行登录付款,并且唤起钱包时要确认是否唤起了沙箱钱包进行付款。反之,如果使用正式环境账号,需要使用正式的付款账号进行付款操作。
沙箱环境请求网关:[https://openapi-sandbox.dl.alipaydev.com/gateway.do](https://openapi-sandbox.dl.alipaydev.com/gateway.do)
正式环境请求网关:[https://openapi.alipay.com/gateway.do](https://openapi.alipay.com/gateway.do)
注:沙箱账号查询和沙箱钱包下载可点击[沙箱环境使用说明](https://opendocs.alipay.com/common/02kkv7?pathHash=8fd32ef6)进行查看。
2、核实输入的登录付款账号是否错误以及是否真实存在 --- ## 80. 鸿蒙端接入app支付,在开放平台后台创建应用时,应用平台怎么选择? 应用平台没有单独的鸿蒙选项,选择“Android” 即可,如果您业务涉及ios、Android、鸿蒙应用平台可以选择”全部“。 --- ## 81. ALIN47089 ### 错误描述 接口调用报错提示 订单支付金额异常,请联系商户 (ALIN47089)。 ### 问题原因 请求参数中交易金额参数设置有误。 ### 解决方案 检查请求参数中交易金额参数,如app支付中的total_amount。
交易金额设置要求:单位为元,精确到小数点后两位,取值范围[0.01,100000000]
注:交易金额只能设置数字,并且金额大于0.01 --- ## 82. 微信环境下怎么使用支付宝收付款? 微信会屏蔽支付宝手机网站支付链接的跳转,建议引导用户在微信中选择系统浏览器打开支付链接,在浏览器跳转到的支付页面使用支付宝完成支付。 --- ## 83. 应用可以换绑收款账号吗 应用不支持换绑收款账号,您只能用新的收款账号去创建应用绑定收款。 --- ## 84. app支付支持同步通知吗 app支付支持获取[同步通知](https://docs.open.alipay.com/204/105302/)。支付宝sdk对商户的请求支付数据处理完成后,会将结果同步反馈给商户app端。不建议您以同步通知作为交易是否支付成功的判断,建议您以异步通知和查询接口为准。 --- ## 85. App支付是否可以使用指纹支付 唤起支付宝客户端场景支持指纹支付。
更多产品及接口相关内容请移步[APP支付产品及接口文档](https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.PljwiZ&treeId=193&articleId=105051&docType=1)。 --- ## 86. 个人账号开通的APP支付有必要换到企业账号对接吗? 这个要看自己的业务需求,支付宝没有强制要求使用个人还是企业账号进行收款。期望收款到哪个账号,就用哪个账号下的appid去调用支付接口。 --- ## 87. 鸿蒙集成app支付时,是否支付return_url回跳 不支持,app支付接口不支持设置return_url,支付成功后默认跳回商家自己的app。 --- ## 88. APP支付成功,异步通知验签时返回的结果为空值这是为什么 1. 确保使用支付宝发送的原生回调数据进行验签,而不是自行处理的数据。
2. 检查支付宝公钥设置情况,确保正确无误,验签需使用支付宝公钥。
3. 参考支付宝官方文档中的异步通知接收示例,确保项目回调接收逻辑正确。
4. 如果问题依然存在,检查项目中是否存在额外的字符串转义或编码处理,确保数据未被修改。
5. 如有需要,可以使用支付宝提供的诊断工具查询回调记录,工具地址:[https://opensupport.alipay.com/support/diagnostic-tools/0d278b63-aaa5-4aa3-adec-5f08adf29986](https://opensupport.alipay.com/support/diagnostic-tools/0d278b63-aaa5-4aa3-adec-5f08adf29986),进一步排查问题。
6. 验签示例代码参考,确认使用的方法与文档中是否一致:密钥模式:[https://opendocs.alipay.com/support/01ravg?pathHash=b44d0628](https://opendocs.alipay.com/support/01ravg?pathHash=b44d0628),证书模式:[https://opendocs.alipay.com/support/01ravh?pathHash=5d687fac](https://opendocs.alipay.com/support/01ravh?pathHash=5d687fac) --- ## 89. app支付如何实现收款至不同商家 ### 三方调用 #### 第三方应用授权场景 通过 [第三方应用授权](https://opendocs.alipay.com/isv/10467/xldcyq),服务商/开发者可以在取得商家授权后拿到授权 app_auth_token,代替没有开发能力的商家调用支付宝开放平台提供的服务端接口(OpenAPI),实现业务场景。 #### 第三方应用授权流程 1. 商家授权给服务商,服务商获取商家的 app_auth_token,详见[第三方应用授权接入流程](https://opendocs.alipay.com/isv/10467/xldcyq)。 2. 买家在平台选择商品,服务商 根据商品判断该商品应该付款给到商家 A还是商家 B ,可以自己设置一个判断条件。 根据判断条件如果该商品属于商家 A 收款,那就在支付接口中设置对应商家 A 的 app_auth_token 请求到支付宝发起请求支付即可,详见 [如何设置 app_auth_token](https://opensupport.alipay.com/support/FAQ/4add5639-7107-468d-9794-9d89c7c34fba)。 #### 注意事项 - 第三方应用授权支持当面付、手机网站支付、电脑网站支付、APP 支付和刷脸付等,但不支持合并支付。 - 只需要 服务商 的账号和密钥。商家只需要授权,不需要商家账号和密钥信息。 - 服务商 和收款商家终止合作,收款商家 [取消授权](https://opensupport.alipay.com/support/FAQ/b5957dcd-8d2e-45d6-b3a9-d967f522294c),app_auth_token 即失效。 ### 直付通模式 #### 直付通场景 通过 [互联网平台直付通](https://opendocs.alipay.com/open/00faww),服务商实现二级商户进件,可以在自己的平台替商家实现结算,平台抽佣,支持平台前置营销,垫资退款等能力。 #### 直付通流程 1. 服务商 [签约互联网直付通](https://opensupport.alipay.com/support/FAQ/a91c2067-d2ae-4c8e-bb18-8eb9d8fc835f)。 2. 服务商实现 [二级商户入驻](https://opendocs.alipay.com/open/01ml5d?pathHash=da968602)(二级商户即收款商户),获取不同二级商户的 smid。 3. 买家在平台选择商品,服务商 根据商品判断该商品应该付款给到商家 A 还是商家 B ,如果是商家 A 就根据商家编号等(可以自己设置一个判断条件)。根据判断条件如果该商品属于商家 A 收款,那就支付接口中设置对应商家 A 的 smid 请求到支付宝发起请求支付即可,详见 [直付通资金结算](https://opendocs.alipay.com/open/direct-payment/gkvknf?pathHash=41558020)。 #### 注意事项 - 与三方调用相比较,直付通支持功能固定,详见 [直付通接入导览](https://opendocs.alipay.com/open/01m6z6?pathHash=cde2a38a)。 - 二级商户无需签约,只要进件审核通过即可实现收款等功能。 - 直付通支付接口固定,目前只支持交易创建接口、手机网站支付、App 支付和合并支付,其它支付接口暂不支持。 - 只需要服务商的账号和密钥。商家只需要进件审核,不需要商家账号和密钥信息。 - 服务商和收款商家终止合作,收款商家需联系商家客服(电话:400*****58)取消之前审核确认的产品协议。 --- ## 90. 当前交易仅支持从商家的app发起,请确认支付来源后重试 是因为在商家中心的风险联防校验做了包名校验。 --- ## 91. H5封装成安卓APP, H5支付部分手机无法拉起支付宝 app内设置了不允许外跳其他app导致的,不是支付宝的问题,需要用户检查设置,手机有应用有权限设置的,不是所有用户都打开了禁止外跳。 --- ## 92. 本次交易选择的支付方式暂不可用,请返回商户重新选择。 拉起支付报错【本次交易选择的支付方式暂不可用,请返回商户重新选择。】说明选择的支付方式存在问题,请更换支付方式进行付款。 --- ## 93. alipay.trade.app.pay怎么用证书的方式? APP支付使用证书可以参考:[https://opensupport.alipay.com/support/FAQ/6718bcf7c2be7003c90dcba7prod#anchor_3_2](https://opensupport.alipay.com/support/FAQ/6718bcf7c2be7003c90dcba7prod#anchor_3_2) --- ## 94. 自调用是否需要app_auth_token 商家自研时,需要使用自研应用发起接口请求,无需传入app_auth_token参数;服务商代调用时,需使用第三方应用发起接口请求,此时需要传入app_auth_token参数。获取token可以参考:[https://opendocs.alipay.com/isv/10467/xldcyq](https://opendocs.alipay.com/isv/10467/xldcyq) --- ## 95. 交易安全防护产品 交易安全防护产品面向支付宝的企业合作伙伴,实时输出支付宝核心风控系统识别出的风险交易,风险类型包括用户投诉、欺诈、花呗套现、赌博和虚假交易等类型,并会随着业务发展不断新增。
本产品适用于同开通支付宝收单业务的企业用户,支付宝将在交易发生后实时将识别出的风险交易推送至开发者在开放平台应用信息中预留的应用网关地址上。但无法拦截阻断有风险的用户付款
产品文档:[https://opendocs.alipay.com/open/repo-0038ml?ref=api](https://opendocs.alipay.com/open/repo-0038ml?ref=api) --- ## 96. 网站备案主体与商家主体不一致时需要提供什么材料?哪些场景需要提供授权函? 手机网站支付授权函非必填,当商家账号主体与网站主体不一致时需要上传对应授权函。
确认账号主体方法:账号主体可在 商家平台 > 账号中心 > 商户基本信息 中查看。即为您的 商家名称。
确认H5页面备案主体方法:点击 ICP备案官网后 输入 备案号,查看主办单位名称即为备案主体。 --- ## 97. 这个需要什么信息可以查原因 1. **确认问题** :为了更好地帮助您,请您提供具体的申请单号或订单号或者traceid,以及相关的系统信息。 2. **提供信息** :如果您能提供更详细的信息,比如申请单号或订单号,我将能够更准确地查询和分析问题。 --- ## 98. 支付成功的异步通知是发送到哪里 支付的异步通知是发往支付接口设置的notify_url参数上面的,而不是应用网关。因此,无需设置应用网关支付,即使设置了应用网关设置也不会直接收到支付异步通知。 --- ## 99. 接入 APP支付 时,提示收款额度为 0 元?或提示收款额度受限 支付产品收款额度会依据您开通时提供的资质情况而定。详情可查看:[https://opendocs.alipay.com/b/039qjw](https://opendocs.alipay.com/b/039qjw) 。若部分材料不合格,收款额度将受到限制(单笔收款 ≤ 2000 元,单日收款 ≤ 20000 元)。商家可通过在开通页面完善对应信息解除限制,详情可查看 [https://opendocs.alipay.com/b/06fioz?pathHash=6443a545。](https://opendocs.alipay.com/b/06fioz?pathHash=6443a545。) --- ## 100. APP支付唤起失败或接口异常 1、客户端调试
对接支付宝“APP支付”产品时,后端接口返回支付字串后,可以先使用“客户端调试工具”唤起支付字串验证客户端对接流程是否正常。 客户端调试工具使用教程可以参考文档:[https://developer.aliyun.com/article/707536](https://developer.aliyun.com/article/707536)
2、后端接口问题排查
开发者在对接“APP支付”产品时经常会遇到收银台报错导致无法支付、交易订单退款失败、交易订单辅助接口(查询、撤销、关闭等接口)调试故障、异步通知发送失败等异常情况,此时商户可以使用工具:[https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e](https://opensupport.alipay.com/support/diagnostic-tools/b3b501fd-a442-4dee-8b3f-e5f5edcc6d6e) 自行发起诊断。
输入请求参数、接口和请求时间后,点击“开始诊断”可定位接口异常具体原因,并提供相应的解决方案。 --- ## 101. 开放平台应用签名和应用包名会影响app支付吗? 开放平台的应用签名和应用包名可以进行修改,应用签名和应用包名不会影响app支付「包括修改审核期间」,如果在创建应用或修改应用名称时,发现所配置的应用名称已被其它应用占用,如非关键名称建议更换,若开发者是该名称知识产权的所有人请联系 400-758-5858 进行重名申诉。
注:如果需要强校验包名,可以提供下贵司的支付宝账号,技术支持协助看下是否在该功能的邀测范围内。 --- ## 102. app下单的orderStr长度问题 orderStr|签名字符串必选string(16384) 【描述】获取签名后的业务数据具体使用方法请参考 接入指南【示例值】请参考响应示例。 --- ## 103. app支付,安卓客户端应该使用哪个版本的sdk 安卓客户端SDK建议使用最新的版本,最新版本SDK不会由于权限问题导致应用上架失败。客户端sdk版本说明:[https://opendocs.alipay.com/common/02km9l?pathHash=17f4e70c](https://opendocs.alipay.com/common/02km9l?pathHash=17f4e70c) --- ## 104. 退款冲退完成通知 alipay.trade.refund.depositback.completed(收单退款冲退完成通知):[https://opendocs.alipay.com/open/64342630_alipay.trade.refund.depositback.completed?scene=common&pathHash=6eda208d](https://opendocs.alipay.com/open/64342630_alipay.trade.refund.depositback.completed?scene=common&pathHash=6eda208d)
非必选消息,此消息只有退款场景且用户是银行卡支付时才需要用的到,商户可视需求接入。 --- ## 105. 支付成功,未收到异步通知 ### 使用说明 开发者在对接支付宝开放平台的“当面付、手机网站支付、JSAPI支付、电脑网站支付、APP支付”等产品时经常会遇到支付成功未收到异步通知、重复收到异步通知等异常情况,此时商户可以使用工具: [https://opensupport.alipay.com/support/diagnostic-tools/0d278b63-aaa5-4aa3-adec-5f08adf29986](https://opensupport.alipay.com/support/diagnostic-tools/0d278b63-aaa5-4aa3-adec-5f08adf29986) 自行发起诊断。
通过传入支付宝APP支付、手机网站支付、电脑网站支付、当面付、JSAPI支付、订单码支付、商家扣款、预授权、单笔转账、安全发、批量转账、直付通等收单产品和资金产品异步通知场景的关键回调参数(比如:外部商户订单号out_trade_no、支付宝交易号trade_no、traceid、转账单号out_biz_no)和日期时间,就能帮助开发者一键诊断出近7天内关于此类支付和资金接口出现的异步通知交互报错、异步通知发送失败等问题的异常原因和解决方案。 ### 返回信息 1. 通知地址:该条异步通知发送地址
2. 通知时间:该条异步通知发送时间
3. 通知轮次:该条异步通知发送次数
4. 通知结果:该条异步通知发送结果。异步通知发送成功 or 失败
5. notifyId:该条异步通知唯一标识
6. 通知交互详情:支付宝访问商家异步地址http状态码,只有200状态时才说明发送成功
7. 商户响应:商家收到通知后响应发送给支付宝的数据内容,建议发送success
8. 最新一次的异步通知内容:通知内容,为保证数据安全,seller_email、sign等信息脱敏 --- ## 106. 创建网页应用时候输入的网址url,后续可以更换吗 创建应用时填写的网址url仅作记录,调用手机网站支付接口不校验网址url。 --- ## 107. 异步通知中是否返回seller_id? 异步通知说明中seller_id是可选返回参数,默认一般都会返回。 - 普通收单场景,seller_id是指收款方账号 - 直付通收单场景,seller_id是指平台商账号 --- ## 108. 客户端接入app支付sdk ### 客户端接入 #### 商家 APP **注意** :App 支付同步通过客户端配置完成回调,return_url 设置不生效。 #### 客户端 iOS 集成流程 详情可点击查看 [客户端 iOS 集成流程](https://opendocs.alipay.com/open/204/105295) 。 #### 客户端 Android 集成流程 详情可点击查看 [客户端 Android 集成流程](https://opendocs.alipay.com/open/204/105296) 。 #### 客户端鸿蒙 SDK 集成流程 详情可点击查看 [鸿蒙 SDK 集成流程](https://opendocs.alipay.com/open/01ysmx) 。 #### Harmony 单框架集成流程 详情可点击查看[ Harmony 单框架集成流程](https://opendocs.alipay.com/open/0f71b5?pathHash=bedc38ba) ### 详请参考文档 [客户端接入](https://opendocs.alipay.com/open/204/01dcc0?pathHash=cf89b2be&ref=api#%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5) --- ## 109. mapi接口更新openapi接口要设置接口内容加密方式吗? mapi接口更新openapi接口不用设置【接口内容加密】。另外对老项目不会有任何影响,新接口走的是appid+密钥去请求接口,和老接口走的不是同一套模式。 --- ## 110. APP支付支持使用AES加密吗 APP支付支持使用AES加密支持,服务端调用[alipay.trade.app.pay(app支付接口2.0)](https://opendocs.alipay.com/open/cd12c885_alipay.trade.app.pay?scene=20&pathHash=ab686e33)时可使用AES密钥加密bizContent 内容,后续把返回结果解密后再传入客户端中唤起支付页面,避免加密之后唤端无法解析对应信息。 --- ## 111. 为什么部分用户用浏览器打开手机网站支付, 会弹出吱口令,IOS却不会? android和IOS唤起的机制不同,如果android手机环境中没有检测支付宝,会弹出吱口令。IOS 的唤端是单独的一套机制 ULink 唤端,IOS 会检测是否安装支付宝,如果没有安装的话,就会引导到默认配置的下载页。 --- ## 112. 有无接口可以查询支付交易投诉接口 建议参考文档: [https://opendocs.alipay.com/pre-open/8ad1ac86_alipay.security.risk.complaint.info.batchquery?pathHash=22c8e98a](https://opendocs.alipay.com/pre-open/8ad1ac86_alipay.security.risk.complaint.info.batchquery?pathHash=22c8e98a) 接入riskgo产品,该产品支持“查询消费者投诉列表接口”。 --- ## 113. app支付出现收款受限拦截后,无法查询到该订单的状态 app支付,需要用户拉起收银台输入支付密码后,订单才创建,订单创建后才可以查询到状态,目前在出现收款受限拦截时,订单还未创建。 --- ## 114. APP支付更新了安卓的APK包名和签名,请问还需要更新App支付吗 不需要的,产品签约开通就是有接口调用权限的,这个包名和签名信息单纯记录不影响的。 --- ## 115. app端接入支付宝如何不跳转到支付宝完成支付 目前不支持不跳转支付宝支付了,需要跳转支付宝进行支付。 --- ## 116. 是否有参数屏蔽APP支付接口生成的ordestr被拿去封装成二维码 目前没有参数屏蔽APP支付接口生成的ordestr被拿去封装成二维码。 --- ## 117. APP支付支持v3对接吗? **支持APP支付**:alipay-sdk-java-v3版本确实支持APP支付功能,具体可通过其提供的接口实现。 - **参考文档链接** :详细接口文档和实现指南可参考官方链接:[https://opendocs.alipay.com/open-v3/429e4d75_alipay.trade.app.pay?scene=20&pathHash=7befef14](https://opendocs.alipay.com/open-v3/429e4d75_alipay.trade.app.pay?scene=20&pathHash=7befef14) --- ## 118. App 支付服务端java的maven资源怎么用 新建一个支持maven的java项目,然后把支付宝是服务端sdk的maven信息写进去就行。 --- ## 119. buyer_user_type现在交易这个字段不返回如何区分企业和个人 buyer_user_type属于新增内容,如需返回请在查询接口query_options查询选项入参中指定一下。 --- ## 120. 如何通过接口alipay.trade.query查看订单的退款金额和剩余金额 暂无接口可以查询,退款是商户侧发起的,商户可以自己记录统计查看,或者可以去商家平台,账单中心去查看。 ---