Commit d66b03fb authored by licc's avatar licc

支付宝沙箱测试

parent e8519499
package cn.wisenergy.service.alipay;
import cn.wisenergy.service.common.Common;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author 86187
*/
public class AliPay {
private static final String CHARSET = "UTF-8";
public static void main(String[] args) throws AlipayApiException, IOException {
HttpServletRequest request=null;
HttpServletResponse httpResponse = null;
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", Common.APP_ID,Common.PRIVATE_KEY,"json","GBK",Common.ALIPAY_PUBLIC_KEY,"RSA2");
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
//创建API对应的request
alipayRequest.setReturnUrl( "http://domain.com/CallBack/return_url.jsp" );
//在公共参数中设置回跳和通知地址
alipayRequest.setNotifyUrl( "http://domain.com/CallBack/notify_url.jsp" );
alipayRequest.setBizContent("{" +
"\"out_trade_no\":\"20210320010101001\"," +
"\"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +
"\"total_amount\":0.01," +
"\"subject\":\"充值\"," +
"\"body\":\"充值\"," +
"\"time_expire\":\"2021-01-30 10:05:01\"," +
" \"goods_detail\":[{" +
" \"goods_id\":\"apple-01\"," +
"\"alipay_goods_id\":\"20010001\"," +
"\"goods_name\":\"ipad\"," +
"\"quantity\":1," +
"\"price\":2000," +
"\"goods_category\":\"34543238\"," +
"\"categories_tree\":\"124868003|126232002|126252004\"," +
"\"body\":\"特价手机\"," +
"\"show_url\":\"http://www.alipay.com/xxx.jpg\"" +
" }]," +
"\"passback_params\":\"merchantBizType%3d3C%26merchantBizNo%3d2016010101111\"," +
"\"extend_params\":{" +
"\"sys_service_provider_id\":\"2088511833207846\"," +
"\"hb_fq_num\":\"3\"," +
"\"hb_fq_seller_percent\":\"100\"," +
"\"industry_reflux_info\":\"{\\\\\\\"scene_code\\\\\\\":\\\\\\\"metro_tradeorder\\\\\\\",\\\\\\\"channel\\\\\\\":\\\\\\\"xxxx\\\\\\\",\\\\\\\"scene_data\\\\\\\":{\\\\\\\"asset_name\\\\\\\":\\\\\\\"ALIPAY\\\\\\\"}}\"," +
"\"card_type\":\"S0JP0000\"" +
" }," +
"\"goods_type\":\"0\"," +
"\"timeout_express\":\"90m\"," +
"\"promo_params\":\"{\\\"storeIdType\\\":\\\"1\\\"}\"," +
"\"royalty_info\":{" +
"\"royalty_type\":\"ROYALTY\"," +
" \"royalty_detail_infos\":[{" +
" \"serial_no\":1," +
"\"trans_in_type\":\"userId\"," +
"\"batch_no\":\"123\"," +
"\"out_relation_id\":\"20131124001\"," +
"\"trans_out_type\":\"userId\"," +
"\"trans_out\":\"2088101126765726\"," +
"\"trans_in\":\"2088101126708402\"," +
"\"amount\":0.1," +
"\"desc\":\"分账测试1\"," +
"\"amount_percentage\":\"100\"" +
" }]" +
" }," +
"\"sub_merchant\":{" +
"\"merchant_id\":\"2088000603999128\"," +
"\"merchant_type\":\"alipay: 支付宝分配的间连商户编号, merchant: 商户端的间连商户编号\"" +
" }," +
"\"merchant_order_no\":\"20161008001\"," +
"\"enable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"store_id\":\"NJ_001\"," +
"\"disable_pay_channels\":\"pcredit,moneyFund,debitCardExpress\"," +
"\"qr_pay_mode\":\"1\"," +
"\"qrcode_width\":100," +
"\"settle_info\":{" +
" \"settle_detail_infos\":[{" +
" \"trans_in_type\":\"cardAliasNo\"," +
"\"trans_in\":\"A0001\"," +
"\"summary_dimension\":\"A0001\"," +
"\"settle_entity_id\":\"2088xxxxx;ST_0001\"," +
"\"settle_entity_type\":\"SecondMerchant、Store\"," +
"\"amount\":0.1" +
" }]," +
"\"settle_period_time\":\"7d\"" +
" }," +
"\"invoice_info\":{" +
"\"key_info\":{" +
"\"is_support_invoice\":true," +
"\"invoice_merchant_name\":\"ABC|003\"," +
"\"tax_num\":\"1464888883494\"" +
" }," +
"\"details\":\"[{\\\"code\\\":\\\"100294400\\\",\\\"name\\\":\\\"服饰\\\",\\\"num\\\":\\\"2\\\",\\\"sumPrice\\\":\\\"200.00\\\",\\\"taxRate\\\":\\\"6%\\\"}]\"" +
" }," +
"\"agreement_sign_params\":{" +
"\"personal_product_code\":\"GENERAL_WITHHOLDING_P\"," +
"\"sign_scene\":\"INDUSTRY|CARRENTAL\"," +
"\"external_agreement_no\":\"test\"," +
"\"external_logon_id\":\"13852852877\"," +
"\"sign_validity_period\":\"2m\"," +
"\"third_party_type\":\"PARTNER\"," +
"\"buckle_app_id\":\"1001164\"," +
"\"buckle_merchant_id\":\"268820000000414397785\"," +
"\"promo_params\":\"{\\\"key\\\",\\\"value\\\"}\"" +
" }," +
"\"integration_type\":\"PCWEB\"," +
"\"request_from_url\":\"https://\"," +
"\"business_params\":\"{\\\"data\\\":\\\"123\\\"}\"," +
"\"ext_user_info\":{" +
"\"name\":\"李明\"," +
"\"mobile\":\"16587658765\"," +
"\"cert_type\":\"IDENTITY_CARD\"," +
"\"cert_no\":\"362334768769238881\"," +
"\"min_age\":\"18\"," +
"\"fix_buyer\":\"F\"," +
"\"need_check_info\":\"F\"" +
" }" +
" }");
String form= "" ;
AlipayTradePagePayResponse response = alipayClient.pageExecute(alipayRequest);
System.out.println(response.getBody());
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
httpResponse.setContentType("text/html;charset=" + CHARSET);
//直接将完整的表单html输出到页面
httpResponse.getWriter().write(form);
httpResponse.getWriter().flush();
httpResponse.getWriter().close();
}
}
......@@ -99,7 +99,7 @@ public class SchemeRecordServiceImpl extends ServiceImpl<SchemeRecordMapper, Sch
List<Integer> ids = list.stream().map(UserVolunteer::getVolunteerId).collect(Collectors.toList());
List<Volunteer> result = volunteerMapper.getListByIds(ids);
result.sort(Comparator.comparing(Volunteer::getLowestMark));
result.sort(Comparator.comparing(Volunteer::getLowestMark).reversed());
return R.ok(result);
}
......
......@@ -711,7 +711,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
List<Volunteer> volunteers = otherList.subList(0, number);
result.addAll(volunteers);
}
result.sort(Comparator.comparing(Volunteer::getLowestMark));
result.sort(Comparator.comparing(Volunteer::getLowestMark).reversed());
return result;
}
}
......@@ -32,6 +32,8 @@ public class Common {
/**
* 支付宝支付app_id
*/
public static final String PAY_URL = "https://openapi.alipay.com/gateway.do";
public static final String APP_ID = "2021002126609937";
public static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk3F1VulieP0smmNEyEHLWS0l" +
......@@ -56,4 +58,33 @@ public class Common {
"QhEPLdavgHlvPfUzfSyV6gjZEUrmXMiIBXWMfAtD+87h9AoGANzOybVuH7XaPJfGFuKAMLSdsDUFFEAVkC37XF6nl5k1bC1LmHM2iJltmSh" +
"N2nwJavbtbvycOFhLxRNNkhBDj3oZ8F/93vzyn1M/s0/y7ONUtBIqLdLAT9Q84xxVBFdOvVdja20J1NuQ8yYD4qInO/WcX2MOLXeCaGfMOg1XWaa0=";
/**
* 沙箱 --支付宝支付app_id
*/
public static final String APP_ID_CS ="2021000117607483";
public static final String ALIPAY_PUBLIC_KEY_CS = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh5uAe8quhr05KrOnJ5Jrrp" +
"TphjEoFR4VnHFy9QDRoHK6ouFIz7ksCw6LS7A/S3Yhe3+bZbcvmJSKN1pVO6ssa8iuai81NAnylMZm5tOTaMl945OuqmC8qvIk9wg4AkYd" +
"TWSFRxDmQ1aZ711iyDUDtSYi0bQeS5s2OR9cGowwAsqyrMPYCT47f/+VmyftJcn3k3rS1+fo2dJTEmoeSCrg3oAMV5dL5iTzi5ehvWUWJR" +
"YejyOi54Qtxjz5Nsp1I68BxHT2d8QFeKBgad0w83975tKauHgKHsQE3+TnQzOgyQo8XQB/5dWq3COO7ACNwK1TlPcyxKO1QRX1egW6bysySQIDAQAB";
public static final String PRIVATE_KEY_CS = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHm4B7yq6GvTkqs6cnkmu" +
"ulOmGMSgVHhWccXL1ANGgcrqi4UjPuSwLDotLsD9LdiF7f5tlty+YlIo3WlU7qyxryK5qLzU0CfKUxmbm05NoyX3jk66qYLyq8iT3CDg" +
"CRh1NZIVHEOZDVpnvXWLINQO1JiLRtB5LmzY5H1wajDACyrKsw9gJPjt//5WbJ+0lyfeTetLX5+jZ0lMSah5IKuDegAxXl0vmJPOLl6G9" +
"ZRYlFh6PI6LnhC3GPPk2ynUjrwHEdPZ3xAV4oGBp3TDzf3vm0pq4eAoexATf5OdDM6DJCjxdAH/l1arcI47sAI3ArVOU9zLEo7VBFfV6" +
"BbpvKzJJAgMBAAECggEAQec2t/K2gtDvOWt57udf4caI/yhgnHK0egVAowU0208mmQX3hswtNWpqE+yhtiDBAO3xLaurO/HkgiYqigcUXY" +
"V4Di7HInU7KUaKt99XInPZ9IHPPwooZsOrZ0rdPW2py/TwOKtj3JH32bZ+zWHGXYEdJuDsYD4cSgKNlnFO2+u/uS2RRhsTEX7veE1ivlPB" +
"Ta0hRo+XHcBrrXobZUtFFtE8zxvKOWDMj87WpsLDdXJ1Ze2CZXsdEtuIcfp51Gzx1or+2WrYwoiIAYTNN+oG1JT6pld9l9m1EqVzMPPSmE" +
"/tyyIV4Zb1qjGveH1SPEncIdGOiEH1rOsBvS/E4EDEoQKBgQDvdFgh3Xmtrr47515d+e5sAAZav34IuoEzmih6zXCvLASsG64gsgfoyb2aD" +
"/N9hcTtVFrEDrJSLknNMJcvh1xkmPc1xBeBCLlrrzlyt4hoth1b6ZfdKC7jkhmd0mUylOagsdYGOZ3qT0+ykO449HmE0bQDLWzinw1p15b" +
"/nVx3vQKBgQCQ+jsct+C1Y+1AoYC2o3yCvTcaErdH6Pxk8sCYP18sIml4kb+WUgFgd1THFwgHDu3S4VmkfEcjnIKqioqQCEMyEF2K6RAFu" +
"Ffpw+ianx+9V84GDS7Aov8PKwTWg8RjFBSkHZ+Xl3ERGCyI/NDBCUF8Amiv12IMyVkkWUsrqxnXfQKBgQCGh8MMI7Y9EjPmy/KEsep12v2" +
"29mcE2GPGbhHYDJwGjqCBYXvO+rbe3pkbeWK/Xuxouj/Ubr1Y1pC4K1iFZ3NNQXOCTY02/YPPMD8CaILG8apE/VRI+E5/pJGnzZD1fhqkp" +
"cUs8in6fly0YiC09wVezcJpFphaKioLEQjQy8QrsQKBgGC92bwsJ1JjP+ok2xMEvQ0w3hgT7SGbIvDp3AK8JvH4dJD0EPhp+Gk6t+OyRrUP" +
"DTvvDDZqh74HrlnG4PeDy/MYYJNVOk/W1zMye4DSNgfPE7eODGiXW8PvXOcYPnAu8ichbWFmuRhDHVS7/0EQwBXUNa9A9ji6EzXiL/sPzc" +
"qxAoGAQbxdsp2Omd1cXvaofq+nllbyM04WbYib5bxm+zNgOszWnoIhgR95InA7BWtGnJsjmJqz3/Dwgzzpn+vXiB+6mhj/EP932HWcL7wv" +
"3nMhU06E1T/eQ7hKX8QlmjEIhnWEN7A9lXtwW85/7tpuWs6qbv0YWYze1CcDN3Fr+II2BcA=";
public static final String PAY_URL_CS = "https://openapi.alipaydev.com/gateway.do";
}
......@@ -47,7 +47,7 @@ public class PayController {
return R.error("人参不能为空!");
}
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", Common.APP_ID, Common.PRIVATE_KEY, "json", "GBK", Common.ALIPAY_PUBLIC_KEY, "RSA2");
AlipayClient alipayClient = new DefaultAlipayClient(Common.PAY_URL_CS, Common.APP_ID_CS, Common.PRIVATE_KEY_CS, "json", "GBK", Common.ALIPAY_PUBLIC_KEY_CS, "RSA2");
AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
//创建API对应的request
......@@ -167,7 +167,7 @@ public class PayController {
@ApiImplicitParam(name = "payQueryDto", value = "查询参数", dataType = "PayQueryDto")
@PostMapping("/query")
public R<String> query(@RequestBody PayQueryDto payQueryDto) throws AlipayApiException {
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", Common.APP_ID, Common.PRIVATE_KEY, "json", "GBK", Common.ALIPAY_PUBLIC_KEY, "RSA2");
AlipayClient alipayClient = new DefaultAlipayClient(Common.PAY_URL_CS, Common.APP_ID_CS, Common.PRIVATE_KEY_CS, "json", "GBK", Common.ALIPAY_PUBLIC_KEY_CS, "RSA2");
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.setBizContent("{" +
" \"out_trade_no\":\"" + payQueryDto.getOutTradeNo() + "\"," +
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment