• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 分享封装的一个PHP微信支付的类库(扫码、H5、小程序)

分享封装的一个PHP微信支付的类库(扫码、H5、小程序)

作者:站长图库 字体:[增加 减小] 来源:互联网

站长图库向大家介绍了PHP微信支付的类库,微信扫码支付,微信小程序支付等相关知识,希望对您有所帮助

在我们编写相关支付的时候,经常会使用微信支付,在php中使用微信支付还是比较简单的

微信支付文档:https://pay.weixin.qq.com/wiki/doc/api/index.html

这里简单介绍微信支付的几种使用,这里微信支付我封装了一个微信支付的类库,直接传递参数就可使用:

首先把配置文件填写完整(细心不要填错,否则会导致签名错误):

$config = array(    'appid'         => '', // 微信支付appid    'xcxappid'      => '', // 微信小程序appid    'mch_id'        => '', // 微信支付 mch_id 商户收款账号    'key'           => '', // 微信支付key    'appsecret'     => '', // 公众帐号secert(公众号支付专用)    'notify_url'    => '', // 接收支付状态的连接  改成自己的回调地址    'redirect_uri'  => '', // 公众号支付时,没有code,获取openid使用);

对于相关支付我也也成了函数便于使用,

微信扫码支付:

/** * [qrcodePay 微信扫码支付] * @param  [type] $order [订单信息数组] * @return [type]        [description] * $order = array( *      'body'          => '', // 产品描述 *      'total_fee'     => '', // 订单金额(分) *      'out_trade_no'  => '', // 订单编号 *      'product_id'    => '', // 产品id(可用订单编号) * ); */public static function qrcodePay($order=NULL){    if(!is_array($order) || count($order) < 4){        die("数组数据信息缺失!");    }    $order['trade_type'] = 'NATIVE'; // Native支付    $result = self::unifiedOrder($order);    $decodeurl = urldecode($result['code_url']);    return $decodeurl; // 使用返回链接直接生成二维码}

微信H5支付:

/** * [weixinH5 微信H5支付] * @param  [type] $order [订单信息数组] * @return [type]        [description] * $order = array( *      'body'          => '', // 产品描述 *      'total_fee'     => '', // 订单金额(分) *      'out_trade_no'  => '', // 订单编号 *      'product_id'    => '', // 产品id(可用订单编号) * ); */public static function h5Pay($order=NULL){    if(!is_array($order) || count($order) < 4){        die("数组数据信息缺失!");    }    $order['trade_type'] = 'MWEB'; // H5支付    $result = self::unifiedOrder($order);    if ($result['return_code']=='SUCCESS' && $result['result_code']=='SUCCESS')        return $result['mweb_url']; // 返回链接让用户点击跳转    if ($result['err_code_des'])        die($result['err_code_des']);    return false;}

微信小程序支付:

/** * [xcxPay 获取jssdk需要用到的数据] * @param  [type]  $order [订单信息数组] * @param  boolean $type  [区分是否是小程序,默认 true] * @return [type]         [description] * $order = array( *      'body'          => '', // 产品描述 *      'total_fee'     => '', // 订单金额(分) *      'out_trade_no'  => '', // 订单编号 *      'product_id'    => '', // 产品id(可用订单编号) *      'openid'        => '', // 用户openid * ); */public static function xcxPay($order=NULL,$type=true){    if(!is_array($order) || count($order) < 5){        die("数组数据信息缺失!");    }    $order['trade_type'] = 'JSAPI'; // 小程序支付    $result = self::unifiedOrder($order,$type);    if ($result['return_code']=='SUCCESS' && $result['result_code']=='SUCCESS') {        $data = array (            'appId'     => $type ? $this->config['xcxappid'] : $this->config['appid'],            'timeStamp' => time(),            'nonceStr'  => self::get_rand_str(32, 0, 1), // 随机32位字符串            'package'   => 'prepay_id='.$result['prepay_id'],            'signType'  => 'MD5', // 加密方式        );        $data['paySign'] = self::makeSign($data);        return $data; // 数据小程序客户端    } else {        if ($result['err_code_des'])            die($re
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 分享封装的一个PHP微信支付的类库(扫码、H5、小程序)

相关文章

  • Photoshop制作铝光汽车Logo教程
  • 详解php中函数的引用传递和返回 (附代码)
  • 用Coreldraw做漂亮的动画图片
  • PHP8.1新特性大讲解之array_is_list功能
  • 帝国CMS内容字段域名替换函数
  • Photoshop绘制玻璃质感的APP软件图标
  • PHP怎么实现评论回复功能
  • 织梦模板FCK编辑器,弹出'未知工具栏项目'的解决
  • PS制作质感的立体字
  • PHP如何只抓取网页头

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Laravel如何使用Observer实现日志管理模块
    • 总结分享Go中常用的strings函数
    • 浅析小程序中reLaunch跳转报错怎么解决
    • ThinkPHP6中env环境变量的使用
    • Photoshop制作一个水晶卡通人像图标
    • AI画笔工具在字体设计中的灵活运用
    • 一个标志的制作过程
    • Photoshop设计3D效果的月牙状LOGO
    • ThinkPHP如何使用migrate实现数据库迁移
    • PS设计制作蓝色梦幻泡泡背景的详细教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有