添加支付宝付款,这里主要就是面对面付款,扫码支付,出来二维码,用户扫了之后就出现价格,内容,支付后获取结果,效果先放出来:
说明:开始是要输入订单号的,由于订单号必须没有重复的,为了方便,我就连接了数据库,自动生成订单号。二维码出现之后,就每隔5s中询问是否成功。

1、官方文档:https://docs.open.alipay.com/194/106039/

2、沙箱环境介绍

为了可以使用支付宝,首先需要创建应用获取appid,这些步骤参考官方文档都有,但是,刚开始没有的时候,也可以使用支付宝提供的沙箱环境,https://openhome.alipay.com/platform/appDaily.htm,
这边它提供了相关的APPID和支付宝网关,但是RSA2密钥需要设置,后面在应用里会用到这个。


还有个沙箱钱包,可以下载一下,后面完成应用之后可以付款,试试行不行的,目前只有安卓。说明官网都有。

3、下载SDK

官网提供了Demo和SDK的下载
https://docs.open.alipay.com/194/105201/
但我觉得就.NET部分,这个demo我还是并不太明白的样子。

4、正式进行开发工作啦

  • 新建wpf项目之后,右击解决方案-》添加->现有项目
    把下载的SDK里的项目加入进去。
  • 右击我们的窗体。添加引用。
  • 支付的整个过程如图所示

    上面是宏观的过程
    具体看下面这个,其实官网已经写得很明白的,总的来说还是蛮简单的。

    所以呢接下,我们先

    • 新建一个变量private IAopClient client;,初始化配置好

```csharppublic AliPay(){client = new DefaultAopClient("https://openapi.alipaydev.com/gateway.do", "你的appid", "你的私钥" ,"json","1.0", "RSA2","支付宝公钥");}

第一个参数是网址,注意了正式的和沙箱环境的网址是不一样的。
第二个参数是appID,第三个是

  • 预下单:调用预下单接口alipay.trade.precreate
         AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();request.BizContent = "{" +"\"out_trade_no\":\"" + trade_no + "\"," +//商户订单号"\"total_amount\":" + trade_money + "," +"\"subject\":\"" +trade_subject + "\"," +" \"timeout_express\":\"90m\"}";AlipayTradePrecreateResponse response = client.Execute(request);

新建订单时要注意哦:商户订单号是唯一的。
response里面就保存了这次预订单生成的结果,
response.IsError如果是true,则有错,可以通过查看response.Msg来获取出错信息。
如果成功的话,response里会保存二维码网址。

  • 生成二维码
    通过response里面的网址,生成二维码,关于如何生成二维码,可以看看这篇文章:生成二维码
  • 将二维码生成成功并且放到窗口之后,用户就可以扫码了,如何检测用户是否扫成功呢?有两种方式,这边我用的是轮询,每隔5s查查结果,看看成功了没呀,到一定时间还没成功,那就支付失败啦。
    我新建了一个用来查询的线程。
private void Query(){Thread thread = new Thread(LoopQuery);thread.IsBackground = true;thread.Start();}private void LoopQuery(object msg){int i = 0;AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();request.BizContent = "{" +"\"out_trade_no\":\"" + trade_no + "\"" +"}";for (i = 0; i < 3; i++){Thread.Sleep(5000);              //每隔5s查询一次AlipayTradeQueryResponse response = client.Execute(request);MessageBox.Show(response.Body);if (response.TradeStatus == "TRADE_SUCCESS")break;}if (i>=3)MessageBox.Show("还未成功付款哦");else{MessageBox.Show("成功付款");state = 1;}database.InsertNewTradeRecord(trade_no, trade_subject, trade_money, state);}

好了,基本就这样啦。

c# winform 支付宝付款相关推荐

  1. Google Ads支付宝付款功能正式上线

    4月18日消息,据悉,Google Ads正式上线支付宝付款功能,无论是个人账户还是公司账户,现在都能用支付宝付款. Google Ads具有搜索和展示功能,可覆盖全世界约90%的互联网用户,每年都有 ...

  2. [转载] 支持支付宝付款的四大国外主机

    国内的互联网风暴尤甚,使得很多站长转战国外,购买国外主机了,购买国外主机的原因,我也不多说了,相信,只要是中国的站长,只要是经历过这场风暴的站长,都会知道的. 而国外的IDC们也看中了国内巨大的潜力, ...

  3. ecshop支付宝付款成功后台显示未付款

    ecshop支付宝前台付款后台显示未付款处理成已付款 网站根目录下respond.php,在文件中搜索: if (file_exists($plugin_file)) 改成 if (file_exis ...

  4. SpringBoot整合支付宝付款(沙箱环境)

    由于最近的一个SpringBoot项目中需要整合支付宝付款,所以将过程整理在此,方便查阅.测试前提需要一个支付宝提供的沙箱环境,如果你还没有这种测试账号,可以看姊妹篇获得支付宝沙箱账号 一.引入依赖 ...

  5. TP5.1实现支付宝线下收银(扫码枪扫描用户支付宝付款码支付)

    1.在支付宝开放平台创建账号,选取支付方式---当面付,若需要其他的也可以一并加入,申请审核通过后,该支付需要签约,点击签约,按流程签约即可. 2.在申请过程中,接口加签方式需要在支付宝生成钥匙工具里 ...

  6. Python网上商城源代码,基于Django+MySQL+Redis,支持支付宝付款

    Python网上商城源代码,基于Django+MySQL+Redis,支持支付宝付款,实现:用户登录注册,商品展示,商品详情界面,搜索商品,将不同尺寸颜色数量的商品加入购物车,购物车管理,地址管理,形 ...

  7. GoDaddy用支付宝付款时出现我们无法处理这笔交易,请查看您的付款信息并重试。...

    一.GoDaddy操作流程 在GoDaddy上购买及注册域名的操作步骤,请参考https://www.jianshu.com/p/05289a4bc8b2进行操作. 二.我遇到的问题 今天用GoDad ...

  8. Django学习记录10——Django使用支付宝付款(电脑支付,手机网页支付,面对面扫码)

    目录 一.注册支付宝开放平台账号 1.注册 2.创建公私秘钥 2.项目中添加公私密钥 二.生成二维码 1.安装模块等 2.模块的结构 3.电脑支付 4.手机支付 5.面对面扫码(真二维码支付) 三.小 ...

  9. 上海地铁明年初将可扫码和刷脸进站 支持支付宝付款

    ​12月5日消息,上海申通地铁集团与阿里巴巴.蚂蚁金服于今日达成三方战略合作,阿里巴巴.蚂蚁金服最新研发的语音购票.刷脸进站.智能客流分析等多项技术首度惊艳亮相,上海地铁建设的"METRO大 ...

  10. 支付宝付款码支付以及退款流程代码

    支付宝付款码支付接入流程. 官方文档地址: 小程序文档 - 支付宝文档中心 接入前提: 去控制台申请appId.应用私钥.支付宝公钥(注意不是应该公钥).环境区分(有沙箱和正式环境区分) 代码贴图: ...

最新文章

  1. 哀悼!华人著名计算机科学家刘炯朗逝世,图灵奖得主姚期智为其得意门生
  2. [JS]视频总结-第三部分_深入javascript
  3. Java数据结构和算法(十)——二叉树
  4. html5子页面无法弹出,弹出子页面,兼容ie
  5. 模拟登录QQ判断是否需要验证码
  6. usb一转多 树莓派zero_树莓派 Zero USB/以太网方式连接配置教程
  7. 以太坊web3.js文档翻译及说明
  8. 报表服务框架:WEB前端UI
  9. 团队作业三——项目思考
  10. php 浏览器 保存网页图片,PHP实现浏览器文件下载图片或者php文件
  11. 阿里网盘官网网页,怎么隐藏的这么深
  12. 【linux】按键盘Backspace键终端出现^H
  13. FPGA之乒乓Buffer
  14. win10专业版进不了安全模式 win10专业版安全模式怎么进
  15. 解开MongoDB神秘的面纱
  16. Oracle Database-基础及查询部分
  17. 编码解码--url编码解码
  18. html写出带有表格标题的三行三列表格
  19. python_path
  20. 自制表情包!android,diy表情包制作软件下载-diy表情包 安卓版v2.6.0-PC6安卓网

热门文章

  1. 匠心独运解读Mybatis源码,纯手工打造开源框架
  2. python 开任意数的平方
  3. 制造企业总体规划的四个战略目标
  4. python中扑克牌类设计_创建扑克牌类Python
  5. java faker_Faker--伪造数据利器
  6. JavaScript实现语音助手核心代码
  7. echarts 地图自定义图标_echarts 使用 百度地图 加入自定义图标标记
  8. Dell R730 xd “CPU 2 M23 VPP PG voltage is outside of range“故障
  9. 10年的工作经验?还是1个经验反复用了10年?
  10. Redis Client 之 Jedis与Lettuce