1. 程式人生 > >支付寶支付之APP支付介面 伺服器端

支付寶支付之APP支付介面 伺服器端

下載伺服器端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傳給客戶端 讓其呼叫即可