微信jsapi支付 退款接口

微信官方退款接口文档地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4

参数按照文档构造 记录出现错误:System.Net.WebException: The remote server returned an error: (400) Bad Request

这个是由于退款接口需要传证书

证书的话是需要登录商户号进行下载api证书 下载好导入到服务器中 调用支付接口的时候添加证书即可

public  string PostWebRequest(string postUrl, string paramData){string ret = string.Empty;try{
      byte[] byteArray = Encoding.Default.GetBytes(paramData); //转化HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));webReq.Method = "POST";webReq.ContentType = "application/x-www-form-urlencoded";webReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
       //初始化证书 fileName:证书存放的地址 password 证书的密码X509Certificate2 certificate = new X509Certificate2(fileName,password); 
       //添加证书webReq.ClientCertificates.Add(certificate);  


webReq.ContentLength = byteArray.Length;Stream newStream = webReq.GetRequestStream(); //newStream.Write(byteArray, 0, byteArray.Length);//写入参数ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); //这里报错StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);ret = sr.ReadToEnd();newStream.Close();sr.Close();response.Close();newStream.Close();}catch (Exception ex){return ex.Message;}return ret;}

  

 

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

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

相关文章

hexo 推送需要github的用户名

问题描述hexo 博客许久未写,今天尝试更新,发现 hexo d 之后需要输入 github 的用户名和密码,但是我输入之后没有效果,还是无法推送到 github 上。研究之后发现 rootcause 是:github 已经无法再用密码登陆推送,只能用 token, 而这里的token并不是 ssh-keys 里面的key,而…

Air780E如何发送SMS?一文详解!

​ 今天一起来学习使用合宙低功耗4G模组Air780E发送SMS短消息: 一、SMS简介 SMS(短消息服务,ShortMessageService)功能主要用于在蜂窝网络中传输短消息。 在4G网络中,短信可以在数据传输的同时进行,不会因数据业务占用网络资源而被延迟或阻塞。 在Air780E模块中,当收到新…

Air780EP之RC522开发板,你了解吗?

​ 本文讲解合宙Air780EP开发板RC522实例。 本文档适用于Air780EP开发板; 关联文档和使用工具; rc522 - rc522 非接触式读写卡驱动 - LuatOS 文档; LuatOS-Soc固件获取 https://gitee.com/openLuat/LuatOS/releases 一、环境准备 1.1 Air780EP开发板一套1.2 rc522实物一个​…

xshell-ssh自动多级跳转功能介绍

xshell-ssh自动多级跳转功能介绍 使用xshell在登陆到服务器时,可以配置需要自动执行的命令。 最常用的是,我们可以使用此特性完成ssh自动多级跳转。 通常,现网生产环境是和不能通过公网直接登陆,需要先登陆到跳板机然后二次登陆。 xshell-ssh自动多级跳配置步骤 下面以韶山…

鸿蒙NEXT开发实战教程:仿抖音短视频

今天的实战教程是简单模仿一下抖音短视频,主要是首页部分的内容,先看效果图:下面为大家讲解这个项目的详细教程。 tabbar Tabbar的难点在于中间有个发布按钮,思路是我们可以在tabbar里加个判断,中间按钮使用图片,其余按钮使用文字。相关代码如下:@State arr: Array<st…

HarmonyOS NEXT开发实战教程:选择相册和拍照

今天的内容是介绍在鸿蒙开发中从相册选择照片,和调用相机拍照,并使用这两个功能实现朋友圈编辑页面。这部分内容没什么好废话的,都是固定用法,直接上代码。 首先添加权限:ohos.permission.CAMERAohos.permission.READ_IMAGEVIDEO选择相册:​async getAlbum() {const pho…

Veritas Enterprise Vault 15.1 (Windows) - 自动捕获数据并归档信息

Veritas Enterprise Vault 15.1 (Windows) - 自动捕获数据并归档信息Veritas Enterprise Vault 15.1 (Windows) - 自动捕获数据并归档信息 信息归档解决方案,确保合规与有效的信息治理 请访问原文链接:https://sysin.org/blog/veritas-enterprise-vault-15/ 查看最新版。原创…

鸿蒙开发案例:分贝仪

【1】引言(完整代码在最后面) 分贝仪是一个简单的应用,用于测量周围环境的噪音水平。通过麦克风采集音频数据,计算当前的分贝值,并在界面上实时显示。该应用不仅展示了鸿蒙系统的基础功能,还涉及到了权限管理、音频处理和UI设计等多个方面。 【2】环境准备 电脑系统:win…

读数据工程之道:设计和构建健壮的数据系统26数据建模

数据建模1. 数据建模 1.1. 良好的数据架构必须反映出使用这些数据的组织的业务目标和业务逻辑 1.2. 数据湖1.0、NoSQL和大数据系统的兴起,使工程师们有时是为了合理的性能提升去忽略传统的数据建模 1.3. 数据在企业中的地位急剧上升,人们越来越认识到,建模对于实现数据科学需…

Codeforces Round 984 div3 个人题解(A~F)

Codeforces Round 984 div3 个人题解(A~F) Dashboard - Codeforces Round 984 (Div. 3) - Codeforces 火车头 #define _CRT_SECURE_NO_WARNINGS 1#include <algorithm> #include <array> #include <bitset> #include <cassert> #include <cmath>…

生存目录-无层级

import pypdf# 输入和输出文件名 input_pdf_filename = file.pdf output_pdf_filename = file_with_toc.pdf csv_filename = output.csv# 创建一个PdfWriter实例 writer = pypdf.PdfWriter()# 读取原始PDF文件 with open(input_pdf_filename, "rb") as input_pdf:rea…

提取pdf文档的目录1.0

import fitz # PyMuPDF import pandas as pd# 打开PDF文件 pdf_path = 控制之美.pdf # 请确保替换为正确的文件路径 document = fitz.open(pdf_path)# 初始化一个列表来存储目录信息 toc_list = []# 提取目录信息的函数 def extract_toc(toc, level=0):for item in toc:# 确保…