ajax调用微信退款接口,微信退款(在.net core 用http方式请求)
public string getwxgzhpayrefund(){
//构造请求参数
requesthandler packagereqhandler = new requesthandler();
#region 构造请求参数
packagereqhandler.setparameter("appid", wxpayconfig.appid);//appid
packagereqhandler.setparameter("mch_id", wxpayconfig.mchid);//商户号
packagereqhandler.setparameter("nonce_str", tenpayv3util.getnoncestr());//随机串
packagereqhandler.setparameter("out_refund_no", out_refund_no);
packagereqhandler.setparameter("out_trade_no", out_trade_no);//订单号
packagereqhandler.setparameter("refund_fee", (int)(convert.todecimal(refund_fee) * 100) + "");
packagereqhandler.setparameter("total_fee", (int)(convert.todecimal(total_fee) * 100) + ""); //金额,以分为单位
packagereqhandler.setparameter("transaction_id", transaction_id);
packagereqhandler.setparameter("sign", packagereqhandler.createmd5sign("key", wxpayconfig.key));//商户api密钥(签名)
//
#endregion
//将参数转为xml字符串
string data = packagereqhandler.parsexml(); //发起post异步请求,获取返回的内容
//本地或者服务器的证书位置(证书在微信支付申请成功发来的通知邮件中)
string cert = @"d:\wshh\apiclient_cert.p12";
//私钥(在安装证书时设置)
string password = wxpayconfig.mchid;
servicepointmanager.servercertificatevalidationcallback = new remotecertificatevalidationcallback(checkvalidationresult);
//调用证书
x509certificate2 cer = new x509certificate2(cert, password, x509keystorageflags.persistkeyset | x509keystorageflags.machinekeyset);
#region 发起post请求
httpwebrequest webrequest = (httpwebrequest)httpwebrequest.create(wxpayconfig.refund_url);
webrequest.clientcertificates.add(cer);
webrequest.method = "post";
byte[] postdatabyte = encoding.utf8.getbytes(data);
webrequest.contentlength = postdatabyte.length;
stream stream;
stream = webrequest.getrequeststream();
stream.write(postdatabyte, 0, postdatabyte.length);
stream.close();
httpwebresponse httpwebresponse = (httpwebresponse)webrequest.getresponse();
streamreader streamreader = new streamreader(httpwebresponse.getresponsestream());
string responsecontent = streamreader.readtoend();
#endregion
var res = system.xml.linq.xdocument.parse(responsecontent);
string return_code = res.element("xml").element("return_code").value;
hashtable hashtable = new hashtable();
hashtable.add("return_code", return_code);
return dicresult;
}
private static bool checkvalidationresult(object sender, x509certificate certificate, x509chain chain, sslpolicyerrors errors)
{
if (errors == sslpolicyerrors.none)
return true;
return false;
}
ajax调用微信退款接口,微信退款(在.net core 用http方式请求)相关推荐
- ajax调用java程序,从微信小程序到鸿蒙JS开发-JS调用Java
除轻量级智能穿戴设备,现鸿蒙支持的手机.汽车.TV.手表.平板等属于富鸿蒙,在JS语言的项目中也有Java模块,并提供了JS跨语言调用Java方法的技术.现需要实现查看商品评论时,统计出长评.中评和短 ...
- php微信群发接口,微信公众平台群发接口问题
服务号新增的高级群发接口,在对接"上传图文消息素材"时,返回44003 本人之前调用服务号的接口,一直很顺利,例如创建菜单的接口,微信前两天公布了高级群发接口(每个月能发送1次,变 ...
- php微信自动回复接口,微信接口自动回复
/* http://fanyi.youdao.com/openapi.do?keyfrom=weifan&key=791593512&type=data&doctype=&am ...
- Java 微信支付接口(统一下单,异步回调,订单退款,取消订单)
一.准备工作 APP绑定微信商户平台获取商户id(mchID).证书(商户后台下载).支付签名密钥(商户后台设置api密钥).退款签名密钥(商户后台设置api密钥ipv3)等 1.导入微信支付SDK ...
- 微信公众号退款,app微信退款,支付宝退款,浦发退款
最近公司财务爸爸提需求,把三个支付退款api集成到公司系统里面去,由于之前api文档看的不够仔细,遇到很多坑,特此记录,分享给同样遇到坑的小伙伴: 商户能提供的是 appid 你的appid 也就是对 ...
- 微信小程序接入微信支付(二):后台调用统一下单接口
微信统一支付官方文档:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 因该接口需要商户系统中自己的订单编号,笔者先 ...
- php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中. 内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php clas ...
- 【Day40】php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中. 内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?phpclass ...
- 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置
微信JS接口 微信JS接口 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置 来源:http://www.cnblogs.com/txw1 ...
- 微信提现接口一秒提现多次只扣一次钱
经手的一个微信小程序,有钱包提现余额到微信的功能,最近查看数据的时候发现有人使用某种工具在同一时间提现了多次,但只扣了了一次钱包余额,比如用户钱包有3元,他同一时间提现了多次2元,这样实际到账10元, ...
最新文章
- groupby+(apply+agg+transform)方法的比较
- 【深度学习】面向医学图像的病灶分割调研(一)
- .CN域名总量达1090.6万个:8月份共净增13.8万个
- HDOJ 2018 母牛的故事
- 看我打脸Message Pack
- 区块链浏览器_YOYOW正式发布更新版本区块链浏览器
- 最近发现一个小生意非常不错
- bat文件如何获取输入内容并写入文件
- mybatis开启二级缓存和懒加载,类型别名,类都简称
- spring boot 教程(三)配置详解
- 前端对接海康威视监控
- 服务器无法通过系统,Day 10246 服务器无法通过系统非页面共享区来进行分配,因为服务器已达非页面共享分配的配置极限...
- SVN迁移IP变更地址修改relocate
- Python+OpenCV判断图像是黑底还是白底
- SAP修改消息内容和报错类型(OBA5,SE91)
- Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置
- JavaBeans分类
- probably,possibly,may的用法区别是什么呀
- 源码编译安装php-7.4.8
- centos6关闭防火墙(zonealarm pro防火墙)
热门文章
- “Ceph浅析”系列之二——Ceph概况
- 在Eclipse里自动导入相应包的类名的快捷键
- X264结构体中的变量解释
- Codeforces-691C-Exponential notation(模拟)Java 以及输入的处理
- 距离之和最小 V3 51Nod - 1110(带权中位数或者爆搜)
- CodeForces 632C	The Smallest String Concatenation(水)
- mac nginx映射ip和端口_南京课工场IT培训:Nginx虚拟主机 (基于域名 基于端口 基于ip)...
- 全国植被覆盖度VFC逐月数据
- Java中的可变参数使用
- 插入排序 java实现