支付宝接口出现的常见问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
支付宝接口出现的常见问题:
1、ILL EGAL_PARTN ER,HA SH_NO_PRIV ILEGE,ILLE GAL_S IGN这三种常见的错误代码,代表什么意思,一般是什么情况下出现的?答:
ILLEG AL_PA RTNER为无效的合作伙伴id。
Part ner i d是在自己的支付宝账户内提取的一串数字,常见的为填写成了支付宝emai l或者是复制到程序的时候多了空格。
HASH_NO_P RIVIL EGE,没有权限,如果是虚拟或者实物交易,请账户内自己申请。
I LLEGA L_SIG N,签名错误。
说明程序计算出来的sign和支付宝计算结果不匹配。
出现这种错误的情况很多,比如签名的排序错误,安全校验码填写错
误,n et。
Ja va程序中没有制定编码。
1. MD5校验顺序问题
MD5是根据参数汇总表的参数,按照字母升序顺序排列。
您需要传递哪些参数,就要将那些参数加入到MD5的原始字符串中。
原始字符串最后记得串上自己的安全校验码。
例如:调用某接口需要以下参数:
s ervic e= cr eate_direc t_pay_by_u ser
p artne r=20880063008888888
key(支付宝安全校验码)=12345678900000
e mail=test@msn.c om
那么待签名数据就是:em ail=t est@m sn.co m&par tner=2088006300000000&ser vice= crea te_di rect_pay_b y_use r1234567890123
2.通知返回的种类
现支付宝的通知有两类。
通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。
例
如n otify_url=”http://ww w.xx/notif y_ali pay.a sp”
A服务器通知,对应的参数为not ify_u rl,支付宝通知使用POST方式
B页面跳转通知,对应的参数为retu rn_ur l,支付宝通知使用G ET方式
3.通知返回是返回到哪里?
不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。
例如no tify_url=h ttp://www.xxx.c om/nt ofiy_alipa y.asp我们将根据传递过来的地址,返回给你消息,请注意格式,地址要是全的ht tp://的绝对地址。
4.为什么我都设置对了没有收到消息通知呢?
A您设置的接受消息通知的URL没有写全,您可能写成w ww.ie eye.c om了,请写成
htt p://w ww.ie eye.c om或者h ttps://www.ieey e.com这样完全的URL
5.虚拟物品的流程问题
由于支付宝的ATN(acti ve tr ade n otify)是服务器通知,有完备的通知策略,可以说能接近达到0掉单。
但是可能会由于网络的原因通知不能实时到达!
6.订单号参数设置问题
客户的订单号参数为out_trad e_no。
每个客户的购物网站上,都有自己的订单流水号,可以把相关的订单号传递给支付宝,以作对账之用。
在支付宝程序中,
ou t_tra de_no,一定是变量,不可以是一个定值。
7.中文编码问题
我的参数排序肯定没有错,为何我无论怎么设置,总提示错误?I LLEGA L_SIG N 无论使用何种语言写的支付程序,请注意url请求(requ est)过来时候的编码,需要使用gb2312或者g bk。
8.我是淘宝会员也是开发者,请问在淘宝上使用支付宝和在外部使用有什么区别么?
在任何使用支付宝的网站上所进行的“支付宝交易”和在淘宝上使用没有区别,支付宝会给您做交易中介的。
交易时您最好看清楚交易的内容,价格,商品介绍等信息。
作为开发者一定要熟悉“支付宝交易”的流程。
9.为何我一直接收不到支付宝的交易通知?
会有支付宝到您服务器的网络不通的情况:可能由于DNS解析,网通或电信线路维修,DNS问题可以在URL里面直接设置I P来解决。
能接收到通知的先决条件:必须有不重复的交易订单号,支付时传递给了支付宝了通知返回URL(n otify_url或者retu rn_ur l)。
支付宝通知的请求是一串url,如果您是ap ache服务器,可以查看apa che
的a ccess.log看是否有访问记录。
ii s也有相应的访问lo g(具体位置不记得了。
知道的朋友麻烦站内信息发我一下)
附:dboyz hang:建立一个最简单的程序看看有没有返回信息,比如一个很简单的写入文件程序,把GET方式传来的信息写少许进文件,然后在商家工具进行故障申请查看返回结果。
注意是GET方式,ASP中是req uest("noti fy_id")而不是
reque st.fo rm("n otify_id")
10.购物车打包使用支付交易时如何设置请求
请分别传递您商品的实际总价格pri ce和邮费,以及邮费实际承担方,这样就不会出现让客户感觉很奇怪的一些问题了。
11.通知返回接口,在收到支付宝通知以后,是否再返回给支付宝消息?
支付宝的通知形式有两种:
A服务器通知,对应的参数为n otify_url,支付宝通知使用POS T方式
B页面跳转通知,对应的参数为re turn_url,支付宝通知使用GET方式
对于r eturn的页面通知,接受到支付宝的消息以后,不需要给支付宝系统任何的回应。
而对于not ify的服务器通知,在收到支付宝通知后,请按照自己需要的业务逻辑处理,并返回一个不包含任何HTML标签的页面,里面仅包含“Succ ess”或者“Fai l”的文本串,注意请不要包含任何其他的字符,如空格等通知环节的设置
12.Not ify响应给支付宝的消息是什么
在收到支付宝通知后,请按照自己需要的业务逻辑处理,并返回一个不包含任何HTML标签的页面,里面仅包含“suc cess”或者“fa il”的文本串,注意请不要包含任何其他的字符,如空格等。
对应的“suc cess”或者“fa il”的含义请看下表:
返回结果
结果说明
s ucces s
处理成功,结束发送
fai l
处理失败,重新发送
特别注意
在接收到支付宝服务器的通知以后,请使用HTTP通知验证接口校验该通知的合法性,以确保你的系统的后续操作的正确性。
。