• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP微信支付功能示例

    本文实例讲述了PHP微信支付功能。分享给大家供大家参考,具体如下:

    微信开发SDK:文中用的是php_sdk_v3.0.9 :https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

    import("wxpay.lib.AppPay#Config", EXTEND_PATH, ".php");
    import("wxpay.lib.WxPay#Api", EXTEND_PATH, ".php");
    //$this->weixinpay();
    $config = new \AppPayConfig();
    //订单号
    $appId = $config->GetAppId();
    $key = $config->GetKey();
    $money = 0.01 * 100;
    $orderSn = 'M201810241754107557';//订单号;
    $curTime = time();
    $input = new \WxPayUnifiedOrder();
    $input->SetBody("用户红包");
    $input->SetOut_trade_no($orderSn);
    $input->SetTotal_fee($money);
    $input->SetTrade_type("APP");
    $unifiedOrder = \WxPayApi::unifiedOrder($config, $input);
    if ($unifiedOrder['result_code'] == 'SUCCESS'  $unifiedOrder['return_code'] == 'SUCCESS') {
      /*$unifiedOrder 组成:
       * ["appid"] => string(18) "wx2xxxx49"
      ["mch_id"] => string(10) "1xxxxxx01"
      ["nonce_str"] => string(16) "1GnEUXTuTcFtJVtb"
      ["prepay_id"] => string(36) "wx241933xxx68fa24ece70611692955"
      ["result_code"] => string(7) "SUCCESS"
      ["return_code"] => string(7) "SUCCESS"
      ["return_msg"] => string(2) "OK"
      ["sign"] => string(32) "7903xxxxx4710E460CB156"
      ["trade_type"] => string(3) "APP"*/
      $curTime = time();
      // 第一部分
      $wxpayResult = new \WxPayResults();
      $wxpayResult->SetData('appid', $unifiedOrder['appid']);
      $wxpayResult->SetData('partnerid', $unifiedOrder['mch_id']);
      $wxpayResult->SetData('prepayid', $unifiedOrder['prepay_id']);
      $wxpayResult->SetData('noncestr', $unifiedOrder['nonce_str']);
      $wxpayResult->SetData('timestamp',$curTime);
      $wxpayResult->SetData('package',"Sign=WXPay");
      $wxpayResult->SetData('sign',"");
      $wxpayResult->SetSign($config);
      $data = $wxpayResult->GetValues();
      // 第二部分
      $data['appid'] = $unifiedOrder['appid'];
      $data['partnerid'] = $unifiedOrder['mch_id'];
      $data['prepayid'] = $unifiedOrder['prepay_id'];
      $data['noncestr'] = $unifiedOrder['nonce_str'];;
      $data['timestamp'] = $curTime;
      $data['package'] = "Sign=WXPay";
      $data['sign'] = $this->wxappPaySign($key, $data);//$unifiedOrder['sign'];//签名,具体签名方案参见微信公众号支付帮助文档;
      $this->returnSuccess($data);
    } else {
      Log::write(var_export($unifiedOrder, true));
      $this->returnError(300, '微信支付失败');
    }
    private function wxappPaySign($key,$parameters)
    {
      $sign = md5(sprintf("appid=%snoncestr=%spackage=%spartnerid=%sprepayid=%stimestamp=%skey=%s",
        $parameters['appid'],
        $parameters['noncestr'],
        $parameters['package'],
        $parameters['partnerid'],
        $parameters['prepayid'],
        $parameters['timestamp'],
        $key));
      return strtoupper($sign);
    }
    
    

    第一部分和第二部分功能是相同的。

    官方开发资源

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《php curl用法总结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • ThinkPHP框架实现的微信支付接口开发完整示例
    • ThinkPHP框架整合微信支付之刷卡模式图文详解
    • ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
    • ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
    • ThinkPHP框架整合微信支付之JSAPI模式图文详解
    • php实现微信支付之退款功能
    • php实现微信支付之企业付款
    • PHP微信支付开发实例
    • 微信支付PHP SDK之微信公众号支付代码详解
    • PHP 微信支付类 demo
    • 微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
    上一篇:PHP小程序支付功能完整版【基于thinkPHP】
    下一篇:PHP实现的支付宝支付功能示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP微信支付功能示例 PHP,微信,支付,功能,示例,