今天在支付宝接口开发时,遇到的两个坑

第一个:

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支付宝接口的问题的更多相关文章

  1. 支付宝WAP支付接口开发(Node/Coffee语言)

    此博客不更新很久了, 更新的文档在这, 有兴趣到这里围观: http://neutra.github.io/2013/%E6%94%AF%E4%BB%98%E5%AE%9DWAP%E6%94%AF%E ...

  2. 支付宝WAP支付接口开发

    支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...

  3. 【转】支付宝WAP支付接口开发

    支付宝WAP支付接口开发 因项目需要,要增加支付宝手机网站支付功能,找了支付宝的样例代码和接口说明,折腾两天搞定,谨以此文作为这两天摸索的总结.由于公司有自己的支付接口,并不直接使用这个接口,所以晚些 ...

  4. ThinkPHP实现支付宝接口功能

    最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下:一.下载支付宝接口包下载地址:https://doc.open.alipay. ...

  5. (实用篇)php支付宝接口用法分析

    本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, ...

  6. 【转载】关于Alipay支付宝接口(Java版)

    转载自:http://blog.163.com/lai_chao/blog/static/70340789201412724619514/ 1.alipay 双功能支付简介 2.alipay 提交支付 ...

  7. PHP支付宝接口RSA验证

    这两天一直困扰的PHP RSA签名验证问题终于解决了,由于之前RSA接触的不多,再加上官方至今还未有PHP的SDK可供参考,因此走了一些弯路,写在这里和大家分享.    虽然支付宝官方还未提供相关SD ...

  8. android应用程序如何调用支付宝接口

    最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...

  9. [转]支付宝接口程序、文档及解读(ASP.NET)

    本文转自:http://www.cnblogs.com/blodfox777/archive/2009/11/03/1595223.html 最近需要为网站加入支付宝的充值接口,而目前关于支付宝接口开 ...

随机推荐

  1. Day10-线程进程

    什么是进程? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本:进程是程序的一次 ...

  2. dom 节点篇 ---单体模式

    <script> var creatTag={ oUl:document.createElement('ul'), oDiv:document.createElement('div'), ...

  3. Eclipse中.calsspath文件解析

    来自帅气的Sublime Text

  4. js删除数组指定元素

    删除js数组中制定的元素,这里用到了jquery. var a = new Array("a","b","cc","d3" ...

  5. vtk多线程简单测试

    vtkMultithreader is a class that provides support for multithreaded execution using sproc() on an SG ...

  6. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  7. flexbox学习

    https://philipwalton.github.io/solved-by-flexbox/ http://www.ruanyifeng.com/blog/2015/07/flex-gramma ...

  8. I18n问题 国际化

    http://www.cnblogs.com/guaniu/archive/2012/01/18/2325556.html java国际化 1.了解缺省Locale是由操作系统决定的,Locale是由 ...

  9. git diff 生成patch, git apply patch 打补丁方法说明,以及分支管理的简单操作。

    git diff 简易操作说明 先git log 查看commit ID, 记录你想要打的补丁的ID 比如说: git log commit 4ff35d800fa62123a28b7bda2a04e ...

  10. Integer与int的区别

    简述:int与Integer的区别: 对于它们,我们可能只是知道简单的区别.Integer是int的一个封装类,int的初始值为0,而Integer的初始值为null.但是他们之间真的仅仅只有这些区别 ...