订餐系统之微信支付

      最近一个项目要增加微信支付的功能,想来这个东西出来这么久了,按微信提供的应该可以很快搞定的,结果提供的demo( JS API网页支付)中各种坑,咨询他们的客服,态度倒是非常好,就是解决不了问题,最后让我发邮件,一想,这个邮件一来一回至少又得好几个小时,没有办法只能根据开发文档一个一个核对,再加上些猜想,终于完成了。为了别的朋友少踩些坑,特此小文,希望对一此朋友有所帮助。

准备工作

当然,要集成微信支付,首先还是要先有一个微网站,熟悉的请飘过,不了解的,可以参考下我之前的一篇小文 订餐系统之微信点餐 更多信息可以登录微信公众平台

     目前的情况应该是,只有认证的服务号可以申请微信支付功能。相关认证、申请的操作,登录微信公众平台一看就知道了,在此就不细说了。要特别注意的就是要填写相关请求目录,请求url时,要特别注意,目前微信公众平台是不能自己修改的,只能发邮件给:[email protected],让他们修改,邮件格式可以向客服咨询。

    当然,还有一个最重要的准备工作,就是先获取他们的文档和demo.  http://wxpay.weixin.qq.com/doc/index.html要注意的就是,他们的demo中有很多坑哦。不过,他们的文档我没有看到问题,细读这些文档还是少不了的。

  

测试相关配置

如果你的帐号现在处于支付测试状态下,需要进行相关配置。请根据下图操作。

  

                            图(1)

                图(2)

demo( JS API网页支付)中可能有问题的地方

下面我就把我在微信提供的demo基础上,说明下要修改的地方。之前一直提示什么订单数据验证失败,当看下图时就知道OK了。

    

   jsapi.aspx.cs  第50行,增加参数: packageReqHandler.setParameter("bank_type", "WX");    //固定为"WX";

/tenpayLib/TenpayUtil.cs  中的key 其实是 PartnerKey,一开始我还以为是appkey。

/tenpayLib/RequestHandler.cs 中的 key一定要赋值为  TenpayUtil.key,默认是空的。

/tenpayLib/ResponseHandler.cs 中的 key 和appkey 一定要赋值为 TenpayUtil.key和TenpayUtil.appkey;

如果你的项目是utf-8的,还要修改以下内容:

   TenpayUtil.cs.getNoncestr 变成

   public static string getNoncestr()
        {
            Random random = new Random();
            return MD5Util.GetMD5(random.Next(1000).ToString(), charset);
        }

/tenpayLib/ResponseHandler.cs 中的charset

所有用到charset的地方修改成utf-8。

结语

原本是一个简单的事儿,可由于官方demo的一些问题,用去了我和他们客服的时间,所以希望对在集成或者准备集成的微信支付的朋友有点帮助,做为程序员,我们的时间应该是用在更有意义的地方。为了方便大家,我把自己最后的支付相关代码也做了整理,虽然不能直接用,其实也是稍微修改下里面的逻辑就可以直接用,另外,鄙人能力有限,写得不好,有不对的地方,也请大家海涵哈!

wxpaydemo.rar

成为一名优秀的程序员!

订餐系统之微信支付

时间: 2024-08-11 09:57:27

订餐系统之微信支付的相关文章

订餐系统之微信点餐

经过几天的开发.测试微信点餐demo终于完成了,特在此分享下,不好的地方请大家多指正下哈!一开始,就想这东西出来这么久了,网上应该有很多现成的东西,于是,baidu.google了半天,基本没发现现成的东西,也许是我搜索不得其道,也有可能大家都不愿意分享吧...于是,还得自己动手,丰衣足食! 还是先交代下背景:所谓"微信点餐",其实就是用户通过微信app,关注公众号,发送指定类型的信息,如地理位置信息,网站返回相关链接到微信上,通过这些链接进入wap或者html5网站,然后开始选择商家

微信支付二维码native原生支付开发模式一

开发前,商户必须在公众平台后台设置支付回调URL.URL实现的功能:接收用户扫码后微信支付系统回调的productid和openid:URL设置详见回调地址设置. 1.业务流程时序图 图6.8:原生支付接口模式一时序图 业务流程说明: 1)商户后台系统根据微信支付规定格式生成二维码(规则见下文第2节),展示给用户扫码. 2)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统. 3)微信支付系统收到客户端请求,发起对商户后台系统支付回调URL的调用.调用请求将带product

Android微信支付SDK开发

一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1 2.创建应用 创建移动应用获取 AppID  AppSecret 要获取支付功能还需要开发者资质认证,300RMB/年的费用,貌似是开放平台中唯一要收费的- 3.AndroidMainfest文件修改 权限 <uses-permission

Android微信支付SDK开发笔记

一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1 2.创建应用 创建移动应用获取 AppID  AppSecret 要获取支付功能还需要开发者资质认证,300RMB/年的费用,貌似是开放平台中唯一要收费的… 3.AndroidMainfest文件修改 权限声明: <uses-permiss

Wex5开发基础之微信支付

一.企业开通微信支付条件            微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程.微信支付以绑定银行卡的快捷支付为基础,向用户提供安全.快捷.高效的支付服务. 典型情况下,企业微信支付开通条件需要满足: 1)拥有公众帐号,且为服务号; 2)公众帐号须通过微信认证;(未认证用户,可先申请微信认证); 1)进入申请页面,公众平台=>微信支付; 填写"商户基本资料"."业务审核资料"."财务审核资料"等资料

iOS通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完

现在基本所有的App都会接入支付宝支付以及微信支付,也有很多第三方提供给你 SDK帮你接入,但是这种涉及到支付的东西还是自己服务器搞来的好一些,其实搞懂了 逻辑非常的简单,下面直接给大家说说下基本流程和接入需要注意的东西. 前期准备(这个东西一般来讲我们不需要来操心,但是还是稍微介绍下) 1.到微信开放平台注册账号点击打开链接 2.进入管理中心------移动应用------创建移动应用----根据页面完善应用资料 3.审核过后,通过应用详情页面,查看应用详情,查看AppID和AppSecret

微信支付四大支付模式分别有哪些区别?

微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程.微信支付已为百货.餐厅.便利店.酒店.快递.景区.医院.售货机等提供了支付与营销的全方位支持. 目前微信支付已实现刷卡支付.扫码支付.公众号支付.APP支付,并提供企业红包.代金券.立减优惠等营销新工具,满足用户及商户的不同支付场景. 那么这四大支付模式分别有哪些区别呢? 1.刷卡支付 刷卡支付是用户展示微信钱包内的"刷卡条码/二维码"给商户系统扫描后直接完成支付的模式. 主要应用线下面对面收银的场景. 2.扫码

微信支付服务端开发

前言 最近应公司业务需求,把微信支付完成了,当然已经顺利上线.但是开发的过程是也是踩了很多坑,下面我就先说说开发流程,以及在开发中遇到的大大小小的坑. 开发流程 首先,看一下微信开方平台关于支付的一个时序图,如下: 微信支付时序图https://pay.weixin.qq.com/wiki/doc/api/app/app.php 商户系统和微信支付系统主要交互说明: 步骤1:用户在商户APP中选择商品,提交订单,选择微信支付. 步骤2:商户后台收到用户支付单,调用微信支付统一下单接口.参见[统一

干货分享:微信支付+自助点餐+裂变分享+互动营销=智能餐桌?来看智能餐桌如何完成自助化用餐服务!

"以大屏点餐为起点,撬动互动娱乐营销分享" 走进智能餐厅,触摸智能餐桌触控区,选择[点餐]-[查看订单]-[支付],顾客扫码即可轻松付款,轻松免去"现金之优".不仅解决现金找零的各种烦扰,更提升了餐厅就餐高峰期的点餐效率. "智能餐厅解决方案" 餐厅是连接一起的中心 餐厅是本地O2O服务核心地带 漫维传媒-中国领先智能软硬件整体解决方案服务提供商 智能云餐厅系统分别具有:触屏点餐.呼叫服务.快捷支付.餐桌管理系统.帮买单.潮流游戏.云端打印,漫维