說明:
在很多場景中都會需要通過alipay.trade.create接口生成一筆支付訂單,然後通過JS喚起收銀台支付,例如掃碼點菜等。
需要注意的點:
交易狀态必須以異步通知或查詢接口為準,異步通知規則可以參考【
請點選】。
create接口demo:
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", TenAlipayConfig.app_id,TenAlipayConfig.merchant_private_key,"json","GBK",TenAlipayConfig.alipay_public_key,"RSA2"); AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); request.setBizContent("{" + "\"out_trade_no\":\"20180320144630111\"," + "\"total_amount\":0.01," + "\"discountable_amount\":0.01," +//可打折金額 "\"subject\":\"測試\"," + "\"buyer_id\":\"2088712969xxxxxx\"," + "\"store_id\":\"123456\"," +//外部門店編号,此參數會影響優惠券的核銷 "\"timeout_express\":\"90m\"," + "\"goods_detail\":[{" + "\"goods_id\":\"wuhuo1996\"," +//商品編碼,此參數會影響單品券的核銷 "\"goods_name\":\"ipad\"," + "\"quantity\":1," + "\"price\":0.01" + "}]," + "\"extend_params\":{"+ "\"sys_service_provider_id\":\"208861191743xxxx\""+//此參數未返傭必填參數,2088開頭 "}" + "}"); AlipayTradeCreateResponse response; try { response = alipayClient.execute(request); if(response.isSuccess()) System.out.println("調用成功"+response.getBody()); else System.out.println("調用失敗"+response.getBody()); } catch (AlipayApiException e) { e.printStackTrace(); }finally { }
喚起收銀台demo:

如果大家還有什麼疑問歡迎文章下面跟帖追問吐槽