电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

瀏覽:101日期:2022-05-29 10:21:22

一、準(zhǔn)備工作:

1、登陸支付寶開發(fā)者中心,申請一個開發(fā)者賬號。

地址:https://openhome.alipay.com/

2、進(jìn)入研發(fā)服務(wù):

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

3、點(diǎn)擊鏈接進(jìn)入工具下載頁面:

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

4、點(diǎn)擊下載對應(yīng)版本的RSA公鑰生成器:

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

5、生成公鑰密鑰(記錄你的應(yīng)用私鑰):

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

6、在支付寶配置公鑰(點(diǎn)擊保存):

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

二、搭建demo

1、引入jia包:

<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9</version> </dependency>

2、搭建工程,目錄結(jié)構(gòu)如下:

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

3、編寫alipay.properties配置文件

# 您的APPIDappId = 2016102200738709# 商戶私鑰privateKey = 您的商戶私鑰# 支付寶公鑰publicKey = 您的支付寶公鑰# 服務(wù)器異步通知頁面路徑 ,需要公網(wǎng)能訪問到。notifyUrl = http://公網(wǎng)能訪問的路徑# 頁面跳轉(zhuǎn)同步通知頁面路徑 需要公網(wǎng)能訪問到。returnUrl = http://公網(wǎng)能訪問的路徑# 簽名方式signType = RSA2# 字符編碼格式charset = utf-8# 支付寶網(wǎng)關(guān)gatewayUrl = https://openapi.alipaydev.com/gateway.do# 支付寶網(wǎng)關(guān)logPath = 'C:'

4、編寫AlipayBean:

public class AlipayBean { /** * 商戶訂單號,必填 * */ private String out_trade_no; /** * 訂單名稱,必填 */ private String subject; /** * 付款金額,必填 * 根據(jù)支付寶接口協(xié)議,必須使用下劃線 */ private String total_amount; /** * 商品描述,可空 */ private String body; /** * 超時時間參數(shù) */ private String timeout_express= '10m'; /** * 產(chǎn)品編號 */ private String product_code= 'FAST_INSTANT_TRADE_PAY'; /** * 省略get set 方法 */}

5、編寫Alipay:

/** * 支付寶支付接口 */@Componentpublic class Alipay { /** * 支付接口 * @param alipayBean * @return * @throws AlipayApiException */ public String pay(AlipayBean alipayBean) throws AlipayApiException { // 1、獲得初始化的AlipayClient String serverUrl = AlipayProperties.getGatewayUrl(); String appId = AlipayProperties.getAppId(); String privateKey = AlipayProperties.getPrivateKey(); String format = 'json'; String charset = AlipayProperties.getCharset(); String alipayPublicKey = AlipayProperties.getPublicKey(); String signType = AlipayProperties.getSignType(); String returnUrl = AlipayProperties.getReturnUrl(); String notifyUrl = AlipayProperties.getNotifyUrl(); AlipayClient alipayClient = new DefaultAlipayClient(serverUrl, appId, privateKey, format, charset, alipayPublicKey, signType); // 2、設(shè)置請求參數(shù) AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest(); // 頁面跳轉(zhuǎn)同步通知頁面路徑 alipayRequest.setReturnUrl(returnUrl); // 服務(wù)器異步通知頁面路徑 alipayRequest.setNotifyUrl(notifyUrl); // 封裝參數(shù) alipayRequest.setBizContent(JSON.toJSONString(alipayBean)); // 3、請求支付寶進(jìn)行付款,并獲取支付結(jié)果 String result = alipayClient.pageExecute(alipayRequest).getBody(); // 返回付款信息 return result; }}

6、編寫AlipayProperties:

/** * 應(yīng)用啟動加載文件 */@Componentpublic class AlipayProperties { public static final String APP_ID = 'appId'; public static final String PRIVARY_KEY = 'privateKey'; public static final String PUBLIC_KEY = 'publicKey'; public static final String NOTIFY_URL = 'notifyUrl'; public static final String RETURN_URL = 'returnUrl'; public static final String SIGN_TYPE = 'signType'; public static final String CHARSET = 'charset'; public static final String GATEWAY_URL = 'gatewayUrl'; public static final String LOG_PATH = 'logPath'; /** * 保存加載配置參數(shù) */ private static Map<String, String> propertiesMap = new HashMap<String, String>(); /** * 加載屬性 */ public static void loadProperties() { // 獲得PathMatchingResourcePatternResolver對象 PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); try { // 加載resource文件(也可以加載resources) Resource resources = resolver.getResource('classpath:你的alipay.properties文件路徑'); PropertiesFactoryBean config = new PropertiesFactoryBean(); config.setLocation(resources); config.afterPropertiesSet(); Properties prop = config.getObject(); // 循環(huán)遍歷所有得鍵值對并且存入集合 for (String key : prop.stringPropertyNames()) { propertiesMap.put(key, (String) prop.get(key)); } } catch (Exception e) { new Exception('配置文件加載失敗'); } } /** * 獲取配置參數(shù)值 * @param key * @return */ public static String getKey(String key) { return propertiesMap.get(key); } public static String getAppId() { return propertiesMap.get(APP_ID); } public static String getPrivateKey() { return propertiesMap.get(PRIVARY_KEY); } public static String getPublicKey() { return propertiesMap.get(PUBLIC_KEY); } public static String getNotifyUrl() { return propertiesMap.get(NOTIFY_URL); } public static String getReturnUrl() { return propertiesMap.get(RETURN_URL); } public static String getSignType() { return propertiesMap.get(SIGN_TYPE); } public static String getCharset() { return propertiesMap.get(CHARSET); } public static String getGatewayUrl() { return propertiesMap.get(GATEWAY_URL); } public static String getLogPath() { return propertiesMap.get(LOG_PATH); }}

7、編寫PropertiesListener:

/** * 配置文件監(jiān)聽器,用來加載自定義配置文件 */@Componentpublic class PropertiesListener implements ApplicationListener<ApplicationStartedEvent> { @Override public void onApplicationEvent(ApplicationStartedEvent event) { AlipayProperties.loadProperties(); }}

8、編寫PayService:

/** * 支付服務(wù) */public interface PayService { /** * 支付寶支付接口 * @param alipayBean * @return * @throws AlipayApiException */ String aliPay(AlipayBean alipayBean) throws AlipayApiException;}

9、編寫PayServiceImpl:

@Servicepublic class PayServiceImpl implements PayService { @Autowired private Alipay alipay; @Override public String aliPay(AlipayBean alipayBean) throws AlipayApiException { return alipay.pay(alipayBean); }}

10、編寫OrderController:

/** * 訂單接口 * * @author Louis * @date Dec 12, 2018 */@RestController()@RequestMapping('order')public class OrderController { @Autowired private PayService payService; @RequestMapping(value = 'alipay') public String alipay(String outTradeNo, String subject, String totalAmount, String body) throws AlipayApiException { AlipayBean alipayBean = new AlipayBean(); alipayBean.setOut_trade_no(outTradeNo); alipayBean.setSubject(subject); alipayBean.setTotal_amount(totalAmount); alipayBean.setBody(body); return payService.aliPay(alipayBean); }//支付成功支付寶調(diào)用方法: @RequestMapping(value = 'ok') public void ok(){ System.out.println('付款成功!'); }}

11、訪問頁面,輸入信息進(jìn)入支付頁面:

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

12、點(diǎn)擊支付寶支付,頁面跳轉(zhuǎn),成功!

Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

總結(jié)

到此這篇關(guān)于Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼的文章就介紹到這了,更多相關(guān)spring boot 支付寶支付內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: 支付寶
相關(guān)文章:
主站蜘蛛池模板: 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 首页_中夏易经起名网 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 天津散热器_天津暖气片_天津安尼威尔散热器制造有限公司 | 明渠式紫外线杀菌器-紫外线消毒器厂家-定州市优威环保 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 数控走心机-双主轴走心机厂家-南京建克| 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 陕西华春网络科技股份有限公司| 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 铝镁锰板_铝镁锰合金板_铝镁锰板厂家_铝镁锰金属屋面板_安徽建科 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 油漆辅料厂家_阴阳脚线_艺术漆厂家_内外墙涂料施工_乳胶漆专用防霉腻子粉_轻质粉刷石膏-魔法涂涂 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 证券新闻,热播美式保罗1984第二部_腾讯1080p-仁爱影院 | 课件导航网_ppt课件_课件模板_课件下载_最新课件资源分享发布平台 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 泰安塞纳春天装饰公司【网站】| 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 |