java支付宝接口
Ⅰ java 调用支付接口为什么异步
在做java版本的支付宝接口的时候,最初是遇到了这样的问题,就是说,在直接的扫码支付,或者是直接的登录账号支付,是没有问题的,
但是,在这样的一种情况下是出现了一个问题,
我web端调用支付宝接口进行支付,一般都是支付成功之后,获得支付成功信息,然后同时去更改我本地订单状态(已付款)。
但是有一种情况是这样的:
调用支付宝接口,你输入账号密码之后, 在支付宝最后一步你不去点确认付款。直接退出(相当于你没有付款)。
然后,你用自己的手机支付宝客户端打开,你会看到有一个未付款的订单(也就是刚才你没付款但生成的订单)~这个时候 如果你去付款了,付款成功之后,就不可能调到我的web端呀?这样我就不能更改我本地的订单状态了。
想问下,大家遇到这种情况是怎么处理的?
有人说,每10秒钟通过订单号去支付宝查询并得到该订单状态。这种方法貌似可以,但是我网络了半天没有见到如何 根据订单号去查询订单状态啊!!! 支付宝的接口我有(Danbao担保)。不太会用。
希望大神给予指点!!!在线坐等,感激万分!!!
这个问题是来自一位博友,最开始也是没有意识到什么问题,为什么是收到钱了,但是却是没有调用自己的逻辑代码,
在看到了这位博友的问题之后,才是发现了自己的问题所在,所以在这里感谢一下,
然后是想说的是,知道了是什么问题之后,然后就是专注于解决这个问题,在考虑了一上午之后还是不明白这个异步通知是怎么的接收到,然后是在一个偶然是看见了,一个提示,是说,自己的项目时候是允许这个路径的访问,因为异步通知是服务器通知,如果是你的过滤器或者是springmvc拦截器,把这个路径拦截掉之后,那么你就肯定是接收不到这个异步通知了,
这个问题真的是很简单,但是却是纠结了一上午,在过滤器中将这个异步通知路径放开之后,然后就是支付成功之后,也是执行了自己的逻辑代码,
这个就是这个异步通知的遇到的问题,
Ⅱ java 支付宝支付接口 的 NotifyUrl 应该怎么返回success 官网上说打印输出 我用了println, 后来用return
(HttpServletRequestrequest,HttpServletResponseresponse,StringoutTradeNo){
//获取支付宝POST过来反馈信息
Map<String,String>params=newHashMap<String,String>();
Map<?,?>requestParams=request.getParameterMap();
for(Iterator<?>iter=requestParams.keySet().iterator();iter.hasNext();){
Stringname=(String)iter.next();
String[]values=(String[])requestParams.get(name);
StringvalueStr="";
for(inti=0;i<values.length;i++){
valueStr=(i==values.length-1)?valueStr+values[i]
:valueStr+values[i]+",";
}
//乱码解决,这段代码在出现乱码时使用。
//valueStr=newString(valueStr.getBytes("ISO-8859-1"),"utf-8");
params.put(name,valueStr);
}
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
//booleanAlipaySignature.rsaCheckV1(Map<String,String>params,StringpublicKey,Stringcharset,Stringsign_type)
try{
booleanflag=AlipaySignature.rsaCheckV1(params,App.AliBaPay.ALIPAY_PUBLIC_KEY,"UTF-8","RSA2");
if(flag){
if("TRADE_SUCCESS".equals(params.get("trade_status"))||"TRADE_FINISHED".equals(params.get("trade_status"))){
//支付成功,录入订单数据
if(userMoneyService.userUpdateWaterAccountInfo(Integer.valueOf(outTradeNo))){
return"success";
}
}
}
}catch(Exceptione){
}
return"failure";
}
整个接口返回的数据,处理为字符串返回即可,不需要跳转,也不能跳转,要在你的resposne中body数据
记得采纳
Ⅲ 我现在在做一个javaweb的毕业设计,购物网站,请问能在项目中使用支付宝的二维码支付技术吗
您好, 我这有几套javaweb的在线商城, 里面也是带支付的功能, 由于平台对个人不开放权限, 所以用官方方案就不太可能了
可以用的方案是直接早几个四方聚合支付 这个用来测试一下还行
或者基于手机监控的方案去做, 这个能保证演示成功, 而且成本特别低
Ⅳ 集成支付宝java接口key有什么作用
支付宝交易安全校验码(key)是商户与支付宝签约后,商户获得的支付宝商户密钥。
当商户把支付宝功能接入商户网站时会用到它们,以便让支付宝认证商户。
此外还有个重要参数是合作者身份ID(partner)
在和支付宝对接的时候, 这个key 会拼接在参数后面,然后进行加密 (可以是MD5,也可以是RSA)
不同的商户,key值不一样
这样可以保证加密出来的参数安全性
Ⅳ java怎么实现在线支付功能有这方面的书吗
1、如果你要做支付功能,技术上很简单,支付宝有提供接口,改两个参数就可以用了,非常简单。2、但是你得网站如果要上线盈利的话,就麻烦了。3、首先你的支付宝收款的账号要进行商家认证,具体怎么认证我就不知道了,当时是我老板认证的,我就知道这个商家实名认证比个人实名认证麻烦的多。认证之后支付宝会给你两个参数,一个是合作身份者ID,以2088开头由16位纯数字组成的字符串,一个是商户的私钥。你拿到这两个参数之后去下载支付宝提供的接口程序,把这两个参数填进去就好了,别的都不用动。当然订单价格和订单号的生成规则你可以自己写。总之支付宝的接口开发的非常完善,而且傻瓜式操作,一看就懂。4、然后你的网站域名要备案,申请ICP证,经营性ICP(为用户提供有偿的信息服务)需要你注册公司的,而且营业执照很麻烦,我老板现在还在。如果你只是想加个功能,看看接口怎么用,那简单。但是你要做正规的网站用接口盈利的话,技术上实现很简单,把程序包下下来,然后改两个参数,但是合法经营的话需要的手续很多。
Ⅵ java支付宝接口 订单号如何产生
订单号生成规则很多,比较常用的就是采用时间戳+随机数+序列号。
如:2015062615273130001
有问题欢迎提问,满意请采纳哦!