分享

微信支付备忘录(php-Jsapi)

 昵称51684948 2018-01-04
    废话不多说了,2018年,总算在第一个星期开了个好头,终于搞通微信支付了,哈哈,恭喜一下自己,本来是去年下半年要搞的东西,但不断有更高优先级的事情要处理,然后断断续续,今天可算是完成了。
    一开始的时候php5.2,发现5.2版本有点问题,有些参数貌似不支持。然后看看能否弄多一台服务器专门做微信支付的,但是发觉微信回调那里只能填写一个地址,所以决定升级到5.5.12,最终整个微信服务都迁到最新的服务器上了。
    服务器环境:apache2.4 + php5.5
  1. 从官网下载demo开发包
  2. 登陆支付平台—>产品中心—>开发配置,添加支付授权目录
  3. 登陆公众平台—>接口权限—>网页授权,添加网页授权域名
  4. 设置API密钥
  5. 下载API证书,下载后替换官方demo的cert文件夹里面的文件
  6. 修改官方demo中的index.php文件,JSAPI支付的链接,改为自己的页面路径。https://www./example/jsapi.php
  7. 修改 WxPay.Config.php 中的APPID/MCHID/KEY/APPSECRET四项
  8. 修改 jsapi.php 中notify_url的地址,改为自己的页面路径 https://www./example/notify.php
  9. 修改WxPay.JsApiPay.php 中curl_setopt($ch,CURLOPT_TIMEOUT,$this->curl_timeout)改为curl_setopt($ch,CURLOPT_TIMEOUT,60)
    截至,配置完毕,可以进行支付。
    注意:如果要结合自己的网页进行提交,提交金额时使用get方法,否则系统总是提示没有定义变量,这个方法通过论坛上找的,确实可行。

参考资料:
http://www.cnblogs.com/ccymme/p/6605017.html
http://www./info-detail-587828.html

成功支付后,跳转到指定的页面,再进行自定义提示,不包含业务充值逻辑
function jsApiCall()
       {
           WeixinJSBridge.invoke(
               'getBrandWCPayRequest',
               {$pay_online},
               function(res){
                   WeixinJSBridge.log(res.err_msg);
                   if(res.err_msg == "get_brand_wcpay_request:ok"){
                   //alert(res.err_code+res.err_desc+res.err_msg);
                       window.location.href="http://www./abc/s/";
                   }else{
                       //返回跳转到订单详情页面
                       alert(支付失败);
                       window.location.href="http://www./abc/f/";
                         
                   }
               }
           );
       }

业务充值逻辑
放在notify.php文件里面
public function NotifyProcess($data, &$msg)
{
  Log::DEBUG("call back MING:" . json_encode($data));
  $notfiyOutput = array();
  if(!array_key_exists("transaction_id", $data)){
   $msg = "输入参数不正确";
   return false;
  }
  //查询订单,判断订单真实性
  if(!$this->Queryorder($data["transaction_id"])){
   $msg = "订单查询失败";
   return false;
  }
       
  if($data["return_code"]=="SUCCESS" && $data["result_code"]=="SUCCESS"){
   include('数据库文件');
   $weixinid=$data["openid"];
   $sql="insert into 数据表";
   $rs=odbc_exec($epconn,$sql);
   return true;
  }

}


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多