商家转账如何使用
[TOC]
# 商家转账
## 商家转账产品介绍
商家转账产品介绍[https://pay.weixin.qq.com/doc/v3/merchant/4012711988](https://pay.weixin.qq.com/doc/v3/merchant/4012711988)
## 配置商家转账
第一步:开启微信新版商家转账
后台---系统--系统设置---财务设置---提现:开启“微信新版商家转账”

第二步:商家转账配置(APIv3配置)
后台---平台---微信公众号/微信小程序---支付设置里设置支付商户号、支付密钥、PEM证书、证书密钥、**证书序列号**和**商家转账配置(APIv3配置)**

**证书序列号:**
证书序列号:使用【商家转账到零钱】或【商家转账】时填写此项,否则不需要填写 请在[微信支付商户平台](https://pay.weixin.qq.com/)\[账户中心\]-\[API安全\]-\[管理证书\]中查看
证书序列号配置:平台---微信小程序/微信公众号---支付设置---普通模式---配置证书序列号

证书序列号获取位置:商户号---API安全---申请API证书---管理证书---证书序列号

**商家转账配置(APIv3配置):**
V3支付密钥:登录[微信支付商户平台](https://pay.weixin.qq.com/)\[账户中心\]-\[API安全\]中设置\[APIv3密钥\]
签名验签方式:**平台证书、微信支付公钥**
>[danger]根据自己商户号后台 \[账户中心\]-\[API安全\]-\[验证微信支付身份\]的设置选择,不要随意切换:[微信官方说明](https://pay.weixin.qq.com/doc/v3/merchant/4012154180)
>
**平台证书**:
登录[微信支付商户平台](https://pay.weixin.qq.com/)-\[账户中心\]-\[API安全\]查看验证微信支付身份,如果是平台证书,则需要在后台--支付设置中选择平台证书,配置平台证书序列号,使用手动上传或自动下载方式配置平台证书
平台证书序列号获取位置:商户号---API安全---平台证书---管理证书---序列号


wechatpay.pem 请在[微信支付商户平台](https://pay.weixin.qq.com/doc/v3/merchant/4012068814)\[账户中心\]-\[API安全\]-\[验证微信支付身份\]中下载证书,设置完成后上传
注:使用自动下载需开启自己网站的php版本的shell\_exec函数
*****
**微信支付公钥**:
登录[微信支付商户平台](https://pay.weixin.qq.com/)-\[账户中心\]-\[API安全\]查看验证微信支付身份,如果是微信支付公钥,则需要在后台--支付设置中选择微信支付公钥,获取公钥id和公钥文件


公钥ID:[获取方式](https://pay.weixin.qq.com/doc/v3/merchant/4013038816#Q:-%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E5%85%AC%E9%92%A5ID?)
公钥文件:pub\_key.pem 请在[微信支付商户平台](https://pay.weixin.qq.com/)\[账户中心\]-\[API安全\]中设置\[微信支付公钥\],设置完成后上传
商家转账场景ID:该笔转账使用的转账场景,可前往“商户平台-产品中心-[商家转账](https://pay.weixin.qq.com/xdc/mchtranstemplate/index.php/xphp/cgi/page/mch_trans/setting)”中申请。目前仅支持【1005-佣金报酬】
岗位类型:请在信息内容描述收款用户的岗位类型,如外卖员、专家顾问,不填写默认【员工】[详情介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988)
报酬说明:请在信息内容描述用户接收当前这笔报酬的原因,如7月份配送费,高温补贴,不填写默认审核备注[详情介绍](https://pay.weixin.qq.com/doc/v3/merchant/4012711988)
## 平台证书如何手动上传和自动下载
>[danger]新手建议使用自动下载
>
#### **自动下载**
第一步:后台----控制台----系统设置里查看您使用的网站PHP版本

第二步:在宝塔面板----[网站\]----[PHP命令行版本\] 切换为您的网站php版本

第三步:宝塔--软件商店里搜索PHP,找到对应的命令行使用的PHP版本,选择“禁用函数”,找到shell\_exec并删除

第四步:重载配置

第五步:在后台点击自动下载

#### **手动上传**
>[danger]手动上传需要电脑上有Java环境才能下载证书,如没有请使用自动下载方式
新手建议使用自动下载!!!新手建议使用自动下载!!!新手建议使用自动下载!!!
[自动下载步骤](https://www.kancloud.cn/yuzxz/ddv2/3252259#_48)
>
第一步:在[微信支付商户平台](https://pay.weixin.qq.com/doc/v3/merchant/4012068814)\[账户中心\]-\[API安全\]-\[验证微信支付身份\]中点击下载证书跳转官方手册:https://pay.weixin.qq.com/doc/v3/merchant/4012068814
下载jar包


第二步:在电脑任意目录新建文件夹(示例:创建的文件夹名称为D:\\test\\project)

把下载的jar包放到文件夹中并重命名为CertificateDownloader.jar

第三步:商户号的证书密钥存放在dianda文件夹中并重命名为privateKey.pem


第四步:按照微信教程复制执行命令并更改变量为自己的真实数据
~~~
java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
~~~
替换参数:
${apiV3key}替换为自己的APIv3密钥,在[微信支付商户平台](https://pay.weixin.qq.com/)\[账户中心\]-\[API安全\]中设置\[APIv3密钥\]
${mchId}替换为自己的商户号
${mchPrivateKeyFilePath}替换为第三步中放入的证书密钥文件名称“privateKey.pem”
${mchSerialNo}替换为证书的序列号
${outputFilePath}替换为要下载的证书保存路径,第二步中创建的文件夹
完整命令如下(注意每个参数之间都有一个空格)
替换后:
java -jar CertificateDownloader.jar -k Aa2703568******035688 -m 17******90 -f privateKey.pem -s 14E6******AC7457106AB50A47 -o D:\\test\\project
>[danger]命令行需替换成自己的信息,切勿直接复制手册中替换后的命令行
>
第五步:进入第二步创建的文件夹dianda中,按住shift键不松手,同时点击鼠标右键,选择【在此处打开powershell窗口】或【在终端打开】,打开窗口后复制第四步替换参数后的命令行,粘贴,回车,下载成功会在dianda文件夹中生成一个wechatpay_开头的.pem文件,该文件就是平台证书

第六步:在后台点击手动上传,
>[danger]新手建议使用自动下载!!!新手建议使用自动下载!!!新手建议使用自动下载!!!
[自动下载步骤](https://www.kancloud.cn/yuzxz/ddv2/3252259#_48)
>
## app端商家转账
app端商家转账,打包app时需配置运行环境,详情请点击此链接[https://uniapp.dcloud.net.cn/tutorial/run/uts-development-android.html](https://uniapp.dcloud.net.cn/tutorial/run/uts-development-android.html)
## 后台微信打款收款用户如何确认(待用户确认状态)
登录公众号或者小程序端,找到余额提现记录或佣金提现记录点击确认收款。
>[danger]小程序需要更新然后发布!!!


## 常见问题
[商家转账常见问题官方文档 点击查看](https://pay.weixin.qq.com/doc/v3/merchant/4013778940)
Q:发起商家转账报错:{"code":"NO\_AUTH","message":"当前商户号接入升级版本功能,暂不支持使用升级前功能,请在产品中心-商家转账-前往功能查看接口文档"}
A:商户已开通商家转账新模式,不能再使用商家转账到零钱接口,可查阅新模式接口文档:[新模式接口文档](https://pay.weixin.qq.com/doc/v3/merchant/4012711988)
Q:发起转账报错:单号已存在但信息不一致,请查单后比较确认
A:重复使用商户转账单号进行转账,且本次转账与上次转账的参数存在差异。
Q:新商家转账用户收款时效性是多久?即发起支付后,用户一直未确认收款,转账单多久会失效?
A:用户收款的时效是24小时,如用户不确认将在24小时后关闭单据,资金退回至商户的出资账户。
* 在用户未确认前,商户可以根据自己的业务需求,撤销转账。
* 如用户未确认收款,请勿在撤销或者等待单据关闭前,又发起一笔新的转账,避免重复出资带来资损。
Q:发起转账报错:{"code":"PARAM\_ERROR","message":"需传入转账场景报备信息,请检查"}
A:传入的报备信息不符合规范,请参考[转账场景报备信息字段传参说明](https://pay.weixin.qq.com/doc/v3/merchant/4013774588)
Q:单笔转账最低额度是多少?
A:单笔转账额度最低为0.1元