微信商户向用户转账和发红包

Posted by aclyyx on 02-21,2019

请求证书说明

微信支付转账到零钱和发红包,都需要使用在微信商户平台下载的证书请求,否则在调用接口是会返回要求使用证书。

证书下载路径

登录【微信支付-商户平台】,进入【账户中心】-->【账户设置】-->【API安全】,在【API证书】中可以看到“下载证书”。

API密钥

与证书下载类似,登录【微信支付-商户平台】,进入【账户中心】-->【账户设置】-->【API安全】,在【API密钥】中可以看到“设置密钥”。

微信支付转账到零钱

官方说明文档

链接:[微信支付转账到零钱接口文档][11]

请求Url

链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers

请求示例

<xml>
  <mch_appid>wx123123123123</mch_appid>
  <mchid>1231232312</mchid>
  <nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
  <partner_trade_no>20190221001</partner_trade_no>
  <openid>oOwYgw123123123123123123123</openid>
  <check_name>NO_CHECK</check_name>
  <amount>100</amount>
  <desc>测试转账</desc>
  <spbill_create_ip>127.0.0.1</spbill_create_ip>
  <sign>86f4d53f58afddb281dd8e65db04461b</sign>
</xml>

返回示例

<xml>
    <return_code>
        <![CDATA[SUCCESS]]>
    </return_code>
    <return_msg>
        <![CDATA[支付失败]]>
    </return_msg>
    <mch_appid>
        <![CDATA[wx123123123123]]>
    </mch_appid>
    <mchid>
        <![CDATA[1231232312]]>
    </mchid>
    <result_code>
        <![CDATA[FAIL]]>
    </result_code>
    <err_code>
        <![CDATA[NOTENOUGH]]>
    </err_code>
    <err_code_des>
        <![CDATA[请到商户平台充值后再重试.]]>
    </err_code_des>
</xml>

微信支付发红包

官方说明文档

链接:[发放普通红包接口文档][21]

请求Url

链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack

请求示例

<xml>
  <mch_billno>20190221002</mch_billno>
  <mch_id> 1231232312 </mch_id>
  <wxappid> wx123123123123 </wxappid>
  <send_name>商户名称</send_name>
  <re_openid> oOwYgw123123123123123123123 </re_openid>
  <total_amount>100</total_amount>
  <total_num>1</total_num>
  <wishing>恭喜发财</wishing>
  <client_ip>127.0.0.1</client_ip>
  <act_name>测试红包</act_name>
  <remark>测试红包</remark>
  <nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
  <sign>4ad4d5b31130611270e90f5b19fd124e</sign>
</xml>

返回示例

<xml>
    <return_code>
        <![CDATA[SUCCESS]]>
    </return_code>
    <return_msg>
        <![CDATA[请求已受理,请稍后使用原单号查询发放结果]]>
    </return_msg>
    <result_code>
        <![CDATA[FAIL]]>
    </result_code>
    <err_code>
        <![CDATA[PROCESSING]]>
    </err_code>
    <err_code_des>
        <![CDATA[请求已受理,请稍后使用原单号查询发放结果]]>
    </err_code_des>
    <mch_billno>
        <![CDATA[20190221002]]>
    </mch_billno>
    <mch_id>
        <![CDATA[1231232312]]>
    </mch_id>
    <wxappid>
        <![CDATA[wx123123123123]]>
    </wxappid>
    <re_openid>
        <![CDATA[oOwYgw123123123123123123123]]>
    </re_openid>
    <total_amount>100</total_amount>
</xml>

微信支付查询红包记录

官方说明文档

链接:[查询红包记录接口文档][31]

请求Url

链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/gethbinfo

请求示例

<xml>
  <mch_billno>20190221002</mch_billno>
  <mch_id>1231232312</mch_id>
  <appid>wx123123123123</appid>
  <bill_type>MCHT</bill_type> 
  <nonce_str>5K8264ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str>
  <sign>6366be60ed63569cbafbdc9d7243ce8f</sign>
</xml>

返回示例

<xml>
    <return_code>
        <![CDATA[SUCCESS]]>
    </return_code>
    <return_msg>
        <![CDATA[OK]]>
    </return_msg>
    <result_code>
        <![CDATA[SUCCESS]]>
    </result_code>
    <err_code>
        <![CDATA[SUCCESS]]>
    </err_code>
    <err_code_des>
        <![CDATA[OK]]>
    </err_code_des>
    <mch_billno>
        <![CDATA[20190221002]]>
    </mch_billno>
    <mch_id>
        <![CDATA[1231232312]]>
    </mch_id>
    <detail_id>
        <![CDATA[1000041701201902213000086819357]]>
    </detail_id>
    <status>
        <![CDATA[SENDING]]>
    </status>
    <send_type>
        <![CDATA[API]]>
    </send_type>
    <hb_type>
        <![CDATA[NORMAL]]>
    </hb_type>
    <total_num>1</total_num>
    <total_amount>100</total_amount>
    <send_time>
        <![CDATA[2019-02-21 12:34:56]]>
    </send_time>
</xml>

使用 PostMan 测试接口

PostMan 调用HTTPHTTPS接口十分常用,但在调用微信支付的接口时,需要设置一下调用证书。

这里只说明一下再 PostMan 中设置访问证书的方法。

在 PostMan 主界面中点击【设置(🔧)】按钮,菜单中选择【Settings】,设置窗口中选择【Certificates】标签,点击【Add Certificate】,输入链接的域名,选择证书文件,并输入微信支付的操作密码,完成添加。