调用支付宝接口支付成功后会有两种回调方式.一种是同步调用,一种是异步调用.同步调用会在你支付成功之后立即回调你设置的同步调用回调页面地址,跳转到该页面并执行里面的的代码. 另外一种是异步调用,异步调用在你支付成功后会立即回调你设置的异步调用回调页面地址,不会跳转你设置的页面,但会执行里面的代码,你可以看一下是不是你里面传递的参数类型没对上,或者是你里面的方法逻辑出问题了
这个在支付宝的接口里就有一个文件return_url.php这个是接受返回的数据的,如果想要返回该网址,那就在
alipay.config.php设置这个
//页面跳转同步通知页面路径
$return_url =
---------------------解决方案------------------------------
public?String?alibaPayCallBackNotice(HttpServletRequest?request,?HttpServletResponse?response,?String?outTradeNo)?{
//获取支付宝POST过来反馈信息
MapString,String?params?=?new?HashMapString,String();
Map?,?requestParams?=?request.getParameterMap();
for?(Iterator?iter?=?requestParams.keySet().iterator();?iter.hasNext();)?{
String?name?=?(String)?iter.next();
String[]?values?=?(String[])?requestParams.get(name);
String?valueStr?=?"";
for?(int?i?=?0;?i?values.length;?i++)?{
valueStr?=?(i?==?values.length?-?1)?valueStr?+?values[i]
:?valueStr?+?values[i]?+?",";
}
//乱码解决,这段代码在出现乱码时使用.
params.put(name,?valueStr);
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看.
//boolean?AlipaySignature.rsaCheckV1(MapString,?String?params,?String?publicKey,?String?charset,?String?sign_type)
try?{
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?(Exception?e)?{
return?"failure";
整个接口返回的数据,处理为字符串返回即可,不需要跳转,也不能跳转,要在你的resposne中body数据
记得采纳
①.、如果你要做支付功能,技术上很简单,支付宝有提供接口,改两个参数就可以用了,非常简单.
如果你只是想加个功能,看看接口怎么用,那简单.但是你要做正规的网站用接口盈利的话,技术上实现很简单,把程序包下下来,然后改两个参数,但是合法经营的话需要的手续很多.
是用来业务中需要知道用户在支付宝支付的时候使用了哪种支付渠道.
支付宝接口回调地址的方法:
比如:
支付宝账户、支付宝商户号、支付宝密匙、支付成功后的异步和同步回调地址等.
这些参数配置好以后,网站自然会跳转至支付宝进行付款,付款成功后,支付宝自然会跳转到自己的网站,至于更改订单状态,那就是自己根据支付宝返回的参数进行判断和更改了.
以上就是土嘎嘎小编为大家整理的java支付宝回调代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!