微信公众号支付H5调用支付解析

yizhihongxing

当网站开发者需要实现微信公众号的在线支付功能时,可能会使用微信公众号支付进行处理。本文将介绍如何在网站中调用微信公众号支付H5。

准备工作

在开始前,需要先完成以下准备工作:

  1. 在微信商户平台注册一个商户号,并通过相应的审核流程。
  2. 在公众号后台配置JSAPI支付的安全域名。

H5调用支付

本节将介绍如何使用微信公众号支付H5进行在线支付。

第一步:引入JS文件

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

第二步:配置微信JS-SDK

// 配置微信JS-SDK
wx.config({
    debug: false,
    appId: 'YOUR_APPID',
    timestamp: 'YOUR_TIMESTAMP',
    nonceStr: 'YOUR_NONCESTR',
    signature: 'YOUR_SIGNATURE',
    jsApiList: ['chooseWXPay']
});

第三步:准备支付参数

// 准备支付参数
var payData = {
    appId: 'YOUR_APPID',
    timeStamp: 'YOUR_TIMESTAMP',
    nonceStr: 'YOUR_NONCESTR',
    package: 'prepay_id=YOUR_PREPAYID',
    signType: 'MD5',
    paySign: 'YOUR_PAYSIGN'
}

其中,payData的属性含义如下:

  • appId:公众号的唯一标识
  • timeStamp:生成支付请求的时间戳
  • nonceStr:生成支付请求的随机字符串
  • package:统一下单接口返回的 prepay_id 参数值,格式如:prepay_id=xxxxxxx
  • signType:签名算法,目前支持 MD5
  • paySign:签名

第四步:调用微信 JSAPI 完成支付

wx.chooseWXPay({
    timestamp: payData.timeStamp,
    nonceStr: payData.nonceStr,
    package: payData.package,
    signType: payData.signType,
    paySign: payData.paySign,
    success: function(res) {
        // 支付成功
        console.log('支付成功', res);
    },
    fail: function(res) {
        // 支付失败
        console.log('支付失败', res);
    },
    cancel: function(res) {
        // 取消支付
        console.log('取消支付', res);
    }
});

示例说明

下面给出两个示例,分别是获取支付参数和调用微信 JSAPI 完成支付。

示例一:获取支付参数

下面是一个获取支付参数的示例。

// 统一下单,获取prepay_id
// payData的值需要通过统一下单接口获取
var payData = {
    appId: 'YOUR_APPID',
    timeStamp: 'YOUR_TIMESTAMP',
    nonceStr: 'YOUR_NONCESTR',
    package: 'prepay_id=YOUR_PREPAYID',
    signType: 'MD5',
    paySign: 'YOUR_PAYSIGN'
}

示例二:调用微信 JSAPI 完成支付

下面是一个调用微信 JSAPI 完成支付的示例。

// 调用微信 JSAPI 完成支付
wx.chooseWXPay({
    appId: payData.appId,
    timestamp: payData.timeStamp,
    nonceStr: payData.nonceStr,
    package: payData.package,
    signType: payData.signType,
    paySign: payData.paySign,
    success: function(res) {
        // 支付成功
        console.log('支付成功', res);
    },
    fail: function(res) {
        // 支付失败
        console.log('支付失败', res);
    },
    cancel: function(res) {
        // 取消支付
        console.log('取消支付', res);
    }
});

以上就是使用微信公众号支付H5调用支付的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信公众号支付H5调用支付解析 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS代码 注释的3种方法

    CSS代码注释指的是在CSS代码中添加注释以便于理解和维护代码,在这篇文章中,我们将介绍CSS代码注释的3种方法。 方法1:单行注释 单行注释以//开头,其后是注释内容,直到行尾为止。单行注释可以用于单独的一行代码或一条CSS规则的末尾,来对CSS样式进行描述。 示例代码如下: p { font-size: 16px; /* 设置段落字体大小为16px */…

    css 2023年6月9日
    00
  • 利用css3实现的简单的鼠标悬停按钮

    我将提供利用CSS3实现简单鼠标悬停按钮的攻略。以下是完整步骤: 第一步:HTML结构 我们需要先在HTML中建立结构,以便CSS选择器和Javascript可以找到按钮。以下是一个简单的HTML结构示例: <button class="hover-button">Hover Me</button> 请注意,此示例…

    css 2023年6月10日
    00
  • PHP使用xmllint命令处理xml与html的方法

    使用xmllint命令可以处理和校验XML和HTML文档,同时还能够格式化输出、转换文件格式等操作,本篇文章将详细介绍PHP使用xmllint命令处理XML和HTML文件的方法。 安装xmllint工具 首先,要使用xmllint命令,需要先安装xml工具包。以Ubuntu Linux系统为例,可以使用以下命令安装: sudo apt-get install…

    css 2023年6月10日
    00
  • html内联元素和块级元素的基本概念及使用示例

    HTML中的元素可以分为内联元素和块级元素,这两种元素有着不同的基本概念和使用方式。本文将详细讲解内联元素和块级元素的基本概念及使用示例。 基本概念 内联元素 内联元素是指在排版时与其他内联元素在同一行内显示的元素,通常用于标记文本中的一部分,比如<a>、<strong>、<em>、<span>等。内联元素的特…

    css 2023年6月10日
    00
  • vue.config.js中configureWebpack与chainWebpack区别及说明

    首先需要了解的是,Vue CLI在构建项目时提供了两种自定义Webpack配置的方式:configureWebpack和chainWebpack。它们都在vue.config.js中进行配置。 configureWebpack是一个简单的Webpack配置对象,可以用来覆盖默认的Webpack配置,或者新增一些配置项。例如,下面是一个简单的configure…

    css 2023年6月10日
    00
  • IE下textarea中font-size值很大时文字不显示的解决方法

    这个问题的解决方案是使用CSS hack来解决。在IE浏览器下,使用font-size:0来覆盖原有的样式,然后使用zoom:1来将元素缩小,最后再使用一个较大的字体大小。具体实现步骤和示例说明如下。 步骤一:覆盖原有样式 首先,在CSS文件中,为对应的textarea样式添加font-size:0样式。这个样式将会覆盖掉原有的字体大小设置。 textare…

    css 2023年6月9日
    00
  • vue better scroll 无法滚动的解决方法

    下面是“vue better scroll 无法滚动的解决方法”的完整攻略。 问题描述 在使用 Vue 项目中,当我们使用了 vue better scroll 插件后,有时候会出现无法滚动的情况。 解决方法 方法一:检查容器高度 一般情况下,使用 vue better scroll 进行滚动时,需要将容器高度设置成固定值或者是百分比值。如果容器高度没有设置…

    css 2023年6月10日
    00
  • CSS3 mask 遮罩的具体使用方法

    当我们需要在网页中使用遮罩时,CSS3提供了一种很好的解决方案——mask。mask可以帮助我们实现图像遮罩、文本遮罩等效果,并且操作非常简单,下面我来详细讲解CSS3 mask的具体使用方法。 什么是CSS3 mask CSS3 mask是一种图像遮罩的技术,它可以根据一张纹理图像来遮罩页面上的元素,从而实现各种特效。 根据图片遮罩一个元素 我们可以通过如…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部