支付寶支付之APP支付介面 伺服器端
阿新 • • 發佈:2019-01-04
下載伺服器端DEMO
匯入專案中
程式碼部分
// 例項化客戶端 AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.SERVER_URI, AlipayConfig.APP_ID, AlipayConfig.RSA2_PRIVATE, "json", AlipayConfig.input_charset, AlipayConfig.ALIPAY_PUBLIC_KEY, "RSA2"); // 例項化具體API對應的request類,類名稱和介面名稱對應,當前呼叫介面名稱:alipay.trade.app.pay AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest(); // SDK已經封裝掉了公共引數,這裡只需要傳入業務引數。以下方法為sdk的model入參方式(model和biz_content同時存在的情況下取biz_content)。 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel(); model.setBody("一個月會員"); model.setSubject("一個月會員"); model.setOutTradeNo(paymentOrder.getPkId()+""); model.setTimeoutExpress("30m"); model.setTotalAmount(centTransformYuan(paymentOrder.getMoney())); model.setProductCode("QUICK_MSECURITY_PAY"); request.setBizModel(model); request.setNotifyUrl(AlipayConfig.app_notify_url);//回撥地址 String orderInfo = null; try { //這裡和普通的介面呼叫不同,使用的是sdkExecute AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); //response.getBody()就是orderString 可以直接給客戶端請求,無需再做處理。 orderInfo = response.getBody(); } catch (AlipayApiException e) { e.printStackTrace(); } logger.info("生成支付寶支付訂單資訊完成 orderInfo:{}",orderInfo); Map<String, String> resultMap = new HashMap<String, String>(); resultMap.put(Dicts.ORDER_INFO, orderInfo); return new Response<Map<String, String>>(resultMap);
AlipayConfig部分
把得到的orderInfo傳給客戶端 讓其呼叫即可