IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP 微信支付 简易原生 -> 正文阅读

[PHP知识库]PHP 微信支付 简易原生

每次支付都要被迫下载一堆东西;而且下载完也不一定能用;所以照着官方文档写个简易的;

public static function pay($openId,$outNo,$fee){


       $wx = config('wechat');
       $key = $wx["key"];
       $fee = floor($fee*100);

       $nonceStr = md5(microtime().mt_rand(1,1000000000000));
       $sign = strtoupper(md5("appid=$wx[appid]&attach=支付测试&body=JSAPI支付测试&mch_id=$wx[mch_id]&nonce_str=$nonceStr&notify_url=$wx[notify_url]&openid=$openId&out_trade_no=$outNo&spbill_create_ip=14.23.150.211&total_fee=$fee&trade_type=JSAPI&key=$key"));

       $xml = "
           <xml>
              <appid>$wx[appid]</appid>
              <attach>支付测试</attach>
              <body>JSAPI支付测试</body>
              <mch_id>$wx[mch_id]</mch_id>
              <nonce_str>$nonceStr</nonce_str>
              <notify_url>$wx[notify_url]</notify_url>
              <openid>$openId</openid>
              <out_trade_no>$outNo</out_trade_no>
              <spbill_create_ip>14.23.150.211</spbill_create_ip>
              <total_fee>$fee</total_fee>
              <trade_type>JSAPI</trade_type>
              <sign>$sign</sign>
           </xml>
       ";

        $body = Http::post("https://api.mch.weixin.qq.com/pay/unifiedorder",$xml);

        $obj = simplexml_load_string($body,'SimpleXMLElement',LIBXML_NOCDATA);
        $tmp = get_object_vars($obj);

        $arr = [];

        if($tmp['return_code']=="SUCCESS"&&$tmp['result_code']=="SUCCESS"){
            $arr["provider"]="wxpay";
            $arr["timeStamp"]=(string)time();
            $arr["nonceStr"]=$nonceStr;
            $arr["package"]="prepay_id=$tmp[prepay_id]";
            $arr["signType"]="MD5";
            $paySign = strtoupper(md5("&appid=$wx[appid]&nonceStr=$nonceStr&package=$arr[package]&signType=$arr[signType]&key=$key"));
            $arr["paySign"]=$paySign;
        }

        return $arr;

   }

返回结果

{
  "code": 200,
  "data": {
    "provider": "wxpay",
    "timeStamp": "1640228441",
    "nonceStr": "8edc6d6534f71676e277d961dbd826bc",
    "package": "prepay_id=wx231100416525631467baf7da5304ea0000",
    "signType": "MD5",
    "paySign": "2C00B6C377RD2115DF5E69B23FF20610"
  }
}

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 21:55:54  更:2021-12-26 21:57:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:45:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码