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 最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开 ...
随机推荐
- UVA725
虽然是暴力求解,但是也要观察条件,尽量提高效率.如本题,原本要枚举10个数,但是分析可知通过枚举fghij就可以了. #include<stdio.h> #include<strin ...
- Something Strange (to be completed)
~/.local/share/applications/swt.desktop [Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application ...
- python网络编程
Socket是网络编程的一个抽象的概念. 通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 套 ...
- react native 环境配置
1. 安装Homebrew Homebrew主要用于安装后面需要安装的watchman.flow 打开MAC的终端,输入如下命令: ruby -e "$(curl -fsSL https:/ ...
- Linux下Redis的安装和部署
一.Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多 ...
- ASP.NET 判断客户端是否为手机的函数
http://www.cnblogs.com/cxd4321/p/3795911.html
- 如何获得Webapp的根项目路径 即ServletContext.getRealPath() 的输入参数要以"/"开头
ServletContext.getRealPath() 的输入参数要以"/"开头 2014-03-26 15:54 5738人阅读 评论(1) 收藏 举报 版权声明:本文为博主原 ...
- vmware workstation安装 Mosrosoft Runtime DLL安装程序未能完成安装
不要点确定.开始菜单运行输入'%temp%',在弹出的窗体中找到一个文件名中含'{132E3257-14F1-411A-BC6C-0CA32D3A9BC6}~setup'(不一定一样,反正就是第一行的 ...
- 一款强大的Android网络渗透软件dsploit
dSploit是一款基于Android系统的功能十分全面强大的网络渗透工具,可以提供给网络安全工作人员检查网络的安全性.小黑这次主要使用了其中的"简易嗅探""会话劫持&q ...
- [Objective-c开源库]HHRouter
---恢复内容开始--- 目的 统一客户端内部和外部跳转处理,支持传参数 代码 添加vc,block映射 针对路径做映射,如/user/:userId -> UserViewController ...