thinkphp 使用 easypay 和 easywechat

easypay  是3.x

easywechat 是6.x

引入: 

use Yansongda\Pay\Pay;//easypayuse EasyWeChat\MiniApp\Application as MiniApp;//easywechat
use EasyWeChat\Pay\Application as Payapp;//easywechat
public function suborder(){$order = ['out_trade_no' => time().mt_rand(10000,99999),'description' => '商品购买','amount' => ['total' => 1,'currency' => 'CNY',],'payer' => ['openid' => input('openid'),]];$result = Pay::wechat(PayLib::getConfig())->mini($order);$this->success('',$result);var_dump($result);die;$result = Pay::wechat()->mini($order);}public function suborder_easywechat(){$config = ['app_id' => 'wx6ce683f16052b51b','secret' => 'b5d5bcb937101b7d36a99425ebd044fb','mch_id' => 1631350029,// 商户证书'private_key' =>  '/www/wwwroot/h5dev.qfhl.com/cert/apiclient_key.pem','certificate' =>   '/www/wwwroot/h5dev.qfhl.com/cert/apiclient_cert.pem',// v3 API 秘钥'secret_key' => '876FA8733AF9E2E6FE2015C0113B7322',];$app = new Payapp($config);$response = $app->getClient()->postJson("v3/pay/transactions/jsapi", ["mchid" => "1631350029", // <---- 请修改为您的商户号"out_trade_no" => time().mt_rand(10000,99999),"appid" => "wx6ce683f16052b51b", // <---- 请修改为服务号的 appid"description" => "商品购买","notify_url" => "https://crm.xiniuai.com/index.php/api/PayNotify/easy_wechat","amount" => ["total" => 1,"currency" => "CNY"],"payer" => ["openid" => input('openid') // <---- 请修改为服务号下单用户的 openid]]);// var_dump($response->getContent());die;$prepay=$response->toArray();$appId = 'wx6ce683f16052b51b';$signType = 'RSA'; // 默认RSA,v2要传MD5$config = $app->getUtils()->buildSdkConfig($prepay['prepay_id'], $appId, $signType); // var_dump($config);die;//$config的timestamp小写了!!!!!$this->success('',$config);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/65249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS 常用方法汇总

本篇目录 Math字符串数组JSON日期(Date)字符数字URL其他 Math Math.max()&#xff1a;用于返回指定参数中的最大值。Math.min()&#xff1a;用于返回指定参数中的最小值。Math.random()&#xff1a;用于生成一个介于 0 到 1 之间的随机数。Math.floor()&#xff1a;用于将一个…

Zabbix Api监控项值推送:zabbix_sender

用法示例&#xff1a; zabbix_sender [-v] -z server [-p port] [-I IP-address] [-t timeout] -s host -k key -o value其中&#xff1a; -z 即 --zabbix-server&#xff0c;Zabbix server的主机名或IP地址。如果主机由proxy监控&#xff0c;则应使用proxy的主机名或IP地址-…

Java“牵手”1688图片识别商品接口数据,图片地址识别商品接口,图片识别相似商品接口,1688API申请指南

1688商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要通过图片地址识别获取1688商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问1688商城的网页来获取商品详情信息。以下是两种常…

前端面试准备学习记录 — CSS篇

2.1、CSS基础 选择器&#xff1a;id > 类 属性 伪类 > 标签 优先级&#xff1a;内联样式 > id > 类、伪类、属性 > 标签 !important优先级最高 block&#xff1a;独占一行&#xff1b;inline&#xff1a;width、height属性无效&#xff0c;水平方向的margin和…

iperf 测试网络性能

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能&#xff0c;具有多种参数和UDP特性&#xff0c;可以根据需要调整&#xff0c;可以报告带宽、延迟抖动和数据包丢失。 官网&#xff1a;iperf.fr https://iperf.fr 支持参数 参数说明-p, --port #Server 端监…

超图嵌入论文阅读1:对偶机制非均匀超网络嵌入

超图嵌入论文阅读1&#xff1a;对偶机制非均匀超网络嵌入 原文&#xff1a;Nonuniform Hyper-Network Embedding with Dual Mechanism ——TOIS&#xff08;一区 CCF-A&#xff09; 背景 超边&#xff1a;每条边可以连接不确定数量的顶点 我们关注超网络的两个属性&#xff1…

排序算法学习

总体概况 参考自&#xff1a;https://github.com/hustcc/JS-Sorting-Algorithm 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#xff0c;而外部排序是因排序的数据很大&#xff0c…

《Web安全基础》04. 文件上传漏洞

web 1&#xff1a;文件上传漏洞2&#xff1a;WAF 绕过2.1&#xff1a;数据溢出2.2&#xff1a;符号变异2.3&#xff1a;数据截断2.4&#xff1a;重复数据 本系列侧重方法论&#xff0c;各工具只是实现目标的载体。 命令与工具只做简单介绍&#xff0c;其使用另见《安全工具录》…

基于RabbitMQ的模拟消息队列之三——硬盘数据管理

文章目录 一、数据库管理1.设计数据库2.添加sqlite依赖3.配置application.properties文件4.创建接口MetaMapper5.创建MetaMapper.xml文件6.数据库操作7.封装数据库操作 二、文件管理1.消息持久化2.消息文件格式3.序列化/反序列化4.创建文件管理类MessageFileManager5.垃圾回收 …

Java实现HTTP的上传与下载

相信很多人对于java文件下载的过程都存在一些疑惑&#xff0c;比如下载上传文件会不会占用vm内存&#xff0c;上传/下载大文件会不会导致oom。下面从字节流的角度看下载/上传的实现&#xff0c;可以更加深入理解文件的上传和下载功能。 文件下载 首先明确&#xff0c;文件下载…

git学习笔记 | 版本管理 - 分支管理

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

C语言:动态内存(一篇拿捏动态内存!)

目录 学习目标&#xff1a; 为什么存在动态内存分配 动态内存函数&#xff1a; 1. malloc 和 free 2. calloc 3. realloc 常见的动态内存错误&#xff1a; 1. 对NULL指针的解引用操作 2. 对动态开辟空间的越界访问 3. 对非动态开辟内存使用free释放 4. 使用free释…

SpringBoot + layui 框架实现一周免登陆功能

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【HDFS】XXXRpcServer和ClientNamenodeProtocolServerSideTranslatorPB小记

初始化RouterRpcServer时候会new ClientNamenodeProtocolServerSideTranslatorPB,并把当前RouterRpcServer对象(this)传入构造函数: ClientNamenodeProtocolServerSideTranslatorPBclientProtocolServerTranslator =new ClientNamenodeProtocolServerSideTranslatorPB(this…

2022年03月 C/C++(六级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C++编程(1~8级)全部真题・点这里 第1题:多项式相加 我们经常遇到两多项式相加的情况, 在这里, 我们就需要用程序来模拟实现把两个多项式相加到一起。 首先, 我们会有两个多项式,每个多项式是独立的一行, 每个多项式由系数、 幂数这样的多个整数对来表示。 如多项式 2…

git 将本地分支与远程master主分支合并

1.git add . // 将本地修改文件加入暂存区 2.git commit -m"修改内容" //提交日志 3.git checkout master // 切换到主分支 (建议操作到这里的时候利用git branch 查看一下本地分支有哪些) 4.git pull // 将本地主分支代码更新 5.git checkout self-branch …

解决:在宝塔站点上添加域名(8080,888等端口)显示“端口范围不合法“

在宝塔上给站点添加域名访问时&#xff0c;有时候需要部署站点的端口为8080或者888端口。但是添加之后显示&#xff1a; 解决方法 点击宝塔上的文件 切换到根目录搜索 public.py 包含子目录 选择这个&#xff1a; 修改其中的checkport函数&#xff1a; 最后&#xff0c;重启面…

android13(T) 以太网设置工具类

13 版本的以太网设置和以前版本有所变动&#xff0c;在 AS 中就能直接调用对应 API 将 build.gradle 版本修改 compileSdkVersion 31, 即可直接调用 EthernetManager 相关&#xff0c; 设置静态等方法可以通过反射调用设置。 以下是核心设置静态和动态参数工具类&#xff0c…

【6】Java建立枚举类,开放接口给前端获取

1.枚举类代码 package com.ruoyi.common.enums;/*** 业务表单枚举.** author *********** date 0800 2023-08-29 17:06*/public enum FabFormEnum {/*** 任务 表单*/Form_JOB(1001,"任务表单"),;private Integer code;private String desc;FabFormEnum(Integer code…

C语言之函数题

目录 1.乘法口诀表 2.交换两个整数 3.函数判断闰年 4.函数判断素数 5.计算斐波那契数 6.递归实现n的k次方 7.计算一个数的每位之和&#xff08;递归&#xff09; 8.字符串逆序&#xff08;递归实现&#xff09; 9.strlen的模拟&#xff08;递归实现&#xff09; 10.求…