当前默认小程序支付收款到对应签约支付宝账号中,若要实现多商户收款,有以下方案,选择其一即可。
小程序支付实现同一主体下的商户收款到不同的商户账号中
使用同一主体商户账号 B 下的小程序应用 B(添加小程序支付功能包并需签约)在服务器端调用 alipay.trade.create (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前同一主体商户账号 A 下的小程序应用 A,前端 my.tradePay 唤起进行支付。
使用 三方应用授权 模式,当前同一主体商户账号 A 创建一个三方应用,收款商户账号 B(需签约当面付产品)授权给三方应用(三方应用需要添加当面付功能包),通过三方应用APPID+三方应用密钥(三方应用私钥和支付宝公钥)+app_auth_token 模式在服务器端调用 alipay.trade.create (统一收单交易创建接口)获得支付宝交易号 tradeNO,在当前商户账号 A 下的小程序应用 A,前端 my.tradePay 唤起进行支付。
小程序非同一主体下的商户进行收款
普通小程序由于没有授权回调地址,无法完成第三方授权。需要完成以上需求,目前有两种方案:
ISV 只有一个小程序平台,商户收款都在这个小程序中支付的场景。ISV 开发一个小程序应用 A 并上线,然后再创建一个第三方应用 B(可以是非小程序第三方应用),创建第三应用 B 后添加当面付和获取用户信息的功能,然后生成第三方授权链接让商户登录账号后授权给第三方应用 B。授权完成后通过第三方应用 B 的 APPID 和商户授权的 app_auth_token 创建交易获取 tradeNO 参数,将 tradeNO 参数通过 my.request 接口传到小程序应用 A 中,用 my.tradePay 接口唤起支付,即可实现收款到商户账号中。
注意:上述开发过程中可能会遇到获取 user_id 授权问题,为方便接口调用,ISV 需要再将自己的小程序应用 A 授权给自己的第三方应用 B,授权成功后也会获得代表小程序 A 的 app_auth_token。小程序应用 A 中用户授权产生的 auth_code 需要通过第三方应用 B 在 alipay.system.oauth.token(换取授权访问令牌) 接口换 auth_token,此接口调用的时候需要加上代表小程序 A 的 app_auth_token 调用才可以成功获取到 user_id,详情请参见 获取会员基础信息、三方应用授权。
小程序接入直付通方式
更多详情请参见 直付通支持的产品介绍。
注:知识库内容非实时更新,可能已过期、失效或不适用于当前情形,请谨慎参考。