• <bdo id='kMXvt'></bdo><ul id='kMXvt'></ul>
      <tfoot id='kMXvt'></tfoot>
      <i id='kMXvt'><tr id='kMXvt'><dt id='kMXvt'><q id='kMXvt'><span id='kMXvt'><b id='kMXvt'><form id='kMXvt'><ins id='kMXvt'></ins><ul id='kMXvt'></ul><sub id='kMXvt'></sub></form><legend id='kMXvt'></legend><bdo id='kMXvt'><pre id='kMXvt'><center id='kMXvt'></center></pre></bdo></b><th id='kMXvt'></th></span></q></dt></tr></i><div id='kMXvt'><tfoot id='kMXvt'></tfoot><dl id='kMXvt'><fieldset id='kMXvt'></fieldset></dl></div>
    1. <small id='kMXvt'></small><noframes id='kMXvt'>

      <legend id='kMXvt'><style id='kMXvt'><dir id='kMXvt'><q id='kMXvt'></q></dir></style></legend>

        微信小程序与php 实现微信支付的简单实例

        时间:2023-12-12
        • <bdo id='I5EJ2'></bdo><ul id='I5EJ2'></ul>

          <tfoot id='I5EJ2'></tfoot>

              • <i id='I5EJ2'><tr id='I5EJ2'><dt id='I5EJ2'><q id='I5EJ2'><span id='I5EJ2'><b id='I5EJ2'><form id='I5EJ2'><ins id='I5EJ2'></ins><ul id='I5EJ2'></ul><sub id='I5EJ2'></sub></form><legend id='I5EJ2'></legend><bdo id='I5EJ2'><pre id='I5EJ2'><center id='I5EJ2'></center></pre></bdo></b><th id='I5EJ2'></th></span></q></dt></tr></i><div id='I5EJ2'><tfoot id='I5EJ2'></tfoot><dl id='I5EJ2'><fieldset id='I5EJ2'></fieldset></dl></div>
                <legend id='I5EJ2'><style id='I5EJ2'><dir id='I5EJ2'><q id='I5EJ2'></q></dir></style></legend>

                <small id='I5EJ2'></small><noframes id='I5EJ2'>

                  <tbody id='I5EJ2'></tbody>

                  下面是详细讲解“微信小程序与php 实现微信支付的简单实例”的完整攻略。

                  1. 准备工作

                  在进行微信小程序与php实现微信支付之前,需要先准备一些必要的工作:

                  1. 注册微信公众号,创建商户号;
                  2. 配置商户号支付的相关信息,并获取相应的微信支付API密钥;
                  3. 下载安装开发环境(如:php和微信小程序开发工具);
                  4. 准备服务器环境。

                  2. 连接小程序和服务器

                  微信支付必须要有服务器来进行交互,因此我们需要在小程序中调用PHP代码来完成支付。在小程序中,可以使用wx.request()方法来向服务器发送请求。

                  下面是一个简单的示例:

                  wx.request({
                    url: 'https://example.com/pay.php',
                    method: 'POST',
                    data: {
                      openid: '',
                      total_fee: '',
                      body: '',
                      out_trade_no: ''
                    },
                    success: function(res) {
                      console.log(res)
                    }
                  })
                  

                  在上面的代码中,我们向服务器发送了一个POST请求,包含了4个参数:openid、total_fee、body和out_trade_no。其中,openid是用户的唯一标识,total_fee是支付金额,body是商品描述,out_trade_no是商户订单号。

                  3. 支付过程

                  在小程序中调用PHP代码来完成支付,支付的具体过程如下:

                  1. 将支付参数发送给服务器;
                  2. 服务器收到支付参数之后,调用微信支付统一下单API,生成预支付订单;
                  3. 服务器将预支付订单信息返回给小程序;
                  4. 小程序调用微信支付API,完成支付。

                  下面是一段PHP代码,用来生成预支付订单并返回相应的数据给小程序:

                  <?php
                  
                  require_once "wxpay/lib/WxPay.Api.php";
                  require_once "wxpay/pay/WxPay.JsApiPay.php";
                  require_once "wxpay/pay/WxPay.Notify.php";
                  
                  // 获取小程序传递的支付参数
                  $openid = $_POST["openid"];
                  $total_fee = $_POST["total_fee"];
                  $body = $_POST["body"];
                  $out_trade_no = $_POST["out_trade_no"];
                  
                  // 调用微信统一下单API生成预支付订单
                  $input = new WxPayUnifiedOrder();
                  $input->SetBody($body);
                  $input->SetAttach("test");
                  $input->SetOut_trade_no($out_trade_no);
                  $input->SetTotal_fee($total_fee);
                  $input->SetTime_start(date("YmdHis"));
                  $input->SetTime_expire(date("YmdHis", time() + 600));
                  $input->SetGoods_tag("test");
                  $input->SetNotify_url("https://example.com/notify.php");
                  $input->SetTrade_type("JSAPI");
                  $input->SetOpenid($openid);
                  $order = WxPayApi::unifiedOrder($input);
                  
                  // 返回预支付订单信息给小程序
                  $data["appId"] = $order["appid"];
                  $data["timeStamp"] = time();
                  $data["nonceStr"] = $order["nonce_str"];
                  $data["package"] = "prepay_id=" . $order["prepay_id"];
                  $data["signType"] = "MD5";
                  $data["paySign"] = WxPaySign::makeSign($data);
                  
                  echo json_encode($data);
                  

                  在上面的代码中,我们使用了微信支付的API,生成了一个预支付订单,并将预支付订单的信息返回给小程序。

                  4. 接收异步通知

                  支付完成后,微信服务器会向我们的服务器发送一个异步通知,通知我们支付的结果。因此,我们需要编写相应的PHP代码,来接收异步通知并处理支付结果。

                  下面是一个简单的示例:

                  <?php
                  
                  require_once "wxpay/pay/WxPay.Notify.php";
                  
                  $notify = new WxPayNotify();
                  $data = $notify->GetPostData();
                  $result = WxPayApi::notify($data);
                  
                  if (isset($result["return_code"]) && isset($result["result_code"]) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS") {
                      // 支付成功
                      // TODO:处理支付成功后的业务逻辑
                  } else {
                      // 支付失败
                      // TODO:处理支付失败后的业务逻辑
                  }
                  

                  在上面的代码中,我们使用了微信支付的通知API,获取到了支付结果,并根据支付结果处理相应的业务逻辑。

                  5. 总结

                  以上就是关于“微信小程序与php实现微信支付的简单实例”的完整攻略。通过本攻略的详细讲解,相信大家都可以轻松地完成微信小程序和php的整合,实现微信支付功能。

                  上一篇:微信小程序结合ThinkPHP5授权登陆后获取手机号 下一篇:微信小程序调用PHP后台接口 解析纯html文本

                  相关文章

                      <bdo id='rIYGV'></bdo><ul id='rIYGV'></ul>
                    <i id='rIYGV'><tr id='rIYGV'><dt id='rIYGV'><q id='rIYGV'><span id='rIYGV'><b id='rIYGV'><form id='rIYGV'><ins id='rIYGV'></ins><ul id='rIYGV'></ul><sub id='rIYGV'></sub></form><legend id='rIYGV'></legend><bdo id='rIYGV'><pre id='rIYGV'><center id='rIYGV'></center></pre></bdo></b><th id='rIYGV'></th></span></q></dt></tr></i><div id='rIYGV'><tfoot id='rIYGV'></tfoot><dl id='rIYGV'><fieldset id='rIYGV'></fieldset></dl></div>
                  1. <small id='rIYGV'></small><noframes id='rIYGV'>

                    <tfoot id='rIYGV'></tfoot>

                    <legend id='rIYGV'><style id='rIYGV'><dir id='rIYGV'><q id='rIYGV'></q></dir></style></legend>