From b43cf4cf6351b663eb505f6796e8a7567604a4ec Mon Sep 17 00:00:00 2001 From: ColdEcho <112154179+ColdEcho@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:52:34 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=B8=B8=E8=A7=81=E9=97=AE=E9=A2=98.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当面付接口文档链接切换到JSAPI支付 --- ...\270\350\247\201\351\227\256\351\242\230.md" | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git "a/support/\346\224\257\344\273\230\345\256\235\345\260\217\347\250\213\345\272\217/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\347\250\213\345\272\217\346\224\257\344\273\230\345\270\270\350\247\201\351\227\256\351\242\230.md" "b/support/\346\224\257\344\273\230\345\256\235\345\260\217\347\250\213\345\272\217/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\347\250\213\345\272\217\346\224\257\344\273\230\345\270\270\350\247\201\351\227\256\351\242\230.md" index aaa2a3496..702ce3437 100644 --- "a/support/\346\224\257\344\273\230\345\256\235\345\260\217\347\250\213\345\272\217/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\347\250\213\345\272\217\346\224\257\344\273\230\345\270\270\350\247\201\351\227\256\351\242\230.md" +++ "b/support/\346\224\257\344\273\230\345\256\235\345\260\217\347\250\213\345\272\217/\345\270\270\350\247\201\351\227\256\351\242\230/\345\260\217\347\250\213\345\272\217\346\224\257\344\273\230\345\270\270\350\247\201\351\227\256\351\242\230.md" @@ -1,12 +1,9 @@ ### my.tradePay是否可以使用其它账号的tradeNo支付? -Amy.tradePay 可以使用其它账号的 tradeNo 发起支付,小程序 my.tradePay 接口不会限制创建 tradeNO 交易号参数的应用 APPID,只要交易号合法(通过当面付 alipay.trade.create 创建交易号),即可以调用收银台支持。 +Amy.tradePay 可以使用其它账号的 tradeNo 发起支付,小程序 my.tradePay 接口不会限制创建 tradeNO 交易号参数的应用 APPID,只要交易号合法(通过JSAPI支付 alipay.trade.create 创建交易号),即可以调用收银台支持。 ### 开发中的小程序可以测试支付接口吗? -开发中或者未上线的小程序可以测试支付接口,只需绑定 **当面付** 并开通后,即可正常使用。 - -### 当面付与小程序支付的支付成功页面是否一致? -小程序支付对应的产品是当面付产品,所以这个成功页面都是一样的。 +开发中或者未上线的小程序可以测试支付接口,只需绑定 **JSAPI支付** 并开通后,即可正常使用。 ### alipay.trade.query接口不返回fund_bill_list参数? 建议查询接口设置参数 query_options=fund_bill_list 即可返回交易支付使用的资金渠道。 @@ -15,7 +12,7 @@ Amy.tradePay 可以使用其它账号的 tradeNo 发起支付,小程序 my.tra 详情可查看 [商家分账](https://opendocs.alipay.com/open/repo-0038ln?ref=api)。 ### 小程序支付异步通知如何设置,通过什么方式同步到商家,异步通知接收不到如何排查? -订单支付成功时,商家可以通过在 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfj) 设置异步通知(notify_url)来获得支付宝服务端返回的支付结果,当异步通知中返回的 trade_status(交易状态)为 TRADE_SUCCESS 时,表示支付成功。其它有关异步通知的问题可查看 [服务器异步通知参数说明](https://opendocs.alipay.com/open/194/103296/) 。 +订单支付成功时,商家可以通过在 [alipay.trade.create](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517) 设置异步通知(notify_url)来获得支付宝服务端返回的支付结果,当异步通知中返回的 trade_status(交易状态)为 TRADE_SUCCESS 时,表示支付成功。其它有关异步通知的问题可查看 [服务器异步通知参数说明](https://opendocs.alipay.com/mini/080p65?pathHash=216e5c27) 。 ### alipay.trade.query 接口或异步通知返回核销的券信息? 建议查询接口设置参数 query_options=voucher_detail_list 即可返回交易支付时使用的所有优惠券信息。 @@ -43,13 +40,13 @@ Amy.tradePay 可以使用其它账号的 tradeNo 发起支付,小程序 my.tra 商家服务端问题,需商家自行排查。
**注意**:同一个异步通知地址,其它异步通知接受正常,单独接口未接受到异步通知。这是 ICMP 对 IP 过滤导致,由于国内主干网统一走 ospf,如果 tracert 到某一个路由,恰好这个路由拥塞或者 icmp 控制,发生所谓的丢包或者访问不到。网络运营商(电信,网通)问题同样也会影响。需要商家自行排查,详情请查看 [异步http0排查方案](https://opendocs.alipay.com/support/01rawb)。 ### 小程序支付实现同一主体下的商家收款到不同的商家账号中? -方法一、使用同一主体商家账号 B 下的小程序应用 B(绑定 **当面付** 并开通)在服务器端调用 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfj) (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前同一主体商家账号 A 下的小程序应用 A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。
方法二、使用 [三方应用授权](https://opendocs.alipay.com/support/01rb00) 模式,当前同一主体商家账号 A 创建一个三方应用,收款商家账号 B(需签约当面付产品)授权给三方应用(三方应用需要绑定当面付),通过三方应用APPID+三方应用密钥(三方应用私钥和支付宝公钥)+app_auth_token模式在服务器端调用 [alipay.trade.create](https://opendocs.alipay.com/open/02ekfj) (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前商家账号 A 下的小程序应用A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。 +方法一、使用同一主体商家账号 B 下的小程序应用 B(绑定 **JSAPI支付** 并开通)在服务器端调用 [alipay.trade.create](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517) (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前同一主体商家账号 A 下的小程序应用 A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。
方法二、使用 [三方应用授权](https://opendocs.alipay.com/support/01rb00) 模式,当前同一主体商家账号 A 创建一个三方应用,收款商家账号 B(需签约JSAPI支付产品)授权给三方应用(三方应用需要绑定JSAPI支付),通过三方应用APPID+三方应用密钥(三方应用私钥和支付宝公钥)+app_auth_token模式在服务器端调用 [alipay.trade.create](https://opendocs.alipay.com/mini/6039ed0c_alipay.trade.create?scene=de4d6a1e0c6e423b9eefa7c3a6dcb7a5&pathHash=779dc517) (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前商家账号 A 下的小程序应用A,前端 [my.tradePay](https://opendocs.alipay.com/mini/api/openapi-pay) 唤起进行支付。 ### 小程序如何帮助非同一主体下的商家进行收款,收款到商家账号中? 普通小程序由于没有授权回调地址,无法完成第三方授权。需要完成以上需求,目前有两种方案: -- 方法一、此场景适用于服务商只有一个小程序平台,商家收款都在这个小程序中支付的场景。服务商先开发一个小程序应用 A 并上线,然后再创建一个第三方的应用 B(可以是非小程序第三方应用),创建第三应用 B 后绑定 **当面付** 和 **获取用户信息**,然后生成第三方授权链接让商家登录账号后授权给第三方应用 B。授权完成后通过第三方应用 B 的 APPID 和商家授权的 app_auth_token 创建交易获取 tradeNO 参数,将 tradeNO 参数通过 my.request 接口传到小程序应用A中,用 my.tradePay 接口唤起支付,即可实现收款到商家账号中。
**注意**:上述开发过程中可能会遇到的获取 user_id 授权问题,为方便接口调用,需服务商再将自己的小程序应用A授权给自己的第三方的应用 B,授权成功后也会获得代表小程序A的 app_auth_token。小程序应用 A 中用户授权产生的 auth_code 需要通过第三方应用 B 在 alipay.system.oauth.token 接口换 auth_token,此接口调用的时候需要加上代表小程序 A 的 app_auth_token 调用才可以成功获取到 user_id,详情可查看 [获取会员基础信息](https://opendocs.alipay.com/mini/api/ch8chh)、[三方应用授权](https://opendocs.alipay.com/support/01rb00)。 -- 方法二、此场景适用于每个商家都有自己的小程序进行收款,可上服务市场给商家订购。通过创建小程序第三方应用,在第三方应用中创建小程序模板,然后再帮助商家创建小程序和签约当面付进行授权。完成授权后,给商家小程序上传小程序版本完成后,商家可在自己的小程序中进行收款。详细可查看 [小程序三方业务概览](https://opendocs.alipay.com/isv/03ksgw)。 +- 方法一、此场景适用于服务商只有一个小程序平台,商家收款都在这个小程序中支付的场景。服务商先开发一个小程序应用 A 并上线,然后再创建一个第三方的应用 B(可以是非小程序第三方应用),创建第三应用 B 后绑定 **JSAPI支付** 和 **获取用户信息**,然后生成第三方授权链接让商家登录账号后授权给第三方应用 B。授权完成后通过第三方应用 B 的 APPID 和商家授权的 app_auth_token 创建交易获取 tradeNO 参数,将 tradeNO 参数通过 my.request 接口传到小程序应用A中,用 my.tradePay 接口唤起支付,即可实现收款到商家账号中。
**注意**:上述开发过程中可能会遇到的获取 user_id 授权问题,为方便接口调用,需服务商再将自己的小程序应用A授权给自己的第三方的应用 B,授权成功后也会获得代表小程序A的 app_auth_token。小程序应用 A 中用户授权产生的 auth_code 需要通过第三方应用 B 在 alipay.system.oauth.token 接口换 auth_token,此接口调用的时候需要加上代表小程序 A 的 app_auth_token 调用才可以成功获取到 user_id,详情可查看 [获取会员基础信息](https://opendocs.alipay.com/mini/api/ch8chh)、[三方应用授权](https://opendocs.alipay.com/support/01rb00)。 +- 方法二、此场景适用于每个商家都有自己的小程序进行收款,可上服务市场给商家订购。通过创建小程序第三方应用,在第三方应用中创建小程序模板,然后再帮助商家创建小程序和签约JSAPI支付进行授权。完成授权后,给商家小程序上传小程序版本完成后,商家可在自己的小程序中进行收款。详细可查看 [小程序三方业务概览](https://opendocs.alipay.com/isv/03ksgw)。 ### 支付报错ACQ.INVALID_RECEIVE_ACCOUNT卖家不在设置的收款账号列表之中? 报错原因:收款账号不匹配导致。
解决方案: @@ -61,7 +58,7 @@ Amy.tradePay 可以使用其它账号的 tradeNo 发起支付,小程序 my.tra 基本确定 errorContext=AE0510210085@paycore::余额账号操作受限 |AE0510210085@paycore::余额账号操作受限|AE0311051142@acctrans::账户账务操作受限。账号被风控导致,可通过申诉解除限制,请拨打商家客服电话:4007585858。 ### 如果my.tradePay接口的返回success同步通知,小程序前端如何跳转我的同步通知页面? -不建议根据 my.tradePay 接口同步返回判断是否支付成功,可以根据支付后 success 回调中的状态码进行判断,如果返回支付成功的状态码 9000,请再到后台用在 alipay.trade.query 接口查下订单是否支付成功,以 [alipay.trade.query](https://opendocs.alipay.com/open/02ekfq?scene=23) 接口实时返回为准。 +不建议根据 my.tradePay 接口同步返回判断是否支付成功,可以根据支付后 success 回调中的状态码进行判断,如果返回支付成功的状态码 9000,请再到后台用在 alipay.trade.query 接口查下订单是否支付成功,以 [alipay.trade.query](https://opendocs.alipay.com/mini/83b6c9a9_alipay.trade.query?scene=common&pathHash=354e8be3) 接口实时返回为准。 ### 如何修改支付宝客户端账单详情中订单金额上方的收款方名称(卖家收款抬头)? 登录 [商家平台](https://uemprod.alipay.com/baseinfo/merchantShopBaseInfo.htm#/infomanage?_k=mnv2kh),进入账户中心 > 企业信息 > 信息管理中商户基本信息 > **企业基本信息** > **信息管理** > **商家资料** > **商家别名**,点击 **编辑** 修改完成后,新订单的账单中马上生效。