.NET Core 微信小程序退款步骤——(统一退款)

当微信小程序出现退款需求时,可以通过微信支付的接口来进行处理,其中,统一退款是常用的一种方式。下面是关于“.NET Core 微信小程序退款步骤——(统一退款)”的完整攻略。

1. 准备工作

在进行微信小程序退款之前,需要先在微信支付商户平台开通退款申请权限,并同时获取到以下信息:

  • 微信支付商户号(mch_id)。
  • 微信支付商户密钥(key)。
  • 微信支付证书(cert.p12格式)。
  • 微信支付证书密码。

2. 统一下单退款流程

2.1 统一下单

微信支付退款流程中,首先需要进行统一下单操作,该操作是使用统一下单API完成的。下面是完整的C#代码示例:

public async Task<string> Unifiedorder(string body, string openid, string out_trade_no, int total_fee, string notify_url)
{
    SortedDictionary<string, object> dict = new SortedDictionary<string, object>();
    dict.Add("appid", "微信小程序AppId");
    dict.Add("mch_id", "微信支付商户号");
    dict.Add("nonce_str", Guid.NewGuid().ToString().Replace("-", ""));
    dict.Add("body", body);
    dict.Add("out_trade_no", out_trade_no);
    dict.Add("total_fee", total_fee);
    dict.Add("spbill_create_ip", "127.0.0.1");
    dict.Add("notify_url", notify_url);
    dict.Add("trade_type", "JSAPI");
    dict.Add("openid", openid);
    dict.Add("sign", WeChatPayHelper.CreateMd5Sign(dict, "商户支付密钥"));

    string xml = XDocHelper.CreateXml(dict);
    return await HttpHelper.HttpPost(xml, "https://api.mch.weixin.qq.com/pay/unifiedorder");
}

上述代码中,调用了微信支付统一下单API,其中参数notify_url为支付成功后的回调接口地址,我们需要在小程序后端自行实现一个用于接收支付结果通知的接口,并处理返回结果。

2.2 退款

接下来,就是退款操作了。在微信支付中,退款申请可以在支付成功后1分钟到7天之内进行,需要注意的是,退款操作是使用退款申请API完成的。下面是完整的C#代码示例:

public string Refund(string out_trade_no, int total_fee, int refund_fee)
{
    var nonceStr = Guid.NewGuid().ToString().Replace("-", "");

    var dict = new SortedDictionary<string, object>();
    dict.Add("appid", "微信小程序AppId");
    dict.Add("mch_id", "微信支付商户号");
    dict.Add("nonce_str", nonceStr);
    dict.Add("out_trade_no", out_trade_no);
    dict.Add("out_refund_no", "退款订单号");
    dict.Add("total_fee", total_fee);
    dict.Add("refund_fee", refund_fee);
    dict.Add("op_user_id", "商户号");
    dict.Add("sign", WeChatPayHelper.CreateMd5Sign(dict, "商户支付密钥"));

    var xml = XDocHelper.CreateXml(dict);
    return HttpHelper.SslPost(xml, "https://api.mch.weixin.qq.com/secapi/pay/refund", System.IO.File.ReadAllBytes("证书位置(p12格式)"), "证书密码");
}

上述代码中,我们调用了微信支付退款申请API,其中参数out_trade_no为订单号,参数refund_fee为要退款的金额,参数op_user_id为商户号。

3. 总结

以上就是.NET Core 微信小程序退款步骤——(统一退款)的完整攻略,其中包含了统一下单和退款两个关键步骤。其中,统一下单操作请参照微信支付官方文档,在我们的代码中,主要是调用相关API,并将参数通过xml格式发送给微信支付系统。在退款操作中,主要需要注意参数的选取和传递,尤其是退款金额的计算。最后,需要注意的是,退款申请需要在订单支付成功之后的1分钟到7天之间进行,退款操作一经提交就无法撤回,请慎重操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET Core 微信小程序退款步骤——(统一退款) - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • php判断字符串在另一个字符串位置的方法

    这里是PHP中判断字符串在另一个字符串位置的方法的完整攻略: 1. 使用strpos函数 PHP中提供了一个内置的函数strpos()可以用于判断一个字符串是否包含另一个字符串且返回其位置。 如下是示例: $str = "This is an example string"; $substr = "example"; …

    PHP 2023年5月26日
    00
  • php中的buffer缓冲区用法分析

    PHP中的Buffer缓冲区用法分析 Buffer缓冲区是指在服务器端处理脚本时,不直接把内容输出到浏览器,而是先缓存到某个区域,直到脚本运行或缓冲区大小超过限制后再输出。 在PHP中,可以使用三种方式开启缓冲区:使用 ob_start() 函数手动开启缓冲区;在php.ini配置文件中设置output_buffering=On 隐式开启缓冲区;使用 ini…

    PHP 2023年5月26日
    00
  • php中数字、字符与对象判断函数用法实例

    “php中数字、字符与对象判断函数用法实例”这个主题,我会从以下几个方面进行讲解: PHP中数字类型判断 在PHP中,要判断一个变量是否是数字类型,可以使用is_numeric()函数。示例如下: $num = 123; if (is_numeric($num)) { echo "这是一个数字"; } else { echo "…

    PHP 2023年5月26日
    00
  • PHP自动重命名文件实现方法

    下面详细讲解“PHP自动重命名文件实现方法”的完整攻略。 简介 在上传多个文件时,为了避免文件名重复覆盖原有文件,我们需要给文件自动进行重命名,以确保文件名的唯一性。本文将介绍如何使用PHP实现自动重命名文件。 实现方法 在PHP中,我们可以通过以下步骤实现自动重命名文件: 获取上传文件的扩展名(后缀),并生成一个唯一的随机文件名; 判断生成的随机文件名是否…

    PHP 2023年5月24日
    00
  • 日常收集整理php正则表达式(超常用)

    “日常收集整理php正则表达式(超常用)”是一篇收集整理了 PHP 正则表达式的文章,可以方便 PHP 开发者快速查找合适的正则表达式。文章中包含了常用的正则表达式模式及其对应的匹配规则。 文章以 MarkDown 格式编写,包含以下几个部分: 引言 在此部分中,作者简单介绍了本文的目的与意义,以及本文所包含的内容。 目录 本部分为文章的目录。作者将介绍的正…

    PHP 2023年5月26日
    00
  • MathType如何输入大写伊塔?

    要在MathType中输入大写伊塔,可以按照下面的步骤进行: 首先,在MathType中创建一个公式输入框。 在输入框中,选中一个字符,比如一个大写希腊字母“Δ”。 选择MathType菜单中的“字体”选项,然后选择“希腊字母”子菜单。 在“希腊字母”子菜单中,可以看到各种大写和小写希腊字母的选项,包括大写伊塔(即Η)。找到大写伊塔并单击它。 MathTyp…

    PHP 2023年5月26日
    00
  • php使用websocket示例详解

    关于“php使用websocket示例详解”的攻略,可以分为以下几步: 1. 首先了解WebSocket WebSocket就是一个可以在单个TCP连接上全双工通信的协议。它实现了浏览器和服务器之间的实时双向通信,可以更新网页内容和处理用户交互,可以广泛地应用于网络游戏、聊天室、通知系统等场景。 2. 选择PHP WebSocket框架 在PHP中使用Web…

    PHP 2023年5月23日
    00
  • 微信小程序选择图片控件

    下面是关于微信小程序选择图片控件的完整攻略: 1. 前置知识 在开始介绍“微信小程序选择图片控件”的完整攻略之前,需要了解以下几点前置知识: 微信小程序基础语法和组件的使用; 微信小程序的开发环境和调试工具; 微信小程序的 API 接口和 SDK。 如果你对以上知识点还不太熟悉,可以参考微信小程序的官方文档进行学习。 2. 微信小程序选择图片控件介绍 微信小…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部