java實(shí)現(xiàn)支付寶支付接口的調(diào)用
1.準(zhǔn)備工作
第一步就是先要注冊(cè)一個(gè)支付寶的賬號(hào)(注冊(cè)這里不說(shuō),不是重點(diǎn)),然后登入官方首頁(yè),去到應(yīng)用列表里面找到沙箱應(yīng)用。
基本信息的APPID很重要,后續(xù)配置文件要配置的app_id就是這個(gè)。

系統(tǒng)密鑰,查看公鑰模式,merchant_private_key就是應(yīng)用私鑰;alipay_public_key支付寶公鑰;支付寶網(wǎng)關(guān)地址https://openapi.alipaydev.com/gateway.do因?yàn)槭巧诚錅y(cè)試環(huán)境,這里是dev標(biāo)識(shí)加以區(qū)分;簽名方式這里是RSA2
沙箱賬號(hào)有商家和買家的賬號(hào)支付密碼和余額,后續(xù)付款會(huì)用得到的

2.獲取Demo (JAVA版)
支付寶文檔中心支付應(yīng)用SDK&&DEMO下載代碼demo,用來(lái)在本地加以調(diào)試就行。

3.導(dǎo)入本地運(yùn)行測(cè)試
本地環(huán)境是Eclipse+JDK1.8 及以上+Tomcat8.0,導(dǎo)入本地。

本地下載一個(gè)tomcat服務(wù)器,本地配置好添加進(jìn)去,啟動(dòng)tomcat就可以正常啟動(dòng)訪問(wèn)項(xiàng)目。

AlipayConfig文件主要是配置,APPID,私鑰等這些信息,具體配置參考下文
package com.alipay.config;
import java.io.FileWriter;
import java.io.IOException;
/* *
*類名:AlipayConfig
*功能:基礎(chǔ)配置類
*詳細(xì):設(shè)置帳戶有關(guān)信息及返回路徑
*修改日期:2017-04-05
*說(shuō)明:
*以下代碼只是為了方便商戶測(cè)試而提供的樣例代碼,商戶可以根據(jù)自己網(wǎng)站的需要,按照技術(shù)文檔編寫(xiě),并非一定要使用該代碼。
*該代碼僅供學(xué)習(xí)和研究支付寶接口使用,只是提供一個(gè)參考。
*/
public class AlipayConfig {
//↓↓↓↓↓↓↓↓↓↓請(qǐng)?jiān)谶@里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// 應(yīng)用ID,您的APPID,收款賬號(hào)既是您的APPID對(duì)應(yīng)支付寶賬號(hào) https://open.alipay.com/develop/sandbox/app 這個(gè)鏈接查找
public static String app_id = "XXX";
// 商戶私鑰,您的PKCS8格式RSA2私鑰
public static String merchant_private_key = "XXX";
// 支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對(duì)應(yīng)APPID下的支付寶公鑰。
public static String alipay_public_key = "XXX";
// 服務(wù)器異步通知頁(yè)面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數(shù),必須外網(wǎng)可以正常訪問(wèn)
public static String notify_url = "http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";
// 頁(yè)面跳轉(zhuǎn)同步通知頁(yè)面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數(shù),必須外網(wǎng)可以正常訪問(wèn)
public static String return_url = "http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";
// 簽名方式
public static String sign_type = "RSA2";
// 字符編碼格式
public static String charset = "utf-8";
// 支付寶網(wǎng)關(guān) https://openapi.alipaydev.com/gateway.do
public static String gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
// 支付寶網(wǎng)關(guān)
public static String log_path = "C:\\";
//↑↑↑↑↑↑↑↑↑↑請(qǐng)?jiān)谶@里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
/**
* 寫(xiě)日志,方便測(cè)試(看網(wǎng)站需求,也可以改成把記錄存入數(shù)據(jù)庫(kù))
* @param sWord 要寫(xiě)入日志里的文本內(nèi)容
*/
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();
}
}
}
}
}
index.jsp是支付寶電腦網(wǎng)站支付體驗(yàn)入口頁(yè),訪問(wèn)鏈接http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/index.jsp

點(diǎn)擊付款觸發(fā)訪問(wèn)alipay.trade.page.pay.jsp在這個(gè)jsp頁(yè)面調(diào)用支付接口

點(diǎn)擊付款按鈕跳轉(zhuǎn)到付款頁(yè)面,這個(gè)頁(yè)面不是本地的頁(yè)面

輸入用戶名和支付密碼點(diǎn)擊下一步完成付款,點(diǎn)擊確認(rèn)付款

付款成功頁(yè)面,這個(gè)頁(yè)面顯示之后等待幾秒會(huì)跳轉(zhuǎn)到return_url頁(yè)面,展示商家設(shè)定的頁(yè)面

http://127.0.0.1:8080/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp

到此這篇關(guān)于java實(shí)現(xiàn)支付寶支付接口的調(diào)用的文章就介紹到這了,更多相關(guān)java 支付寶支付接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java即將引入新對(duì)象類型來(lái)解決內(nèi)存使用問(wèn)題
這篇文章主要介紹了Java即將引入新對(duì)象類型來(lái)解決內(nèi)存使用問(wèn)題,文章通過(guò)圍繞主題的相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
Java面向?qū)ο蠡A(chǔ)知識(shí)之封裝,繼承,多態(tài)和抽象
這篇文章主要介紹了Java面向?qū)ο蟮姆庋b,繼承,多態(tài)和抽象,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下2021-11-11
MyBatis-Plus聯(lián)表查詢(Mybatis-Plus-Join)的功能實(shí)現(xiàn)
mybatis-plus作為mybatis的增強(qiáng)工具,簡(jiǎn)化了開(kāi)發(fā)中的數(shù)據(jù)庫(kù)操作,這篇文章主要介紹了MyBatis-Plus聯(lián)表查詢(Mybatis-Plus-Join),需要的朋友可以參考下2022-08-08
Springboot通過(guò)aop實(shí)現(xiàn)事務(wù)控制過(guò)程解析
這篇文章主要介紹了Springboot通過(guò)aop實(shí)現(xiàn)事務(wù)控制過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Java 高并發(fā)編程之最實(shí)用的任務(wù)執(zhí)行架構(gòu)設(shè)計(jì)建議收藏
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過(guò)設(shè)計(jì)保證系統(tǒng)能夠同時(shí)并行處理很多請(qǐng)求,高并發(fā)相關(guān)常用的一些指標(biāo)有響應(yīng)時(shí)間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發(fā)用戶數(shù)等2021-10-10
JUC系列學(xué)習(xí)工具類CountDownLatch詳解
這篇文章主要介紹了JUC系列學(xué)習(xí)工具類CountDownLatch詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下2022-08-08
SpringBoot整合RabbitMQ及生產(chǎn)全場(chǎng)景高級(jí)特性實(shí)戰(zhàn)
本文主要介紹了SpringBoot整合RabbitMQ及生產(chǎn)全場(chǎng)景高級(jí)特性實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

