[微信支付]C# .net 微信扫码Native支付模式二以及成功回调

0x0001 前言

经过一周的摧残,终于完成了微信支付,做完总结一下,觉得其实并不难,主要是网上没有一个明确的教程.
本文是基于C#语言上进行开发,其实本人是做java的,但由于最近接手维护的项目是C#的,所以也强制让自己简单的熟悉一遍C#(偷偷的说,我C# .net .asp都还没清楚,不过最重要的是思路,语言只是一种工具~~~)

0x0002 项目背景(可略过)

  1. 项目类型:在线考试系统;
  2. 项目要求:让之前全部免费的试卷部分收费,故选用微信支付 (PS:早知道微信支付官方文档这么坑,就选型支付宝了)
  3. 项目业务:系统暂时要求点击支付时网站弹出生成的微信支付二维码,由用户进行扫描购买,购买完成后用户可使用已购买的商品(试卷);
  4. 微信支付产品选型:微信有多种支付模式,如下:
    在这里插入图片描述
    根据实际情况需求,推荐使用Native支付,此种方式简单也能完成我们的需求.(一开始选的JSAPI,但是后来实在做不动了,就换了Native支付,不过现在看来,都差不多,只是JSAPI需要多获取几个微信指定的属性)

Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景。

0x0003 开发思路

  • 简单来说:微信扫码支付就是我们把需要的信息生成二维码,然后用户扫描二维码就出现了我们想要展示的信息.
  • 稍复杂来说:微信扫码支付就是我们把部分重要信息(商品价格\商品id等)发送给微信服务端,微信返回生成包含我们提交数据且加密的微信支付协议的URL,我们接收此URL并将其生成一个二维码图片,用户通过微信扫一扫,发起支付。
  • 总体来说:
    1.注册微信商户号,接入微信支付,配置微信支付平台的 支付授权目录扫码回调链接;
    2.用户点击支付时,前端向服务端传递相关数据id;
    3.服务端接收id后查询核对,按照微信扫码支付规则调用微信支付接口;
    4.微信支付接口根据一系列数据比如(商品价格\商品id)加密生成签名后返回一个带微信支付协议的URL;
    5.使用相关生成二维码的工具(QRCode.js)将URL生成二维码图片;
    6.用户扫码跳到支付界面,点击支付后,微信服务端调用我们的扫码回调链接;
    7.需要提前写好扫码回调链接的类或方法,根据微信传来的诗句在此核对数据,通过则更改自己系统的某状态,并返给微信服务端成功.

0x0004 开发过程

0.准备工作
  • 申请 微信商户号 微信公众号 (这里具体步骤不描述,因为这属于公司申请):
  • 开通 Native支付(点击开通,很简单,但需要管理员账号)
  • 安装 微信认证证书
1.下载官方工具类(Native 模式二)

官方文档地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5
先下载官方提供的工具类Demo
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1
在这里插入图片描述

2.解压并进入WxPayAPI文件夹,将 business example lib 三个文件夹复制到咱们项目的工程中(本项目使用VS ,如果不会添加 ,VS将复制过来的文件或文件夹显示到解决方案管理)

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值