日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

springboot 集成支付寶支付的示例代碼

瀏覽:157日期:2022-06-17 11:03:57

最簡單的springboot集成支付寶

1 注冊沙箱

沙箱是一個模擬環境登錄,百度螞蟻金服開放平臺,支付寶掃碼登錄如下

springboot 集成支付寶支付的示例代碼

springboot 集成支付寶支付的示例代碼

然后沙箱需要注冊一下,非常之簡單,注冊好以后進入到如下頁面,選沙箱工具,然后下載一個生成密鑰的工具。然后解壓按照里面的readme生成公私密鑰,

springboot 集成支付寶支付的示例代碼

選擇沙箱應用 上傳公鑰即可。。沙箱到這里就基本完成了,里面還有沙箱版本的的android app可以下載下來。

springboot 集成支付寶支付的示例代碼

java 程序

1 新建一個springboot項目

因為我們創建的是一個web工程,所以,僅僅演示支付寶的demo,只需要勾選web就足夠了。

springboot 集成支付寶支付的示例代碼

2 添加alipay-sdk-java和fastjson

fastjson 的作用是用到了其中的JSON.toString方法。alipay-sdk-java的作用不用說自然是支付寶的sdk,是必不可少的。

<dependency> <groupId>com.alipay.api</groupId> <artifactId>alipay-sdk-java</artifactId> <version>20170615110434</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version> </dependency>

3 Config

新建一個支付寶的config文件,如下因為支付寶支付完成以后會有一個回調函數返回商家頁面

springboot 集成支付寶支付的示例代碼

該頁面完成過一會兒結束以后會有一個回調,,因為回調地址必須是公網可以直接訪問,這也就是下面用到了netapp映射的原因neturl即為映射的公網地址。

package com.example.pay.config.pay;import org.springframework.context.annotation.Configuration;import java.io.FileWriter;import java.io.IOException;/** * @author ligen * @title: AliPayConfig * @projectName demo * @description: * @date 2019/6/1014:20 */@Configurationpublic class AliPayConfig {//↓↓↓↓↓↓↓↓↓↓請在這里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ // netapp映射的地址,,,根據自己的需要修改 private static String neturl = 'http://g5kike.natappfree.cc'; // 應用ID,您的APPID,收款賬號既是您的APPID對應支付寶賬號 按照我文章圖上的信息填寫 public static String app_id = '2016092800619078'; // 商戶私鑰,您的PKCS8格式RSA2私鑰 剛剛生成的私鑰直接復制填寫 public static String merchant_private_key ='粘貼生成的私鑰'; // 支付寶公鑰,對應APPID下的支付寶公鑰。 按照我文章圖上的信息填寫支付寶公鑰,別填成商戶公鑰 public static String alipay_public_key = '粘貼生成的公鑰'; // 服務器異步通知頁面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數,其實就是你的一個支付完成后返回的頁面URL public static String notify_url = neturl+'/alipay/notify_url'; // 頁面跳轉同步通知頁面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數,其實就是你的一個支付完成后返回的頁面URL public static String return_url = neturl+'/alipay/return_url'; // 簽名方式 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();} } } }}

4 Service

調用支付寶的支付接口就是將一包數據通過支付寶SDK的一個接口發送給支付寶的服務器,然后他會返回給你一個輸入密碼確認支付的界面。所以只需要干兩件事

1 組裝數據

數據最少有5項,注意map的key和value都是字符串

springboot 集成支付寶支付的示例代碼

2 創建客戶端

創建一個 Client實例,其中的值即為我們Config中的值

springboot 集成支付寶支付的示例代碼

3 發送數據

這里面先將數據轉化為request 最后將request通過Client發出去。用到了fastjson的toString方法。也就是前面導入fastjson依賴的原因

springboot 集成支付寶支付的示例代碼

package com.example.pay.config.pay;import com.alibaba.fastjson.JSON;import com.alipay.api.AlipayApiException;import com.alipay.api.DefaultAlipayClient;import com.alipay.api.request.AlipayTradePagePayRequest;import com.example.pay.domain.AlipayVo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * @author ligen * @title: AliPayService * @projectName demo * @description: * @date 2019/6/119:11 */@Servicepublic class AliPayService { Logger logger = LoggerFactory.getLogger('AliPayService.class'); @Autowired AlipayVo staticVo; // 支付服務 public String aliPay() throws AlipayApiException { // 構建支付數據信息 Map<String, String> data = new HashMap<>(); data.put('subject', staticVo.getSubject()); //訂單標題 data.put('out_trade_no', new SimpleDateFormat().format(new Date())); //商戶訂單號,64個字符以內、可包含字母、數字、下劃線;需保證在商戶端不重復 //此處模擬訂單號為時間 data.put('timeout_express', staticVo.getTimout_express()); //該筆訂單允許的最晚付款時間 data.put('total_amount', staticVo.getTotle_amout()); //訂單總金額,單位為元,精確到小數點后兩位,取值范圍[0.01,100000000] data.put('product_code', 'FAST_INSTANT_TRADE_PAY'); //銷售產品碼,商家和支付寶簽約的產品碼,為固定值QUICK_MSECURITY_PAY //構建客戶端 DefaultAlipayClient alipayRsa2Client = new DefaultAlipayClient(AliPayConfig.gatewayUrl,AliPayConfig.app_id,AliPayConfig.merchant_private_key,'json',AliPayConfig.charset,AliPayConfig.alipay_public_key,AliPayConfig.sign_type);// AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();// APP支付 AlipayTradePagePayRequest request = new AlipayTradePagePayRequest(); // 網頁支付// AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); //移動h5 request.setNotifyUrl(AliPayConfig.notify_url); request.setReturnUrl(AliPayConfig.return_url); request.setBizContent(JSON.toJSONString(data)); logger.info(JSON.toJSONString(data)); String response = alipayRsa2Client.pageExecute(request).getBody(); logger.info(response); return response; }}

5 controller 層很簡單 代碼如下

package com.example.pay.controller;import com.alipay.api.AlipayApiException;import com.example.pay.config.pay.AliPayService;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;/**@author ligen@title: PayController@projectName demo@description:@date 2019/6/1013:25*/@Api(tags = “支付寶測試”)@RestControllerpublic class PayController {Logger logger = LoggerFactory.getLogger('PayController.class');@AutowiredAliPayService aliPayService;@ApiOperation('支付接口')@RequestMapping(value = 'alipay/toPay/{amount}', method = RequestMethod.GET)public String alipay(@PathVariable(value = 'amount') Integer amount) throws AlipayApiException { return aliPayService.aliPay(amount);}@ApiOperation('支付異步通知接口')@GetMapping('alipay/notify_url')public String notifyAlipay() { logger.info('----notify-----'); return ' a li pay notify ';}@ApiOperation('支付完成以后的回調接口')@GetMapping('alipay/return_url')public String returnAlipay() { logger.info('----return-----'); return ' a li pay return ';}}

6 運行

瀏覽器訪問(我這里設置了端口號為1234) 路徑最后面200是金額參數。

springboot 集成支付寶支付的示例代碼

會跳轉到如下頁面,

springboot 集成支付寶支付的示例代碼

此時可以使用沙箱支付寶app支付了,這里我們使用賬戶登錄。。。記住是付款用戶登錄,而不是收款用戶。。。那么哪里看付款收款呢。打開螞蟻金服->開發者中心->沙箱 如下圖

springboot 集成支付寶支付的示例代碼

登錄第二個賬號后如下圖 密碼默認都是111111

springboot 集成支付寶支付的示例代碼

springboot 集成支付寶支付的示例代碼

如果設置了return url 將在該頁面結束以后自動跳轉至return url對應的頁面,如下 我在return url只是返回了一個字符串。

springboot 集成支付寶支付的示例代碼

代碼git 地址

https://github.com/ligengithub/pay.git

到此這篇關于springboot 集成支付寶支付的示例代碼的文章就介紹到這了,更多相關springboot 集成支付寶支付內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 支付寶
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产日韩在线观看视频| 日韩成人a**站| 国产传媒在线| 蜜臀久久99精品久久久久久9| 国产精品s色| 激情久久久久久| 亚洲男人在线| 毛片在线网站| 神马午夜久久| 久久99性xxx老妇胖精品| 麻豆高清免费国产一区| 天使萌一区二区三区免费观看| 欧美日本久久| 麻豆国产一区| 国产在线日韩| 日韩动漫一区| 欧美专区18| 国产精品黄色片| 日韩av福利| 国产欧美一级| 日韩中文字幕区一区有砖一区 | 亚洲精品在线二区| 国产日韩欧美在线播放不卡| 日韩国产一区二区| 亚洲精品福利| 亚洲成av在线| 精品久久国产一区| 日本亚洲三级在线| 色老板在线视频一区二区| 亚洲一区日韩| 亚洲不卡av不卡一区二区| 久久亚洲影院| 国产乱码精品| 色婷婷色综合| 久久一级电影| 先锋影音久久久| 日韩成人av影视| 国产精品久久久久久久久免费高清| 国产+成+人+亚洲欧洲在线| 亚洲人成网站在线在线观看| 特黄毛片在线观看| 亚洲一级网站| 日韩精品第一| 91日韩在线| 国产亚洲网站| 国产精品久久久久久妇女| 一区二区精品伦理...| 国产精品普通话对白| 日韩一区中文| 啪啪国产精品| 老鸭窝毛片一区二区三区| 国产精品手机在线播放| 久久久久久久久丰满| 日韩在线成人| 亚洲电影有码| 欧美日韩xxxx| 久久精品官网| 欧美日韩午夜电影网| 99久久夜色精品国产亚洲1000部| 视频一区日韩精品| 亚洲性色av| 国产视频一区二区在线播放| 欧美不卡视频| av在线日韩| 涩涩涩久久久成人精品| 精品五月天堂| 人人精品人人爱| 在线人成日本视频| 久久久成人网| 国产免费久久| 午夜日本精品| 欧美日韩中文字幕一区二区三区 | 亚洲永久精品唐人导航网址| 高清日韩中文字幕| 日韩一区二区三区精品视频第3页| 91亚洲国产高清| 日韩av中文在线观看| 日韩欧美在线中字| 91欧美日韩在线| 国产精品普通话对白| 亚洲伦乱视频| 国产精品成人3p一区二区三区| 亚洲一区成人| 999久久久精品国产| 国产精品nxnn| 日韩高清在线观看一区二区| 亚洲精品一区二区妖精| 国产美女高潮在线| 国产精品大片| 亚洲精品一级| 欧美日韩激情| 久久久成人网| 精品黄色一级片| 日韩二区在线观看| 久久国产精品99国产| 久久精品国产大片免费观看| 国产一区二区三区91| 91亚洲无吗| 视频精品一区二区| 国产精品色网| 不卡在线一区| 91精品一区二区三区综合在线爱| 鲁鲁在线中文| 精品久久99| 精品久久久久久久| 精品三级久久久| 欧美激情在线精品一区二区三区| 日韩高清三区| 久久一二三区| 国产精品美女久久久浪潮软件| 99久久99久久精品国产片果冰| 国产一区2区| 精品中国亚洲| 激情久久99| 日韩综合精品| 亚洲先锋成人| 久久国产福利| 91九色综合| 国产精品麻豆成人av电影艾秋 | 日韩国产在线不卡视频| 在线精品福利| 伊人国产精品| 热久久免费视频| 亚洲精品护士| 日韩国产欧美一区二区三区| 日韩国产精品久久久久久亚洲| 日本在线视频一区二区| 亚洲精品在线a| 日韩国产一二三区| 国产精品一区三区在线观看| 国产日韩中文在线中文字幕| 美女久久久精品| 国产精品www.| 国产一区二区三区四区大秀| 91综合视频| 日韩欧美视频专区| 欧美 日韩 国产精品免费观看| 欧美日韩少妇| 亚洲影院天堂中文av色| 欧美在线看片| 久久不见久久见免费视频7| 久久中文字幕导航| 伊人久久视频| 婷婷亚洲五月| 日韩精品一级中文字幕精品视频免费观看| 亚洲精品在线二区| 久久av电影| 激情黄产视频在线免费观看| 国产综合激情| 在线免费观看亚洲| 国产视频网站一区二区三区| 日韩av专区| 影音先锋久久| 日韩激情视频网站| 精品视频自拍| 激情六月综合| 亚洲精品极品| 国产a久久精品一区二区三区| 亚洲a一区二区三区| 美女精品在线| 国产精品欧美三级在线观看| 久久男人av资源站| 在线亚洲免费| 国产精品一卡| 日本精品在线中文字幕| 亚洲一二av| 国产在线观看91一区二区三区 | 成人羞羞在线观看网站| 国产精品免费看| 国产精品xxx在线观看| 91精品一区二区三区综合在线爱 | 一区二区日韩免费看| 国产精品久久久久久av公交车 | 亚洲视频二区| 国产精品porn| 午夜精品亚洲| 美女久久99| 亚洲主播在线| 麻豆精品久久久| 香蕉国产精品| 国产精品美女午夜爽爽| 91精品一区二区三区综合在线爱 | 日韩精品免费一区二区在线观看| 免费在线观看一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 国产麻豆久久| 欧美有码在线| 国产综合色产| 国产精品17p| 国产精品女主播一区二区三区| 欧美1区二区| 久久都是精品| 国产精品蜜芽在线观看| 亚洲日本国产| 欧美sss在线视频| 国产欧美高清视频在线| 99国产精品视频免费观看一公开| 欧美精品成人| 久久午夜影视| 在线天堂资源www在线污|