微信支付商户平台转账到个人怎么实现?
23646人阅读
  •   大家都知道,微信支付商户平台如果给企业账户转账的话,是肯定可以的,但是如果给个人的话,就比较的难了,这需要去开发出接口哦。微信支付商户平台转账到个人怎么实现?以下是开发的方法了。

      微信支付商户平台转账到个人怎么实现?

      主要包含以下几个步骤(充值、网页授权获取openid、获取企业付款需要的信息、发出企业付款请求)。

      1、充值

      在微信商户平台中:资金管理->充值(由于企业付款将使用商户的可用余额进行支付,需确保可用余额充足。查看可用余额、充值、提现请登录商户平台“资金管理”进行操作。https://pay.weixin.qq.com/ 注意:商户的可用余额与商户微信支付收款资金并非同一账户,需要单独充值。)

      2、网页授权

      通过网页授权获取用户的openid(企业向微信用户个人付款 目前支持向指定微信用户的openid付款。),具体获取方法可查官方api或http://blog.csdn.net/u010533511/article/details/48085585 。

      3、获取企业付款需要的信息

      $mch_appid=$appid;//公众账号appid

      $mchid='10000005';//商户号

      $nonce_str='qyzf'.rand(100000, 999999);//随机数

      $partner_trade_no='xx'.time().rand(10000, 99999);//商户订单号

      $openid=$openids;//用户唯一标识,上一步授权中获取

      $check_name='NO_CHECK';//校验用户姓名选项,NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账),OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)

      $re_user_name='测试';//用户姓名

    微信支付商户平台转账到个人.png

      $amount=100;//企业金额,这里是以分为单位(必须大于100分)

      $desc='测试数据呀!!!';//描述

      $spbill_create_ip='192.168.0.1';//请求ip

      $dataArr=array();

      $dataArr['amount']=$amount;

      $dataArr['check_name']=$check_name;

      $dataArr['desc']=$desc;

      $dataArr['mch_appid']=$mch_appid;

      $dataArr['mchid']=$mchid;

      $dataArr['nonce_str']=$nonce_str;

      $dataArr['openid']=$openid;

      $dataArr['partner_trade_no']=$partner_trade_no;

      $dataArr['re_user_name']=$re_user_name;

      $dataArr['spbill_create_ip']=$spbill_create_ip;

      //生成签名

      $sign=getSign($dataArr);//getSign($dataArr);见结尾

      echo "-----

      签名:".$sign."

      *****";//die;

      //拼写正确的xml参数

      $data="";

      4、发出企业付款请求

      $ch = curl_init ();

      $MENU_URL="https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";

      curl_setopt ( $ch, CURLOPT_URL, $MENU_URL );

      curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" );

      curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );

      curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );

      //两个证书(必填,请求需要双向证书。)

      $zs1="/apiclient_cert.pem";

      $zs2="/apiclient_key.pem";

      curl_setopt($ch,CURLOPT_SSLCERT,$zs1);

      curl_setopt($ch,CURLOPT_SSLKEY,$zs2);

      curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );

      curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 );

      curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );

      curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );

      $info = curl_exec ( $ch );

      if (curl_errno ( $ch )) {

      echo 'Errno' . curl_error ( $ch );

      }

      curl_close ( $ch );

      echo "-----

      请求返回值:";

      var_dump($info);

      echo "

      *****";die;

      更具返回值,做具体处理。

      ------------------------getSign()方法如下----------------------

      /**

      * 作用:生成签名

      */

      function getSign($Obj)

      {

      var_dump($Obj);//die;

      foreach ($Obj as $k => $v)

      {

      $Parameters[$k] = $v;

      }

      //签名步骤一:按字典序排序参数

      ksort($Parameters);

      $String = formatBizQueryParaMap($Parameters, false);//方法如下

      //echo '【string1】'.$String.'

      ';

      //签名步骤二:在string后加入KEY

      $String = $String."&key=6cd1c9cab639cb399cb371cbd893e15e";

      //echo "【string2】".$String."

      ";

      //签名步骤三:MD5加密

      $String = md5($String);

      //echo "【string3】 ".$String."

      ";

      //签名步骤四:所有字符转为大写

      $result_ = strtoupper($String);

      //echo "【result】 ".$result_."

      ";

      return $result_;

      }

      /**

      * 作用:格式化参数,签名过程需要使用

      */

      function formatBizQueryParaMap($paraMap, $urlencode)

      {

      var_dump($paraMap);//die;

      $buff = "";

      ksort($paraMap);

      foreach ($paraMap as $k => $v)

      {

      if($urlencode)

      {

      $v = urlencode($v);

      }

      //$buff .= strtolower($k) . "=" . $v . "&";

      $buff .= $k . "=" . $v . "&";

      }

      $reqPar;

      if (strlen($buff) > 0)

      {

      $reqPar = substr($buff, 0, strlen($buff)-1);

      }

      var_dump($reqPar);//die;

      return $reqPar;

      }

      很多的微信商户想知道微信支付商户平台转账到个人怎么实现,所以小编去了解了下,然后整理了以上的开发方法,相信以上的内容可以帮您解决问题哦。欲知更多相关的内容,可以来开淘网看看哦。

    推荐阅读:

    微信支付商户平台条件是什么?

    微信支付商户平台安全控件重复下载怎么办?

    微信支付商户平台登录超时是什么原因?如何解决?

    查看更多相似文章
    发表评论
    昵称
    问答
    网上开店
    淘宝运营
    活动大促
    其他

    ©Copyright ©2007-2017 www.kaitao.cn (开淘网) All Rights Reserved