关于微信h5支付实例

本文详细介绍了微信H5支付的流程,从配置请求参数到请求下单接口,再到获取mweb_url并进行前端调用。适用于h5网站内的微信支付场景。提供了前端和后端C#的实例代码,帮助开发者实现微信支付功能。
摘要由CSDN通过智能技术生成

流程

  1. 配置请求参数
  2. 请求下单接口
  3. h5支付时,获取下单返回的mweb_url路径
  4. 前端获取接口返回的url,请求此路径(手机访问前端界面,pc访问报错:商家格式配置错误)

适用场景

h5网站内,调用微信支付。

前端实例

	<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
		<script type="text/javascript">

 function pay() {
   
	$.ajax({
   
                async: false,
                cache: false,
                type: 'POST',
                url: "https://ztcapi.yzsheng.com/Try/WeChatIndex", //请求的action路径
                success: function (data) {
    
alert(data.item);       
                window.location.href = data.item;
        },
error: function(XMLHttpRequest, textStatus, errorThrown) {
   
             console.log(XMLHttpRequest.status);
             console.log(XMLHttpRequest.readyState);
             console.log(textStatus);
        }
                
            });
        };
		</script>

后端C#实例

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Web;
using System.Xml.Linq;

namespace WebApplication1.Common.PayHelper
{
   
    /// <summary>
    /// H5微信支付封装
    /// </summary>
    public static class H5PayHepler
    {
   
        static string _pre_order_url = "https://api.mch.weixin.qq.com";//请求域名

        static string _appid = "";//公众账号ID
        static string _mch_id = "";//商户号
        static string _partnerKey = "";//商家私钥,在微信支付中设置


        /// <summary>
        /// H5微信支付
        /// </summary>
        /// <returns></returns>
        #region 微信支付
        public static string WeChatIndex()
        {
   
            #region 下单
            var _attach = "支付测试";
            var _body = "H5支付测试";
            var _nonce_str = CreateNonce_str(); //随机字符串
            var _notify_url = ""; //回调地址
            var _out_trade_no = Guid.NewGuid().ToString("N"); //订单号
            var _spbill_create_ip = GetWebClientIp(); //终端ip
            var _total_fee = 0.01;//元为单位
            var _scene_info = $@"{
   {""h5_info"": {
   {""type"":""Wap"",""wap_url"": ""{_notify_url}"",""wap_name"": ""{_body}""}}}}"; //场景参数
            var _time_start = DateTime.Now.ToString("yyyyMMddHHmmss"); //请求开始时间
            var _time_expire = DateTime.Now.AddHours(1).ToString("yyyyMMddHHmmss"); //请求结束时间
            var _trade_type = "MWEB"; //请求类型
            var pre_order_httpResult = UnifiedOrder(_appid, _attach, _body, _mch_id, _nonce_str, _notify_url, _out_trade_no, _spbill_create_ip, _total_fee,
    _trade_type, _scene_info, _time_start, _time_expire); //下单
            var pre_order_resultStr = XElement.Parse(pre_order_httpResult);
            var pre_order_result_code = pre_order_resultStr.Element("return_code").Value;
            var pre_order_result_msg = pre_order_resultStr.Element("return_msg").Value
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值