AliPayService.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.hys.app.pay.ali;
  2. import com.alipay.api.AlipayClient;
  3. import com.alipay.api.AlipayConfig;
  4. import com.alipay.api.DefaultAlipayClient;
  5. import com.alipay.api.domain.AlipayTradeWapPayModel;
  6. import com.alipay.api.internal.util.AlipaySignature;
  7. import com.alipay.api.request.AlipayTradeWapPayRequest;
  8. import com.alipay.api.response.AlipayTradeWapPayResponse;
  9. import org.springframework.stereotype.Service;
  10. import javax.annotation.Resource;
  11. import java.util.Map;
  12. @Service
  13. public class AliPayService {
  14. @Resource
  15. private AliConfig alipayConfig1;
  16. public String pay(PayOrder payOrder) {
  17. try {
  18. AlipayConfig alipayConfig = new AlipayConfig();
  19. alipayConfig.setServerUrl(alipayConfig1.getServerUrl());
  20. alipayConfig.setAppId(alipayConfig1.getAppId());
  21. alipayConfig.setPrivateKey(alipayConfig1.getAppPrivateKey());
  22. alipayConfig.setFormat(alipayConfig1.getFormat());
  23. alipayConfig.setAlipayPublicKey(alipayConfig1.getAlipayPublicKey());
  24. alipayConfig.setCharset(alipayConfig1.getCharset());
  25. alipayConfig.setSignType(alipayConfig1.getSignType());
  26. AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
  27. AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
  28. AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
  29. model.setOutTradeNo(payOrder.getTraceNo());
  30. model.setTotalAmount(payOrder.getTotalAmount().toString());
  31. model.setSubject(payOrder.getSubject());
  32. request.setBizModel(model);
  33. AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, "GET");
  34. // 如果需要返回GET请求,请使用
  35. // AlipayTradeWapPayResponse response = alipayClient.pageExecute(request, "GET");
  36. String pageRedirectionData = response.getBody();
  37. System.out.println(pageRedirectionData);
  38. if (response.isSuccess()) {
  39. return response.getBody();
  40. }
  41. } catch (Exception e) {
  42. e.printStackTrace();
  43. }
  44. return null;
  45. }
  46. public Boolean checkReturnParam (Map < String, String > map){
  47. try {
  48. return AlipaySignature.verifyV1(map, alipayConfig1.getAlipayPublicKey(), alipayConfig1.getCharset(), alipayConfig1.getSignType());
  49. } catch (Exception e) {
  50. e.printStackTrace();
  51. }
  52. return false;
  53. }
  54. }