java支付平台_java支付宝网站支付

package autoDrainage;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.UUID;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.json.JSONArray;

import org.json.JSONObject;

import com.alipay.api.AlipayApiException;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.request.AlipayTradePagePayRequest;

import Helper.AAAAYulebaoShareSingleton;

import Helper.AlipayConfig;

import Helper.ElaseHelper;

import Helper.MySqlHepler2;

@WebServlet("/selfOnlineBuyServlet")public classselfOnlineBuyServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected final String USER_AGENT = "Mozilla/5.0";publicselfOnlineBuyServlet() {

super();

}protected voiddoGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request,response);

}protected voiddoPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType("text/html");

response.setCharacterEncoding("utf-8");

request.setCharacterEncoding("utf-8");

PrintWriter writer=response.getWriter();

JSONObject shareJsonObject=newJSONObject();

String token=request.getParameter("token");

String account=request.getParameter("account");//请求

String result="";//token验证

int tokenCheck= ElaseHelper.checktoken(account, token,1);if(tokenCheck>0)

{

JSONObject singleObject=null;

String memberType=request.getParameter("memberType");int deviceCount=Integer.valueOf(request.getParameter("deviceCount")).intValue() ;

String total_amount="";if(deviceCount>0)//必须大于0不能为负数

{//下面一个循环计算需要支付的总额度

for(int i=0;i

{

singleObject=AAAAYulebaoShareSingleton.getInstance().memeberTypeAndPriceListArray.getJSONObject(i);

String tempType=singleObject.getString("memeberType");if(memberType.equals(tempType))

{

total_amount=String.valueOf(deviceCount*singleObject.getInt("price")) ;break;

}

}//调用支付宝//获得初始化的AlipayClient

AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);//设置请求参数

AlipayTradePagePayRequest alipayRequest = newAlipayTradePagePayRequest();

alipayRequest.setReturnUrl(AlipayConfig.return_url);

alipayRequest.setNotifyUrl(AlipayConfig.notify_url);//商户订单号,商户网站订单系统中唯一订单号,必填

String out_trade_no =UUID.randomUUID().toString().replace("-", "");//付款金额,必填//total_amount;//订单名称,必填

String subject ="云步引流平台点卡购买";//商品描述,可空

String body = "产品使用分为,日/周/月/年卡四种类型,用户购买后可以使用平台的引流软件实现自动化引流";//下面是支付宝回调时验证的参数,单个购买所需参数组成一个字典,以商户订单号为key放到单例模式的字典中,回到成功直接移除,不成功的每天晚上12点自动清空一次。

JSONObject buyMemeberObject=newJSONObject();

buyMemeberObject.put("memberType",memberType);

buyMemeberObject.put("deviceCount", deviceCount);

AAAAYulebaoShareSingleton.getInstance().alipayOnlineBuyDictionary.put(out_trade_no, buyMemeberObject);

alipayRequest.setBizContent("{\"out_trade_no\":\""+ out_trade_no +"\","

+ "\"total_amount\":\""+ total_amount +"\","

+ "\"subject\":\""+ subject +"\","

+ "\"body\":\""+ body +"\","

+ "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");try{

result=alipayClient.pageExecute(alipayRequest).getBody();

}catch(AlipayApiException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

shareJsonObject.put("payUrl", result);

shareJsonObject.put("status", "success");

shareJsonObject.put("Msg", "提交成功");

}

}else{

shareJsonObject.put("status", "fail");//fail

shareJsonObject.put("msg", "tokentimeout");

}

writer.println(shareJsonObject);

writer.flush();

writer.close();

writer=null; shareJsonObject=null;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值