隨著移動支付的飛速發展,現在越來越多的人選擇用微信和支付寶進行支付。在Java開發中,集成微信和支付寶支付是必不可少的一部分。下面看看如何使用Java來集成微信和支付寶支付。
微信支付
微信支付是指用戶在微信內對商品或服務進行支付的過程。下面是一個Java微信支付的示例代碼:
public static MapgetPrepayInfo(String openid, String goodsName, String total_fee, String ip, String orderNo) {
SortedMapparams = new TreeMap();
params.put("appid", WeiXinPayConfig.APPID);
params.put("mch_id", WeiXinPayConfig.MCH_ID);
params.put("nonce_str", PayUtil.getNonceStr());
params.put("body", goodsName);
params.put("out_trade_no", orderNo);
params.put("total_fee", total_fee);
params.put("spbill_create_ip", ip);
params.put("notify_url", WeiXinPayConfig.NOTIFY_URL);
params.put("trade_type", "JSAPI");
params.put("openid", openid);
String sign = PayUtil.createSign(params, WeiXinPayConfig.KEY);
params.put("sign", sign);
String xml = PayUtil.getRequestXml(params);
String result = HttpUtil.postXml(WeiXinPayConfig.UNIFIED_ORDER_URL, xml);
MapresultMap = null;
try {
resultMap = XMLUtil.doXMLParse(result);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return resultMap;
}
在這個方法中,我們使用了SortedMap來存放參數,并使用PayUtil來獲取一個隨機字符串和簽名。最后使用HttpUtil發送post請求,統一下單返回了預支付信息。
支付寶支付
支付寶支付是指用戶在支付寶內對商品或服務進行支付的過程。下面是一個Java支付寶支付的示例代碼:
public static AlipayTradeAppPayResponse pay(String outTradeNo, String totalAmount, String subject) throws Exception {
AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APP_ID, AlipayConfig.APP_PRIVATE_KEY,
"json", AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGN_TYPE);
AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
request.setBizContent("{" +
" \"out_trade_no\":\"" + outTradeNo + "\"," +
" \"total_amount\":\"" + totalAmount + "\"," +
" \"subject\":\"" + subject + "\"," +
" \"product_code\":\"quicksdk.trade.pay\"," +
" \"timeout_express\":\"30m\"" +
" }");
AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
return response;
}
在此方法中,我們使用AlipayClient來調用支付寶API,使用了DefaultAlipayClient來初始化。這個方法接受outTradeNo,totalAmount和subject三個參數,將其傳遞給AlipayTradeAppPayRequest的BizContent中,返回一個AlipayTradeAppPayResponse。
以上是Java中集成微信和支付寶支付的例子。希望這篇文章對你有所幫助!
上一篇nft交易平臺php