成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Springboot添加支付接口

瀏覽:3日期:2023-03-18 08:44:37
1. 支付寶支付接口(沙箱實現)1.1 支付寶沙箱賬號獲取

官網

此處作者已經申請了一個沙箱賬號,申請過程就不再贅述

如下圖:

Springboot添加支付接口

此處可以自行設置賬戶金額

1.2 下載客戶端(目前好像只支持Android)

Springboot添加支付接口

下載完成后根據官方提供的賬號以及密碼登錄手機端支付寶賬號 如圖(商家賬號):

Springboot添加支付接口

1.3 代碼配置

工具類AlipayConfig

public class AlipayConfig {//↓↓↓↓↓↓↓↓↓↓請在這里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ // 應用ID,您的APPID,收款賬號既是您的APPID對應支付寶賬號 public static String app_id = ''; // 商戶私鑰,您的PKCS8格式RSA2私鑰 public static String merchant_private_key = 'MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC/HOeQNyultzkc5cUnqxBSTIpYt6BTgJoCHKiLQDYgPhjvSX16r08Qw82qYdQgWEs4hHNy2COGA5ksw1eW+zyY2alcTEvRMo4sqx7Ytdm250f67wZQkuPRFSJN7ywHkTipjGKNcS9z9U0Dp18jRXHow4/A9OF8jOau7pWyG0Tc87WHf5u0/G16uMpRtGRzzyNvim7cHAnyFPNrAJ+5DRBdhBg+PjV7EcpYg5LRaMqaO8qDSis+AUU4e7QOELqMgr7yxBNScQ6KksnWnztcFxz6M9T66dAZJ0dWpiB8qatM6sT/MeHTAXeYLhIbnUaxM9vGJR3AJHbHmvNa9o0ToT0LAgMBAAECggEBAIk1a1szAPc9EJgaru3H9zPfGASR8V2CGxAhGzC+rR2A9830aU5HxvA2Y9ZL3kxKl9a/4VM2smpo8vQcWypevibPPrSxYk2Tilevk7nq9aBHdHpIWbRHgaB/F930NRxJuvCfhbIe7P7Hwr84zyk3loySuwbByZHuZ0B4sqjowwwN/wbshl5m/5i4ej6AUp1LVEbxUFpNHNjIZejWVJ0Liq69l8o+1HsFIaGW1Vcrf+fmq20moZzFOLi4EmGfBp/na8JDmo3bE3X+ccAJ375OYictfZVKKYI/UIC/D+7y4XuZatLq3V3lql5ukMnAUJwTJeEapSigkJHDOX38xcSA7iECgYEA5qvIl7PGl8CwDOgTe8LoT8toTUmhAVDFwSF+ROCZD8u9qQeGG7SSCovoTQcVDuzVA3bW8d4Guvb7ZTpnUZZyWHD2rOqxh66wqHGiVTJRApNTS7XHXt3FERNgM7Y8lSoYHdarsZ7QZaJDGGkcwuGvJM0klwyuqs6LQq5DRsz9qp8CgYEA1BkiCjD5FUE/i48MFh+qYcOSiqsm7Hrj/4zuHj0QODonuUZPH0V6b3p4SIWHeBsjmSxBsqoLh2qFOzWAUeBVU3+muPHp3uglumtjZ5wE0nHCt2+0ZH+QKSk5mm8j+09xfTJ185FMusx0N9RQ4l6Rpzb7DSLQFelT4M7gvTRjAhUCgYAtUPQwcV4DdBRiBLnHJ4xSGMjd3igmRQMEpRrUVzdathEFgvfiu3+xWLkDYO/PJdHXQ2KI07CIzHqo8WdYzPCb1V1wrQ7BdB06ilB04lSt59mGVyjax0Cu0RqmLhgKyeFBA2ppk6SnQtBhnEzNMF8jILYegpxR7A/JwshuwVjYSwKBgQCTxfMGgLp6iZxZgs/b9jICrX1DKh4Tc0e5PBqHbOoJEtOsbYUg94pncz+s34PUNaxmwwP/FCS2M4wiBZOi+Bba9zxU7Q+R49KtgLagcH6XlPUiUyyvPIVXeEaPB9Jc/SvIG8k8a0a3e02ZvE6G1hETQj2GGZv0ENiSpRQKBgC8qOk7TMndVDi3vlgGky3BmxSpycwGnI0tcBZnzAyzcLPH3RL3nLvUoZ1w550be7mPDt30/WkCMKV8uKRnNVSrp1LSbT0Z6oJxsaHaCxv3C2UFzlqKWsTtiKNKhYEhjsMYj6l2nRg2CC0WIAA6MPP3xaezSWO1la39Slam0w3l'; // 支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。 public static String alipay_public_key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvxznkDcrpbc5HOXFJ6sQUkyKWLegU4CaAhyoi0A2ID4Y70l9eq9PEMPNqmHUIFhLOIRzctgjhgOZLMNXlvs8mNmpXb4pu3BwJ8hTzawCfuQ0QXYQYPj41exHKWIOS0WjKmjvKg0orPgFFOHu0DhC6jIK+8sQTUnEOipLJ1p87XBcc+jPU+unQGSdHVqYgfKmrTOrE/zHh0wF3mC4SG51GsTPbxiUdwCR2x5rzWvaNE6E9CwIDAQAB'; // 服務器異步通知頁面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問 public static String notify_url = 'http://localhost:8080/alipay/alipayNotifyNotice.action'; // 頁面跳轉同步通知頁面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問 public static String return_url = 'http://localhost:8080/alipay/alipayReturnNotice.action'; // 簽名方式 public static String sign_type = 'RSA2'; // 字符編碼格式 public static String charset = 'utf-8'; // 支付寶網關 public static String gatewayUrl = 'https://openapi.alipaydev.com/gateway.do'; // 支付寶網關 public static String log_path = 'C:';//↑↑↑↑↑↑↑↑↑↑請在這里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ /** * 寫日志,方便測試(看網站需求,也可以改成把記錄存入數據庫) * @param sWord 要寫入日志里的文本內容 */ public static void logResult(String sWord) {FileWriter writer = null;try { writer = new FileWriter(log_path + 'alipay_log_' + System.currentTimeMillis()+'.txt'); writer.write(sWord);} catch (Exception e) { e.printStackTrace();} finally { if (writer != null) {try { writer.close();} catch (IOException e) { e.printStackTrace();} }} }}

其中的參數獲取如下: app_id

Springboot添加支付接口

商戶私鑰,以及支付寶公鑰獲取方法參考官方文檔:密鑰生成

頁面跳轉便是支付以后自動跳轉的界面

接下來解釋編寫下單頁面:

/** * * @Title: AlipayController.java * @Package com.sihai.controller * @Description: 前往支付寶第三方網關進行支付 * Copyright: Copyright (c) 2017 * Company:FURUIBOKE.SCIENCE.AND.TECHNOLOGY */ @RequestMapping(value = '/goAlipay', produces = 'text/html; charset=UTF-8') @ResponseBody public String goAlipay(String orderId, HttpServletRequest request, HttpServletRequest response) throws Exception { order = (Order) request.getSession().getAttribute('order'); orderId='FinchII';//獲得初始化的AlipayClientAlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.gatewayUrl, AlipayConfig.app_id, AlipayConfig.merchant_private_key, 'json', AlipayConfig.charset, AlipayConfig.alipay_public_key, AlipayConfig.sign_type);//設置請求參數AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();alipayRequest.setReturnUrl(AlipayConfig.return_url);alipayRequest.setNotifyUrl(AlipayConfig.notify_url);//商戶訂單號,商戶網站訂單系統中唯一訂單號,必填String out_trade_no = orderId;//付款金額,必填BigDecimal total_amount = order.getTotalPrice();//訂單名稱,必填int subject = order.getOrderId();//商品描述,可空String body = '用戶訂購商品個數:' + order.getLineItems().size();// 該筆訂單允許的最晚付款時間,逾期將關閉交易。取值范圍:1m~15d。m-分鐘,h-小時,d-天,1c-當天(1c-當天的情況下,無論交易何時創建,都在0點關閉)。 該參數數值不接受小數點, 如 1.5h,可轉換為 90m。String timeout_express = '1c';alipayRequest.setBizContent('{'out_trade_no':''+ out_trade_no +'','+ ''total_amount':''+ total_amount +'','+ ''subject':''+ subject +'','+ ''body':''+ body +'','+ ''timeout_express':''+ timeout_express +'','+ ''product_code':'FAST_INSTANT_TRADE_PAY'}');//請求String result = alipayClient.pageExecute(alipayRequest).getBody();return result; } @RequestMapping(value = '/alipayReturnNotice') public ModelAndView alipayReturnNotice(HttpServletRequest request, HttpServletRequest response) throws Exception {//獲取支付寶GET過來反饋信息Map<String,String> params = new HashMap<String,String>();Map<String,String[]> requestParams = request.getParameterMap();for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) { String name = (String) iter.next(); String[] values = (String[]) requestParams.get(name); String valueStr = ''; for (int i = 0; i < values.length; i++) {valueStr = (i == values.length - 1) ? valueStr + values[i]: valueStr + values[i] + ','; } //亂碼解決,這段代碼在出現亂碼時使用 valueStr = new String(valueStr.getBytes('ISO-8859-1'), 'utf-8'); params.put(name, valueStr);}boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset, AlipayConfig.sign_type); //調用SDK驗證簽名ModelAndView mv = new ModelAndView('alipaySuccess');//——請在這里編寫您的程序(以下代碼僅作參考)——if(signVerified) { //商戶訂單號 Order order= (Order) request.getSession().getAttribute('order'); BigDecimal out_trade_no = order.getTotalPrice(); //支付寶交易號 String trade_no = new String(request.getParameter('trade_no').getBytes('ISO-8859-1'),'UTF-8'); //付款金額 String total_amount = new String(request.getParameter('total_amount').getBytes('ISO-8859-1'),'UTF-8'); // 修改叮當狀態,改為 支付成功,已付款; 同時新增支付流水 /* Orders order = orderService.getOrderById(out_trade_no); Product product = productService.getProductById(order.getProductId()); log.info('********************** 支付成功(支付寶同步通知) **********************'); log.info('* 訂單號: {}', out_trade_no); log.info('* 支付寶交易號: {}', trade_no); log.info('* 實付金額: {}', total_amount); log.info('* 購買產品: {}', product.getName()); log.info('***************************************************************');*/ mv.addObject('out_trade_no', out_trade_no); mv.addObject('trade_no', trade_no); mv.addObject('total_amount', total_amount); /* mv.addObject('productName', product.getName());*/}else { /* log.info('支付, 驗簽失敗...');*/}return mv; } /** * * @Title: AlipayController.java * @Package com.sihai.controller * @Description: 支付寶異步 通知頁面 * Copyright: Copyright (c) 2017 * Company:FURUIBOKE.SCIENCE.AND.TECHNOLOGY * * @author sihai * @date 2017年8月23日 下午8:51:13 * @version V1.0 */ @RequestMapping(value = '/alipayNotifyNotice') @ResponseBody public String alipayNotifyNotice(HttpServletRequest request, HttpServletRequest response) throws Exception {//獲取支付寶POST過來反饋信息Map<String,String> params = new HashMap<String,String>();Map<String,String[]> requestParams = request.getParameterMap();for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext();) { String name = (String) iter.next(); String[] values = (String[]) requestParams.get(name); String valueStr = ''; for (int i = 0; i < values.length; i++) {valueStr = (i == values.length - 1) ? valueStr + values[i]: valueStr + values[i] + ','; } //亂碼解決,這段代碼在出現亂碼時使用//valueStr = new String(valueStr.getBytes('ISO-8859-1'), 'utf-8'); params.put(name, valueStr);}boolean signVerified = AlipaySignature.rsaCheckV1(params, AlipayConfig.alipay_public_key, AlipayConfig.charset, AlipayConfig.sign_type); //調用SDK驗證簽名//——請在這里編寫您的程序(以下代碼僅作參考)——/* 實際驗證過程建議商戶務必添加以下校驗:1、需要驗證該通知數據中的out_trade_no是否為商戶系統中創建的訂單號,2、判斷total_amount是否確實為該訂單的實際金額(即商戶訂單創建時的金額),3、校驗通知中的seller_id(或者seller_email) 是否為out_trade_no這筆單據的對應的操作方(有的時候,一個商戶可能有多個seller_id/seller_email)4、驗證app_id是否為該商戶本身。*/if(signVerified) {//驗證成功 //商戶訂單號 String out_trade_no = new String(request.getParameter('out_trade_no').getBytes('ISO-8859-1'),'UTF-8'); //支付寶交易號 String trade_no = new String(request.getParameter('trade_no').getBytes('ISO-8859-1'),'UTF-8'); //交易狀態 String trade_status = new String(request.getParameter('trade_status').getBytes('ISO-8859-1'),'UTF-8'); //付款金額 String total_amount = new String(request.getParameter('total_amount').getBytes('ISO-8859-1'),'UTF-8'); if(trade_status.equals('TRADE_FINISHED')){//判斷該筆訂單是否在商戶網站中已經做過處理//如果沒有做過處理,根據訂單號(out_trade_no)在商戶網站的訂單系統中查到該筆訂單的詳細,并執行商戶的業務程序//如果有做過處理,不執行商戶的業務程序//注意: 尚自習的訂單沒有退款功能, 這個條件判斷是進不來的, 所以此處不必寫代碼//退款日期超過可退款期限后(如三個月可退款),支付寶系統發送該交易狀態通知 }else if (trade_status.equals('TRADE_SUCCESS')){//判斷該筆訂單是否在商戶網站中已經做過處理//如果沒有做過處理,根據訂單號(out_trade_no)在商戶網站的訂單系統中查到該筆訂單的詳細,并執行商戶的業務程序//如果有做過處理,不執行商戶的業務程序//注意://付款完成后,支付寶系統發送該交易狀態通知// 修改叮當狀態,改為 支付成功,已付款; 同時新增支付流水 /* orderService.updateOrderStatus(out_trade_no, trade_no, total_amount);Orders order = orderService.getOrderById(out_trade_no);Product product = productService.getProductById(order.getProductId());log.info('********************** 支付成功(支付寶異步通知) **********************');log.info('* 訂單號: {}', out_trade_no);log.info('* 支付寶交易號: {}', trade_no);log.info('* 實付金額: {}', total_amount);log.info('* 購買產品: {}', product.getName());log.info('***************************************************************');*/ } /* log.info('支付成功...');*/}else {//驗證失敗 /* log.info('支付, 驗簽失敗...');*/}return 'success'; }

基本就是根據客服下單的信息進行后端數據的獲取。

以上就是springboot添加支付接口的詳細內容,更多關于springboot 加支付接口的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲一区二区三区精品动漫| 久久国产精品一区二区三区| 欧美在线首页| 久久久综合网| 精品成人私密视频| 日本欧美大码aⅴ在线播放| 欧美va亚洲va日韩∨a综合色| 欧美影片第一页| 亚洲精品日日夜夜| 99久久99久久免费精品蜜臀| 欧美在线观看你懂的| 亚洲色图20p| av中文字幕一区| 欧美日韩精品一区二区三区| 亚洲乱码中文字幕综合| 国产成人综合网| 久久电影一区| 2020国产精品久久精品美国| 麻豆精品久久精品色综合| 在线观看亚洲| 久久精品视频在线看| 久久国产乱子精品免费女| 国产日韩欧美一区二区三区在线观看 | 欧美日韩国产欧| 91精品国产免费久久综合| 首页国产欧美日韩丝袜| 在线欧美不卡| 久久综合视频网| 国产激情一区二区三区| 亚洲一区二区在线看| 国产精品久久一级| 色综合久久综合网97色综合| 日韩免费成人网| 国产美女精品人人做人人爽| 色婷婷精品久久二区二区蜜臂av| 一区二区免费在线播放| 亚洲国产精品久久久久久女王 | 亚洲天堂福利av| 欧美全黄视频| 欧美大白屁股肥臀xxxxxx| 精品无人码麻豆乱码1区2区| 国产精品日本| 亚洲欧美日韩中文字幕一区二区三区| 91一区二区三区在线观看| 日韩一级在线观看| 国产一区二区三区最好精华液| 在线观看日韩高清av| 香蕉久久一区二区不卡无毒影院 | 樱花影视一区二区| 在线看片日韩| 亚洲欧美日韩在线| 亚洲九九精品| 一色屋精品亚洲香蕉网站| 欧美日韩国产在线一区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 91精品福利在线一区二区三区| 精品无人区卡一卡二卡三乱码免费卡 | 美女视频网站久久| 欧美一a一片一级一片| 日本一道高清亚洲日美韩| 一本一本大道香蕉久在线精品 | 美女免费视频一区| 欧美日韩国产一区二区三区地区| 久久66热偷产精品| 欧美日韩极品在线观看一区| 国产精品一区二区久久不卡| 国产一区二区视频在线| 黄色成人精品网站| 一区二区免费视频| 久久福利毛片| 日韩欧美一区二区视频| 黄色av一区| 午夜一级在线看亚洲| 久久黄色小说| 精品女同一区二区| 欧美大肚乱孕交hd孕妇| 亚洲综合欧美日韩| 日日摸夜夜添夜夜添亚洲女人| 7777精品伊人久久久大香线蕉的 | 丁香五精品蜜臀久久久久99网站| 欧美高清激情brazzers| 成人av网站在线观看免费| 免费成人在线视频观看| 亚洲欧洲av另类| 久久综合九色综合欧美亚洲| 精品免费视频一区二区| 男人的j进女人的j一区| 欧美日韩一区二区在线观看视频| 国产成人在线色| 精品久久一区二区三区| 欧美午夜精品| 亚洲蜜臀av乱码久久精品| 久久精品午夜| 日韩av一区二区三区| 色狠狠av一区二区三区| 国产一区视频网站| 久久这里只精品最新地址| 91片在线免费观看| 成人免费小视频| 久久久久久久高潮| 国产伦精品一区二区三区免费 | 欧美日韩激情在线| 成人动漫av在线| 久久精品亚洲国产奇米99| 伊人成人在线| 免费国产亚洲视频| 2017欧美狠狠色| 在线观看亚洲| 免费成人av在线| 欧美成人乱码一区二区三区| 好看不卡的中文字幕| 日韩在线一区二区| 91精品国产色综合久久不卡电影 | 欧美午夜片在线观看| 国产不卡一区视频| 国产精品污网站| 久久一二三区| 北条麻妃一区二区三区| 一区二区三区在线影院| 欧美日韩国产免费一区二区| 欧美高清一区| 午夜不卡av在线| 精品日本一线二线三线不卡| 在线观看欧美一区| 玖玖九九国产精品| 国产亚洲综合色| 久久在线视频| 91老司机福利 在线| 亚洲小少妇裸体bbw| 欧美电影精品一区二区| 99国产精品自拍| 最新国产乱人伦偷精品免费网站| 国产亚洲污的网站| 国产精品五区| 国产一区欧美一区| 亚洲欧洲三级电影| 国产精品午夜av在线| 国产成人高清在线| 亚洲乱码中文字幕综合| 这里是久久伊人| 99国产一区| 成人免费观看视频| 亚洲国产va精品久久久不卡综合| 欧美哺乳videos| 免费日韩av片| 91视视频在线直接观看在线看网页在线看| 亚洲色图20p| 在线免费亚洲电影| 欧美在线观看天堂一区二区三区| 亚洲色图欧美偷拍| 717成人午夜免费福利电影| 亚洲毛片av| 国产999精品久久| 亚洲影院在线观看| 26uuu另类欧美亚洲曰本| 色屁屁一区二区| 国产综合色产| 国产老妇另类xxxxx| 亚洲精品国产无套在线观| 欧美一区二视频| 噜噜噜久久亚洲精品国产品小说| av高清久久久| 精品一区二区日韩| 亚洲三级免费电影| 911精品产国品一二三产区| 国产综合18久久久久久| 国产主播一区二区三区| 日韩码欧中文字| 欧美成人女星排名| 欧美性受极品xxxx喷水| 精品91免费| 不卡的电影网站| 蜜臀久久99精品久久久久久9| 中文字幕国产一区二区| 91精品国产日韩91久久久久久| 亚洲免费久久| 国产精品99精品久久免费| 亚洲成人激情av| 国产精品午夜免费| 精品日韩99亚洲| 在线观看欧美日本| 国产美女诱惑一区二区| 欧美性事免费在线观看| gogo大胆日本视频一区| 九一九一国产精品| 婷婷久久综合九色国产成人| 综合激情成人伊人| 欧美韩国一区二区| 久久久影院官网| 日韩欧美国产三级| 欧美午夜一区二区三区| 久久精品二区三区| 国产亚洲亚洲| 99国产精品久久久久久久成人热| 亚洲成人在线视频网站| 国产欧美91| 91久久精品日日躁夜夜躁欧美| 91豆麻精品91久久久久久| 欧美放荡的少妇| 26uuu色噜噜精品一区|