| | |
| | | import com.alipay.api.CertAlipayRequest; |
| | | import com.alipay.api.DefaultAlipayClient; |
| | | import com.alipay.api.domain.AlipayTradeAppPayModel; |
| | | import com.alipay.api.domain.ExtendParams; |
| | | import com.alipay.api.domain.RoyaltyDetailInfos; |
| | | import com.alipay.api.domain.RoyaltyInfo; |
| | | import com.alipay.api.request.*; |
| | | import com.alipay.api.response.*; |
| | | import org.apache.commons.collections.map.HashedMap; |
| | |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.crypto.BadPaddingException; |
| | | import javax.crypto.Cipher; |
| | | import javax.crypto.IllegalBlockSizeException; |
| | |
| | | private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径 |
| | | |
| | | private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书 |
| | | |
| | | |
| | | |
| | | |
| | |
| | | model.setPassbackParams(passbackParams);//自定义参数 |
| | | request.setBizModel(model); |
| | | request.setNotifyUrl(callbackPath + notifyUrl); |
| | | |
| | | |
| | | |
| | | //分账 |
| | | // Integer coursePackagePayments = coursePackageClient.queryByCode(outTradeNo); |
| | | // Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); |
| | | // Integer siteBookings = siteClient.queryByCode(outTradeNo); |
| | | // List<Integer> stores = new ArrayList<>(); |
| | | // stores.add(coursePackagePayments); |
| | | // stores.add(paymentCompetitions); |
| | | // stores.add(siteBookings); |
| | | |
| | | // OperatorUser operatorUser = siteClient.queryOperator(stores); |
| | | // |
| | | // String alipayProportion = operatorUser.getAlipayProportion(); |
| | | // String alipayNum = operatorUser.getAlipayNum(); |
| | | |
| | | ExtendParams extendParams = new ExtendParams(); |
| | | // extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID"); |
| | | model.setExtendParams(extendParams); |
| | | |
| | | RoyaltyInfo royaltyInfo = new RoyaltyInfo(); |
| | | // royaltyInfo.setRoyaltyType("transfer"); |
| | | |
| | | |
| | | RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos(); |
| | | royaltyDetailInfo1.setTransOutType("userId"); |
| | | royaltyDetailInfo1.setTransOut(aliAppid); |
| | | royaltyDetailInfo1.setTransInType("loginName"); |
| | | royaltyDetailInfo1.setTransIn("18398968484"); |
| | | |
| | | royaltyDetailInfo1.setDesc("分账描述1"); |
| | | royaltyDetailInfo1.setAmountPercentage("10"); |
| | | List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>(); |
| | | |
| | | |
| | | |
| | | |
| | | royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos); |
| | | model.setRoyaltyInfo(royaltyInfo); |
| | | System.err.println("========royaltyInfo=========="+royaltyInfo); |
| | | |
| | | |
| | | |
| | | try { |
| | | //这里和普通的接口调用不同,使用的是sdkExecute |
| | | AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("orderString", response.getBody()); |
| | | System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。 |
| | | System.err.println("========map=========="+map);//就是orderString 可以直接给客户端请求,无需再做处理。 |
| | | return ResultUtil.success(map); |
| | | } catch (AlipayApiException e) { |
| | | e.printStackTrace(); |
| | |
| | | * @throws Exception |
| | | */ |
| | | public ResultUtil queryALIOrder(String out_trade_no) throws Exception{ |
| | | AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2"); |
| | | AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2"); |
| | | AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); |
| | | request.setBizContent("{" + |
| | | "\"out_trade_no\":" + out_trade_no + |
| | | " }"); |
| | | " \"out_trade_no\":\"" + out_trade_no + "\"" + |
| | | "}"); |
| | | AlipayTradeQueryResponse response = alipayClient.execute(request); |
| | | if(response.isSuccess()){ |
| | | String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) |
| | |
| | | } |
| | | |
| | | |
| | | public static void main(String[] ages){ |
| | | // public static void main(String[] ages){ |
| | | // PayMoneyUtil payMoneyUtil = new PayMoneyUtil(); |
| | | // payMoneyUtil.weixinpay("测试", "123", "12.5", ""); |
| | | } |
| | | // ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com"); |
| | | // System.err.println(ce); |
| | | // ResultUtil resultUtil = null; |
| | | // try { |
| | | // resultUtil = payMoneyUtil.queryALIOrder("121456457"); |
| | | // } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | // System.err.println(resultUtil); |
| | | // } |
| | | |
| | | |
| | | /** |