首页 > 编程知识 正文

java怎么调用银联的支付接口,java调用第三方支付接口

时间:2023-12-26 22:40:31 阅读:322850 作者:VZWE

本文目录一览:

怎么用java调用微信支付接口

java调用微信支付接口方法:x0dx0aRequestHandlerrequestHandler=newRequestHandler(super.getRequest(),super.getResponse());x0dx0ax0dx0a//获取token//两小时内有效,两小时后重新获取x0dx0ax0dx0aToken=requestHandler.GetToken();x0dx0ax0dx0a//更新token到应用中x0dx0ax0dx0arequestHandler.getTokenReal();x0dx0ax0dx0aSystem.out.println("微信支付获取token=======================:"+Token);x0dx0ax0dx0ax0dx0ax0dx0a//requestHandler初始化x0dx0ax0dx0arequestHandler.init();x0dx0ax0dx0arequestHandler.init(appid,appsecret,appkey,partnerkey,key);x0dx0ax0dx0ax0dx0ax0dx0a//--------------------------------本地系统生成订单-------------------------------------x0dx0ax0dx0a//设置package订单参数x0dx0ax0dx0aSortedMappackageParams=newTreeMap();x0dx0ax0dx0apackageParams.put("bank_type","WX");//支付类型x0dx0ax0dx0apackageParams.put("body","xxxx");//商品描述x0dx0ax0dx0apackageParams.put("fee_type","1");//银行币种x0dx0ax0dx0apackageParams.put("input_charset","UTF-8");//字符集x0dx0ax0dx0apackageParams.put("notify_url","");//通知地址这里的通知地址使用外网地址测试,注意80端口是否打开。x0dx0ax0dx0apackageParams.put("out_trade_no",no);//商户订单号x0dx0ax0dx0apackageParams.put("partner",partenerid);//设置商户号x0dx0ax0dx0apackageParams.put("spbill_create_ip",super.getRequest().getRemoteHost());//订单生成的机器IP,指用户浏览器端IPx0dx0ax0dx0apackageParams.put("total_fee",String.valueOf(rstotal));//商品总金额,以分为单位x0dx0ax0dx0ax0dx0ax0dx0a//设置支付参数x0dx0ax0dx0aSortedMapsignParams=newTreeMap();x0dx0ax0dx0asignParams.put("appid",appid);x0dx0ax0dx0asignParams.put("noncestr",noncestr);x0dx0ax0dx0asignParams.put("traceid",PropertiesUtils.getOrderNO());x0dx0ax0dx0asignParams.put("timestamp",timestamp);x0dx0ax0dx0asignParams.put("package",packageValue);x0dx0ax0dx0asignParams.put("appkey",this.appkey);x0dx0ax0dx0ax0dx0ax0dx0a//生成支付签名,要采用URLENCODER的原始值进行SHA1算法!x0dx0ax0dx0aStringsign="";x0dx0ax0dx0atry{x0dx0ax0dx0asign=Sha1Util.createSHA1Sign(signParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0ax0dx0ax0dx0a//增加非参与签名的额外参数x0dx0ax0dx0asignParams.put("sign_method","sha1");x0dx0ax0dx0asignParams.put("app_signature",sign);x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a//api支付拼包结束------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//获取prepayidx0dx0ax0dx0aStringprepayid=requestHandler.sendPrepay(signParams);x0dx0ax0dx0aSystem.out.println("prepayid:"+prepayid);x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a//--------------------------------生成完成---------------------------------------------x0dx0ax0dx0ax0dx0ax0dx0a//生成预付快订单完成,返回给android,ios掉起微信所需要的参数。x0dx0ax0dx0aSortedMappayParams=newTreeMap();x0dx0ax0dx0apayParams.put("appid",appid);x0dx0ax0dx0apayParams.put("noncestr",noncestr);x0dx0ax0dx0apayParams.put("package","Sign=WXPay");x0dx0ax0dx0apayParams.put("partnerid",partenerid);x0dx0ax0dx0apayParams.put("prepayid",prepayid);x0dx0ax0dx0apayParams.put("appkey",this.appkey);x0dx0ax0dx0a//这里除1000是因为参数长度限制。x0dx0ax0dx0ainttime=(int)(System.currentTimeMillis()/1000);x0dx0ax0dx0apayParams.put("timestamp",String.valueOf(time));x0dx0ax0dx0ax0dx0ax0dx0aSystem.out.println("timestamp:"+time);x0dx0ax0dx0ax0dx0ax0dx0a//签名x0dx0ax0dx0aStringpaysign="";x0dx0ax0dx0atry{x0dx0ax0dx0apaysign=Sha1Util.createSHA1Sign(payParams);x0dx0ax0dx0a}catch(Exceptione){x0dx0ax0dx0ae.printStackTrace();x0dx0ax0dx0a}x0dx0ax0dx0apayParams.put("sign",paysign);x0dx0ax0dx0ax0dx0ax0dx0a//拼json数据返回给客户端x0dx0ax0dx0aBasicDBObjectbackObject=newBasicDBObject();x0dx0ax0dx0abackObject.put("appid",appid);x0dx0ax0dx0abackObject.put("noncestr",payParams.get("noncestr"));x0dx0ax0dx0abackObject.put("package","Sign=WXPay");x0dx0ax0dx0abackObject.put("partnerid",payParams.get("partnerid"));x0dx0ax0dx0abackObject.put("prepayid",payParams.get("prepayid"));x0dx0ax0dx0abackObject.put("appkey",this.appkey);x0dx0ax0dx0abackObject.put("timestamp",payParams.get("timestamp"));x0dx0ax0dx0abackObject.put("sign",payParams.get("sign"));x0dx0ax0dx0ax0dx0ax0dx0aStringbackstr=dataObject.toString();x0dx0ax0dx0aSystem.out.println("backstr:"+backstr);x0dx0ax0dx0ax0dx0ax0dx0areturnbackstr;x0dx0ax0dx0ax0dx0ax0dx0a====================到此为止,预付款订单已生成,并且已返回客户端====================x0dx0ax0dx0ax0dx0ax0dx0a//坐等微信服务器通知,通知的地址就是生成预付款订单的notify_urlx0dx0ax0dx0ax0dx0ax0dx0aResponseHandlerresHandler=newResponseHandler(request,response);x0dx0ax0dx0aresHandler.setKey(partnerkey);x0dx0ax0dx0a//创建请求对象x0dx0ax0dx0a//RequestHandlerqueryReq=newRequestHandler(request,response);x0dx0ax0dx0a//queryReq.init();x0dx0ax0dx0aif(resHandler.isTenpaySign()==true){x0dx0ax0dx0a//商户订单号x0dx0ax0dx0aStringout_trade_no=resHandler.getParameter("out_trade_no");x0dx0ax0dx0aSystem.out.println("out_trade_no:"+out_trade_no);x0dx0ax0dx0a//财付通订单号x0dx0ax0dx0aStringtransaction_id=resHandler.getParameter("transaction_id");x0dx0ax0dx0aSystem.out.println("transaction_id:"+transaction_id);x0dx0ax0dx0a//金额,以分为单位x0dx0ax0dx0aStringtotal_fee=resHandler.getParameter("total_fee");x0dx0ax0dx0a//如果有使用折扣券,discount有值,total_fee+discount=原请求的total_feex0dx0ax0dx0aStringdiscount=resHandler.getParameter("discount");x0dx0ax0dx0a//支付结果x0dx0ax0dx0aStringtrade_state=resHandler.getParameter("trade_state");x0dx0ax0dx0ax0dx0ax0dx0a//判断签名及结果x0dx0ax0dx0aif("0".equals(trade_state)){x0dx0ax0dx0a//------------------------------x0dx0ax0dx0a//即时到账处理业务开始x0dx0ax0dx0a//------------------------------x0dx0ax0dx0ax0dx0ax0dx0aSystem.out.println("----------------业务逻辑执行-----------------");x0dx0ax0dx0ax0dx0ax0dx0a//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——x0dx0ax0dx0aSystem.out.println("----------------业务逻辑执行完毕-----------------");x0dx0ax0dx0aSystem.out.println("success");//请不要修改或删除x0dx0ax0dx0ax0dx0ax0dx0aSystem.out.println("即时到账支付成功");x0dx0ax0dx0a//给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知x0dx0ax0dx0aresHandler.sendToCFT("success");x0dx0ax0dx0ax0dx0ax0dx0a//给微信服务器返回success否则30分钟通知8次x0dx0ax0dx0areturn"success";x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("通知签名验证失败");x0dx0ax0dx0aresHandler.sendToCFT("fail");x0dx0ax0dx0aresponse.setCharacterEncoding("utf-8");x0dx0ax0dx0a}x0dx0ax0dx0a}else{x0dx0ax0dx0aSystem.out.println("fail-Md5failed");

java工程师怎么在简历中描述银联支付,我在公司调用了银联支付

你直接写做过网上银联支付功能就可以了。你也可以写做过商城支付系统。。

怎么用java调用中国银行支付接口,有api或例子之类的吗,谢谢

中国银行的支付接口是由中国银行技术给下发文档的,建议还是找技术要一下。

解释:必须先通过分行的业务经理通知中行总行技术下发文档,之后才会给第三方公司下发api文档的,并且中行的没有代码例子。

各位高手,请问java怎么调用建设银行在线支付的接口?

。。。简单的很。那个接口,其实说白了,就是一个http连接地址。然后,访问这个地址的时候,需要各种参数,当然,这个参数的名字是人家银行已经规定好的。各个参数表示的是什么玩意儿,人家也有文档说明的。到时候,你需要调用的时候,只需要拼接字符串,把这个地址和参数拼接出来,然后通过重定向,重定向到这个拼接出来的地址,就OK乐。 到时候,用户的浏览器就会自动到这个地址页面上,一般都是付账的页面上了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。