主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
这次给大家带来微信支付退款功能的开发。微信支付退款功能开发有哪些注意事项?下面是一个实际案例。让我们来看看。
首先吐槽一下微信文档和演示。如果重要的步骤信息没有强调清楚,那么。net将无法成功运行。
1.微信扫码登录
2.微信PC端支付
经过几次摸索才通过这个退款功能。以下是微信支付退款功能的开发步骤:
首先,下载证书并将其导入系统。
微信退款需要凭证。此证书不是官方演示中的证书,而是您需要在微信商家平台的api安全栏中下载的证书。在官方证书使用示例的一个word文档中,您可以看到以下内容:C#需要注意一件事,除了在代码中使用apiclient_cert.p12之外,您还需要将证书导入到操作系统中才能使用它。2.导入操作系统,二者缺一不可。我只是不知道这两个步骤。NET版本需要大于2.0,太浪费时间了。所以先下载证书:
下载时需要手机认证和登录密码。下载后找到证书apiclient_cert.p12,双击导入,导入时会提示您输入密码。这个密码就是商家ID,而且必须是自己商家平台下载的证书。否则,将出现密码错误提示:
导入正确的提示:
第二,代码退款
这个地方可以直接从官方演示中的代码下载,演示。
需要修改WxPayConfig中的几个参数:
public const string APPID =“wxf 6 DD 794 bcexxxx“;公共常量字符串MC hid =“xxxx“;public const string KEY =“xxxxx 849 ba 56 ab be 56 e 05 xxxxx“;public const string app secret =“---“;//= = = =【证书路径设置】= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = *证书路径,请注意要填写绝对路径(仅限退款和取消订单。公共常量字符串SSL cert _ PASSWORD =“131 xxxx“;上面的SSLCERT_PASSWORD就是MCHID,也就是商家ID。SSLCERT_PASSWORD的错误将提示指定的网络密码不正确:
接下来,控制器中添加了退款方法,包括微信订单号、商家订单号、总金额和退款金额。在商家订单号和微信订单号之间选择。详细参数
public action result dore fund(){ string result =退款。Run(“、“131667780120trade_no“、“1“、“1“);返回内容(结果);}退款类的运行方法:
/* * * *申请退款的完整业务流程逻辑* @param transaction_id微信订单号(首选)* @param out_trade_no商家订单号* @param total_fee订单总金额* @param refund_fee退款金额* @return退款结果(xml格式)*/public静态字符串run(string transaction _ id,string out _ trade _ no,string total_fee,string refund _ fee){ Logger。Info(“退款正在处理中…”);WxPayData data = new WxPayData();如果(!字符串。isnullrempty(transaction _ ID))//如果存在微信订单号,则以微信订单号为准{ data . setvalue(“transaction _ ID“,transaction _ ID);} else//如果微信订单号不存在,将根据商家订单号{ data . setvalue(“out _ trade _ no“,out _ trade _ no)进行退款;}数据。SetValue(“total _ fee“,int。parse(total _ fee));//订单总金额data.setvalue(“退款_费用“,int.parse(退款_费用));//退款金额data . setvalue(“out _ refund _ no“,out _ trade _ no);//随机生成商家退款号码data . setvalue(“op _ user _ id“,wxpayconfig . MC hid);//operator,默认为商户号wxpaydataresult = wxpayapi . refund(data);//向API提交退款申请并接收返回的数据logger.info(“撤销过程完成,结果:“+Result。to XML());返回结果。ToPrintStr();}退款:方式
/* * * *申请退款* @param WxPayData inputObj参数提交给API申请退款* @ param int time out time out * @ throws WxPayException * @ return成功时返回接口调用结果,其他异常抛出*/public static WxPayData refund(WxPayData input obj,int time out = 6){ string URL =“https://API . mch . weixin . QQ . com/sec API/pay/refund“;//检测所需参数if(!inputObj。IsSet(“out _ trade _ no“)& &!inputobj . isset(“transaction_id“){ throw new wxPayException(“在退款申请界面中,out_trade_no和transaction _ id至少要填写一项!“);} else if(!inputobj . isset(“out_refund_no“){ throw new wxPayException(“在退款申请界面中,缺少必需的参数out _ refund _ no!“);} else if(!inputobj . isset(“total_fee“){ throw new wxpayexception(“退款申请界面中缺少必需的参数total _ fee!“);} else if(!Inputobj。isset(“退款_费用“){throw new wxpayexception(“退款申请界面中缺少退款_费用!“);} else if(!inputobj . isset(“op_user_id“){ throw new wxPayException(“退款申请界面中缺少必需的参数op _ user _ id!“) );} inputObj。SetValue(“appid“,WxPayConfig。APPID);//公共帐户id input obj . setvalue(“mch _ id“,wxpayconfig . mch id);//商家编号input obj . setvalue(“nonce _ str“,guid.newguid()。tostring()。replace(“-“,““));//随机字符串input obj . setvalue(“sign“,input obj . makesign());//签名字符串xml = inputObj。to XML();var start =日期时间。现在;日志。debug(“WxPayApi“,“退款请求:“+XML);字符串响应= HttpService。post(XML、url、true、超时);//调用HTTP通信接口向API log . debug(“wxPayAPI“,“Undo Response:“+Response“)提交数据;var end =日期时间。现在;int time cost =(int)((end -start)。total毫秒);//获取接口需要时间//将xml格式的结果转换为对象以返回WxPayData result = new WxPayData();结果。FromXml(响应);report cost time(URL,timeCost,result);//测速报告返回结果;}记得在生产环境中将其修改为您自己的参数。如果参数正确,它将返回:
而且,微信立即收回了退款通知:
总结:至此,退款功能已经完成。其实如果参数和程序正确的话,这个地方还是很简单的。微信规定一年内交易可以申请退款。
我相信你看完这个案例后已经掌握了方法。更多精彩请关注主机参考其他相关文章!
推荐阅读:
ss3的渐变怎么用?
jQuery、Angular和node中Promise的详细解释
H5视频播放库video.js的详细说明
以上是微信支付退款功能的开发细节。更多资讯请关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 最适合Android开发的Linux发行版是什么?(linux android开发)
- 哪个Linux系统最适合Android开发?
- linux在嵌入式系统开发领域的广泛应用(嵌入式Linux应用场景)
- 微信官方账号开发详细介绍(微信官方账号开发方法)
- 传智和黑马微信公众平台开展视频资料共享(传智黑马培训学校怎么样)
本文由主机参考刊发,转载请注明:微信支付退款功能开发(微信支付退款接口接入条件) https://zhujicankao.com/105751.html
评论前必须登录!
注册