| | |
| | | import com.alipay.api.AlipayClient; |
| | | import com.alipay.api.DefaultAlipayClient; |
| | | import com.alipay.api.domain.AlipayTradeAppPayModel; |
| | | import com.alipay.api.domain.AlipayTradeCreateModel; |
| | | import com.alipay.api.request.AlipayTradeAppPayRequest; |
| | | import com.alipay.api.response.AlipayTradeAppPayResponse; |
| | | import com.alipay.api.request.AlipayTradeCreateRequest; |
| | | import com.alipay.api.response.AlipayTradeCreateResponse; |
| | | import com.jpay.alipay.AliPayApi; |
| | | import com.jpay.alipay.AliPayApiConfig; |
| | | import com.jpay.alipay.AliPayApiConfigKit; |
| | | import com.ruoyi.order.util.alipay.config.AlipayConfig; |
| | | |
| | | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | |
| | | String orderInfo = ""; |
| | | orderInfo = AliPayApi.startAppPay(model, NOTIFY_URL); |
| | | |
| | | |
| | | |
| | | map.put("orderInfo", orderInfo); |
| | | map.put("Type",2); |
| | | |
| | |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | |
| | | public static Map<String, Object> jsApiPay(String subject, String body, Double price, |
| | | String out_trade_no, String openId) throws AlipayApiException { |
| | | // 构造请求参数以调用接口 |
| | | AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); |
| | | AlipayTradeCreateModel model = new AlipayTradeCreateModel(); |
| | | |
| | | // 设置商户订单号 |
| | | model.setOutTradeNo(out_trade_no); |
| | | |
| | | // 设置产品码 |
| | | model.setProductCode("JSAPI_PAY"); |
| | | |
| | | // 设置小程序支付中 |
| | | model.setOpAppId(APP_ID); |
| | | |
| | | // 设置订单总金额 |
| | | model.setTotalAmount(price.toString()); |
| | | |
| | | // 设置业务扩展参数 |
| | | // ExtendParams extendParams = new ExtendParams(); |
| | | // extendParams.setTradeComponentOrderId("2023060801502300000008810000005657"); |
| | | // model.setExtendParams(extendParams); |
| | | |
| | | // 设置可打折金额 |
| | | // model.setDiscountableAmount("80.00"); |
| | | |
| | | // 设置订单标题 |
| | | model.setSubject(subject); |
| | | |
| | | // 设置订单附加信息 |
| | | model.setBody(body); |
| | | |
| | | // uid参数未来计划废弃,存量商户可继续使用,新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。 |
| | | // model.setBuyerId("2088102146225135"); |
| | | |
| | | // 设置买家支付宝用户唯一标识 |
| | | model.setBuyerOpenId(openId); |
| | | |
| | | // 设置商户门店编号 |
| | | // model.setStoreId("NJ_001"); |
| | | |
| | | request.setBizModel(model); |
| | | request.setNotifyUrl(NOTIFY_URL); |
| | | // 第三方代调用模式下请设置app_auth_token |
| | | // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->"); |
| | | |
| | | AlipayTradeCreateResponse response = alipayClient.execute(request); |
| | | System.out.println(response.getBody()); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (response.isSuccess()) { |
| | | System.out.println("调用成功"); |
| | | |
| | | map.put("outTradeNo", response.getOutTradeNo()); |
| | | map.put("tradeNo", response.getTradeNo()); |
| | | map.put("Type", 2); |
| | | } else { |
| | | System.out.println("调用失败"); |
| | | // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接 |
| | | // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); |
| | | // System.out.println(diagnosisUrl); |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | } |