如何实现一个项目配置多个商户信息付款给对应商户
最近在对接支付宝支付时,遇到了一个问题
用户在付款时,需要直接付款到指定支付宝账户。
这个需求也无可厚非,就像我们公司有四个分公司,分别在北京、上海等地,如果钱只能到总公司的账户上,那在财务结算的时候就很麻烦。
简单说一下问题背景:
公司准备上线一个商城应用,有分公司和服务商的概念,意思就是收钱的不是一个人。
前一阵子,蚂蚁金服投了一大笔钱,也算是达成了合作,所以在第三方支付中首选了支付宝,场景是手机网站支付,问题就在这出现了。目前支付宝只在当面付中支持配置多个收款账户,也是在社区里逛了一阵子才知道这个信息的。
蚂蚁金服开发者社区原贴:如何实现一个项目配置多个商户信息付款给对应商户
上面的帖子明确说明了目前实现的两种方式,很明显方案二看起来比较优雅,也比较好实现,但是很抱歉,手机网站支付不支持方案二。
ps:判断是否支持方案二的方法就是去看它的文档,如果请求参数中有 app_auth_token这个参数就是支持方案二的。
为了证实这个蛋疼的消息,我又专门发了一个帖子确认了一遍
手机网站支付遇到了一些问题
管理员明确的回复了我,只能用方案一,并且要申请 N 个应用,并全部上线。
Google 了一下,没搜到用这种方式实现的代码,只能自己写了。。
支付宝最终是根据请求过来的 appid 来判断哪一个商户收款(也就是请求是谁的 appid 就收款到谁的账号下)
所以我申请了四个应用。。。。
先定一个接口;
public interface AlipayClientConfig { /** * 网关. */ String getGatewayUrl(); /** * appid. */ String getAppI