首先支付寶網站登錄,信息認證即可
https://open.alipay.com/platform/appDaily.htm?tab=account


依賴
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.9.28.ALL</version>
</dependency>
兩個實體類
public class AlibabapayGateWayUtils { /** * * @param orderID 訂單號 * @param total_amount 支付金額 * @param subject 商品名稱 * @param body 商品描述 * @return */ public static String createOrder(String orderID,String total_amount,String subject,String body) throws AlipayApiException { Map<String,String> map = new HashMap<>(); map.put("out_trade_no",orderID); map.put("trade_no",orderID); map.put("total_amount",total_amount); map.put("subject",subject); // 該筆訂單允許的最晚付款時間,逾期將關閉交易。取值范圍:1m~15d。m-分鍾,h-小時,d-天,1c-當天(1c-當天的情況下,無論交易何時創建,都在0點關閉)。 該參數數值不接受小數點, 如 1.5h,可轉換為 90m。 String timeout_express = "1c"; map.put("timeout_express",timeout_express); map.put("product_code","FAST_INSTANT_TRADE_PAY"); AlipayClient alipayClient = getAlipayClient(); //設置請求參數 AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest(); alipayRequest.setReturnUrl(AlipayConfig.return_url); alipayRequest.setNotifyUrl(AlipayConfig.notify_url); alipayRequest.setBizContent(JSON.toJSONString(map)); String result = alipayClient.pageExecute(alipayRequest).getBody(); return result; } private static AlipayClient getAlipayClient() { return new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, "json", AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type); } /** * 查詢訂單 * @param map * @return * @throws AlipayApiException */ public AlipayTradeQueryResponse queryOrder(Map<String, String> map) throws AlipayApiException { AlipayClient alipayClient = getAlipayClient(); //構造API請求 AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.setBizContent(JSON.toJSONString(map));//訂單允許的最晚付款時間 //發送請求 AlipayTradeQueryResponse response = alipayClient.certificateExecute(request); System.out.println("請求支付寶查詢接口返回的結果為:"+response.getBody()); return response; } }
public class AlipayConfig { //APPID public static String app_id = "2021000118658355"; //私鑰 public static String merchant_private_key = ""; //公鑰 public static String alipay_public_key = ""; //通知地址 public static String notify_url = "http://localhost/list"; //返回地址 public static String return_url = "http://localhost/list"; //信號類型 public static String sign_type = "RSA2"; //編碼格式 public static String charset = "utf-8"; //網關地址 public static String gatewayUrl = ""; }
主要方法
//支付 @RequestMapping(value = "addOrder", produces = "text/html; charset=UTF-8") @ResponseBody public String goPay(Torder torder) throws AlipayApiException { String order = AlibabapayGateWayUtils.createOrder("訂單號", "總金額" ,"商品名稱", "描述"); return order; }
