wap支付宝接口的问题
今天在支付宝接口开发时,遇到的两个坑
第一个:
https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8nHr4i&treeId=62&articleId=103740&docType=1
支付宝的PC版即时到账接口中,发起的请求可带此参数extra_common_param
|
公用回传参数 |
String(100) |
如果用户请求时传递了该参数,则返回给商户时会回传该参数。 |
于是,不管在同步或者异步通知中,均可接收到此参数进行业务逻辑的处理
但是今天在wap版的开发中,遇到request。。。一大堆的参数时,总是报错。然而奇怪的是,返回的参数验签却是通过的。
百思不得其解。最后发现request["extra_common_param"]始终为空。。。。
最后找到https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.8JI7Bt&treeId=60&articleId=103698&docType=1
wap的支付接口中,果然没有此参数。
(因为wap版的官方demo中发起请求没有MD5的签名方式,于是就照搬了web版的请求方式,当然。这其中就含有了extra_common_param参数的设置,所以一开始对验签通过。却报reques为空的错误深深的搞得抓狂)
问了客服,我说微信支付有此相同参数,web版也有此参数,为什么wap就没了呢? 【内心是抓狂的】
最后客服直接说,不能已经给过建议了么?【内心是崩溃的】
他给到的建议是一,写在body中,但这样买家付款的时候也会看到。
二。写在notify_url的?后面。但同样的,在验签的时候,这个url需要保证和提交时所设置的那个一样。
所以最后只能靠自己了。提交订单时就将相关信息写入数据库,在付款成功后,根据此订单号去更改其状态
第二个:
手机支付。微信中提起发送请求时,总是正确的。
在测试完手机浏览器中的支付宝支付时,我登录账号的也是对的
在别人进行支付时,就是错的。收银台显示的金额总是0.00(这个金额是发起请求时支付宝再显示出来)
于是就奇怪了。。。微信支付和支付宝支付所提交请求的参数都是来源于同一个代码,支付金额,body等什么的。
而且提交后,打印出来的参数也是没问题的。
又是无限抓狂中。最后,我把自己的支付金额0.01的设置取消掉后[if id=6223 then total_pay='0.01' else total_pay=model.total_pay] 改为 [total_pay=model.total_pay]
同其他人支付时出现的问题一样,这次我自己也重现了此问题。
最后的最后,终于想到了,数据是从数据库读出来的,这个字段是decimal,小数点后有4位。。。
而发起的支付宝请求只要小数点后两位。虽然它是string类型。。。。
| total_fee | 交易金额 | String | 该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。 |
我把金额处理后。问题终于解决。
微信没有问题是因为它的单位是分。也就是一分钱也是整型的,提交给微信的数据是1
本来6点半准时下班。然而此时已经是8点半了。
支付宝,知托付!!!谢谢你哦
wap支付宝接口的问题的更多相关文章
- 支付宝WAP支付接口开发(Node/Coffee语言)
此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...
- 支付宝WAP支付接口开发
支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...
- 【转】支付宝WAP支付接口开发
支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...
- ThinkPHP实现支付宝接口功能
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包下载地址:https://doc.open.alipay. ...
- (实用篇)php支付宝接口用法分析
本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, ...
- 【转载】关于Alipay支付宝接口(Java版)
转载自:http://blog.163.com/lai_chao/blog/static/70340789201412724619514/ 1.alipay 双功能支付简介 2.alipay 提交支付 ...
- PHP支付宝接口RSA验证
这两天一直困扰的PHP RSA签名验证问题终于解决了,由于之前RSA接触的不多,再加上官方至今还未有PHP的SDK可供参考,因此走了一些弯路,写在这里和大家分享. 虽然支付宝官方还未提供相关SD ...
- android应用程序如何调用支付宝接口
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
- [转]支付宝接口程序、文档及解读(ASP.NET)
本文转自:http://www.cnblogs.com/blodfox777/archive/2009/11/03/1595223.html 最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开 ...
随机推荐
- AngularJs ng-repeat限制循环次数
重复数组:<ul ng-init='name=[1,2,3,3]'> <li ng-repeat="name in name track by $index"&g ...
- pdf在线处理网站
https://smallpdf.com/unlock-pdf
- 初识exception
一.exception的分类 根据此exception(异常)是否可以打断正在执行的指令,可以将exception分为 asynchronous exception 和 synchronous exc ...
- nginx_https
nginx使用ssl模块配置HTTPS支持 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引 ...
- java反射(基础了解)
package cn.itcast_01; /** *Person类 */ public class Person { /** 姓名 */ private String name; ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
<script type="text/javascript"> setInterval(function(){ var myDate = new Date(); var ...
- Linux 双网卡绑定
Linux 双网卡绑定 Linux 双网卡绑定双网卡绑定的常用模式:mode1:active-backup 模式,即主备模式.mode0:round-broin 模式,即负载均衡模式(需要交换机配置聚 ...
- JS判断字符串长度(中文长度为2,英文长度为1)
目的:计算字符串长度(英文占1个字符,中文汉字占2个字符) 方法一: String.prototype.gblen = function() { var len = 0; for (var i=0; ...
- 手机设计尺寸 - iPhone界面尺寸
参考网址: http://www.qijishow.com/down/app-index.htm iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone6 plu ...