微信支付2016开发调试过程记录

最近换了家公司,因为以前也是做支付的来这个公司直接让我从零开始搭建支付服务。首先是微信支付宝的第三方接入。我是做java开发的。支付宝有接入的sdk就是一个jar包。而且有沙箱环境测试帐号。搞起来很方便。微信的坑就很多了。下面简单总结一下。后面把代码和详细流程贴出来。再把支付宝的也单独写个。

首先微信支付,因为是要用到手机网站和pc网站上的。所以选的是微信公众号支付。

大家一定要先理解微信公众好支付的一个总的流程:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4

具体的下一篇写。这篇用来总结遇到的坑。

部分是别人总结的我也遇到的就一起写上了:

        第一坑:redirect_url参数错误。因为我选择的的“JS API”支付,这种支付需要网页授权,先获取code,再拿code去获取openid和prepay_id。这个网页授权需要登录微信公众平台,点击左侧菜单“开发者中心”,在右侧“权限列表”中找到“网页账号”,点击最右侧的修改,把测试的网址写进去,注意不要加http。填好后,这个坑就趟过去了。

        第二坑:invalide code。趟过第一坑后,会返回code,再拿此code去获取openid,但是每次到这步时微信那边都返回这个{"errcode":40029,"errmsg":"invalid code"},此坑卡了我整整半个下午。在周天的时候,我又仔细看了开发文档,没得要领,最后又仔细检查了下程序中每次回调的参数。这一检查,就发现要领了,先把回调地址写的最简单,啥参数都不带,成功;接着,一个一个参数带上去,直到带上token这个参数时,返回了invalid code。哈,我猜应该是此参数和微信那边有冲突吧,于是把此参数改成了其他的,此坑立马就过了,接下来支付就一下子调试成功。

 

        第三坑:系统繁忙,正在升级,请稍后再试。周末调试成功后,便把测试代码整合到项目中,开始支付。但是到了支付界面时,便出现了此问题,怎么找到都发现不了问题,点击周末的测试链接又是好的。下午时又仔细看了下上下游的的传递的参数,发现了问题所在。每次上游传递过来的支付金额total_fee都是“1.00”这种类型,因为微信支付的基本单位是分,于是把手动把1.00该为1,成功了。看来是微信支付那边total_fee不能接收小数点,于是我和上游的同事协调了下,传递过来的金额没有小数点,此坑也就过了。

        

        四。经过几次测试,发现微信支付一旦超过十万便会出现上述提示,若是打上断点调试语句的话,会发现微信返回{"errcode":"FAIL","errmsg":"invalid total_fee"}。知道微信支付额度上限,那么只需在后台设置最大不超过十万即可。

五:微信支付 页面URL未注册

这个要去微信公众号---》微信支付——-》开发配置里面做配置

这个微信也没个说明,操蛋。下面是一些规律原则。可以参考

支付授权目录

这里很重要我就是在这里折腾了很久。怎么设置呢,首先要看你支付的当前页面URL

比如是:http://www.taidupa.com/wxpay/js_api_call.php

你就必须填写: http://www.taidupa.com/wxpay/

假如是:http://www.taidupa.com/wxpay/order/id/56.html

你就必须写:http://www.taidupa.com/wxpay/order/id/

看出规律了吧,就是把最后一个反斜杠后面的内容去掉就OK了。

这步跳过基本就能完成支付了。后面再总结细的吧。这些是一些根据错误没法知道哪儿错的坑。

时间: 2024-10-12 20:52:56

微信支付2016开发调试过程记录的相关文章

php微信支付接口开发程序(流程已通)

必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem 注意事项: 公众号后台微信支付->开发配置->新增测试目录和测试个人微信号. 开发者中心->网页授权获取用户基本信息->修改成你的测试域名.否则会出现redirect_uri 参数错误 --------

php微信支付接口开发程序_php技巧

php微信支付接口开发程序讲解: 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem注意事项:公众号后台微信支付->开发配置->新增测试目录和测试个人微信号. 开发者中心->网页授权获取用户基本信息->修改成你的测试域名.否则会出现redirect_ur

微信支付的开发流程详解_php技巧

最近在公司做了微信支付的接入,这里总结下开发的一些经验 注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关. 微信支付的主要操作流程 1.用户浏览app,选定商品然后下单. 2.服务器处理订单逻辑,开始正式发起支付流程 3.首先,后台服务器向weixin服务器发起请求,获取一个token. 4.后台服务器拿到token,使用和其他参数加密,再次向weixin服务器发起请求,获取一个预支付prepayid 5.后台服务器将该prepayid返回给app客户端 6.app调用手机

微信公众平台开发调试方法

原文:微信公众平台开发调试方法 在这篇微信公众平台开发教程中,我们将介绍如何进行微信公众平台上的开发调试方法.   一. 使用微信公众平台接口调试工具 进入地址 https://mp.weixin.qq.com/debug/, 在接口类型中选择要调试的类型,这里调试基本消息所以选择 消息接口调试 接口列表中选择自己要调试的类型,这里以 文本消息 为例 这里主要是填写URL和Content, URL 就是我们自己开发好的接口地址,Content就是要发给这个接口地址的文本消息内容, 这里填写如下:

微信支付接口开发新手常见问题解决

今天,我下载了官方文档,直接用官方demo(php版本)做了个简单支付页面.遇到了下面问题. 1.配置文件修改 找到配置文件WxPay.Config.php,只需要配置下面四项 开发新手常见问题解决-面包烘焙新手常见问题"> 2.redirect_uri参数错误 登陆公众管理后台-点击开发者中心-找到网页帐号点击修改,写自己域名,保存生效. 3.页面URL未注册 登陆公众微信后台-微信支付-开发配置,支付授权目录路径一直到最后一个斜杠 我设置的测试授权目录是:http://www.xxx.

ThinkPHP微信支付接口开发完整例子

最近有个微商城做了微信支付的接口,现在整理一下发上来.   首先是需要有已开通微信支付接口的公众号,这个相信大家都知道,开通之后微信会发一封邮件到你的邮箱,邮件的内容就是开发需要用到的一些接口信息了(包含账号密码之类的东西).   开发步骤   一.进入公众号平台,先设置几个参数,包括绑定域名.设置回调地址等等.   1.在设置 -> 公众号设置 -> 功能设置 -> 设置JS接口安全域名     2.在微信支付 -> 开发配置 -> 配置你的js支付接口,回调地址等等,正式

微信公众平台开发调试教程

  友情提示:文中提供到的工具请使用Chrome浏览器或下载Firefox浏览器,因为多数高端开发都不再支持IE(或IE8以下浏览器) 一.微信公众平台接口调试工具 进入地址 https://mp.weixin.qq.com/debug/, 在接口类型中选择要调试的类型,这里调试基本消息所以选择 消息接口调试 接口列表中选择自己要调试的类型,这里以 文本消息 为例 这里主要是填写URL和Content, URL 就是我们自己开发好的接口地址,Content就是要发给这个接口地址的文本消息内容,

java实现微信支付功能开发实例

管理关于微信支付文档 https://pay.weixin.qq.com/wiki/doc/api/index.html 微信支付普通商户接入支持四种支付方式 刷卡支付 用户打开微信钱包的刷卡的界面,商户扫码后提交完成支付 公众号支付 用户在微信内进入商家H5页面,页面内调用JSSDK完成支付 扫码支付 用户打开"微信扫一扫",扫描商户的二维码后完成支付 APP支付 商户APP中集成微信SDK,用户点击后跳转到微信内完成支付 这里我们来看公众号支付 公众号支付开发步骤 1.设置测试目录

浅谈使用PHP开发微信支付的流程_php技巧

下面以PHP语言为例对微信支付的开发流程进行一下说明. 1.获取订单信息 2.根据订单信息和支付相关的账号生成sign并且生成支付参数 3.将支付参数信息POST到微信服务器获取返回信息 4.根据返回信息生成相应的支付代码微信内部或是支付二维码非微信内完成支付. 下面分步骤的讲一下 1.微信支付中相关的必须的订单参数有三个分别是body(商品名或订单描述),out_trade_no一般为订单号和total_fee订单金额单位"分"要注意单位问题在不同的应用中首先要做的就是获取订单中的相