日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:叁滴水
 

前言

了解了支付寶秘鑰設置的原理之后,可更加快速地進行開發支付寶支付。在此示例一下支付寶支付較為簡單的場景——電腦網站支付。

這個場景對于后端開發者是比較友好的,官方的demo中已經提供了html頁面,只需要進行簡單的配置即可運行。

一、電腦網站支付

1.1 沙箱環境配置

搞定支付寶網頁支付,實戰來了

 

登錄支付寶,進入控制臺進入沙箱環境。

搞定支付寶網頁支付,實戰來了

 

進入之后配置沙箱環境秘鑰。由上圖可見,用來計算簽名的RSA加密是必須要配置的,開發者要下載支付寶開發工具獲取一對RSA秘鑰,另外選填部分的應用網關授權地址容易搞混,解釋如下:

應用網關

用于接收由支付寶服務器通知 主要用于:

1、生活號被動通知

2、口碑門店的被動通知

3、單筆轉賬到支付寶賬戶

4、現金紅包

5、以及其他部分產品和訂閱消息

授權回調地址

顧名思義僅用于授權接口主要用于:

1、第三方應用授權

2、用戶信息授權

3、以及其他涉及授權的產品(如商戶會員卡)

不管是授權回調地址還是應用網關都是需要傳入http或是https開頭的網頁地址。更詳細的說明可查看支付寶官方。

AES加密在選填部分。可見在對接支付寶時,官方并不強制要求使用AES加密,可以根據自己的實際情況自行選擇是否使用AES加密。

1.2、demo加載

1.2.1、idea直接添加

至今官方提供的demo還是比較古老的一種方式,是采用的Eclipse開發工具編寫的,里面有一些簡單的jsp頁面,只需要下載即可。

搞定支付寶網頁支付,實戰來了

 

現在開發工具基本都換成了idea,也可以通過idea直接打開eclipse工程。另外,關注公眾號JAVA技術棧,在后臺回復:激活碼,可以獲取我寫的獲取正版 IDEA 激活碼的方式,很多人都獲取到了。

搞定支付寶網頁支付,實戰來了

 


搞定支付寶網頁支付,實戰來了

 

1.2.2、maven添加

現在大部分都是maven工程,我的idea中javaee都沒有,很是尷尬,因此,我選擇直接轉換成springboot工程。Spring Boot 基礎教程就不介紹了,系列教程可以看這里:https://github.com/javastacks/spring-boot-best-practice

將jsp代碼和java配置類復制到一個純凈的springboot工程中,結構大概如此,webApp是需要自己新建的,將原有工程的類和jsp復制進來即可。

搞定支付寶網頁支付,實戰來了

 

pom文件中添加對jsp的支持,另外打包時將默認的jar包改成war包,war包對jsp更加友好,配置示例如下。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.5.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
 </parent>
 <groupId>com.example</groupId>
 <artifactId>alipay</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <name>alipay</name>
 <packaging>war</packaging>
 <description>Demo project for Spring Boot</description>
 <properties>
  <java.version>8</java.version>
 </properties>
 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  
<!--  添加支持jsp-->
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>javax.servlet-api</artifactId>
  </dependency>
  <dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>jstl</artifactId>
  </dependency>
  <!-- Tomcat的支持-->
  <dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>   <!-- 編譯時依賴  運行是不需要此包 -->
  </dependency>
 </dependencies>

 <build>
  <finalName>${project.artifactId}</finalName>
  <plugins>
   <plugin>   <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
   <!-- 添加war 插件 -->
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
     <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
   </plugin>
  </plugins>
  
 </build>
</project>

在官方提供的demo中,有3個包需要進行添加。

因為是測試,而且依賴的代碼寫在了jsp中,不影響打包,索性可以直接先打包,然后將3個jar復制到服務器的lib目錄。

搞定支付寶網頁支付,實戰來了

 


搞定支付寶網頁支付,實戰來了

 

1.3、參數配置

demo中提供了一個配置類AlipayConfig.java。

這里需要將沙箱環境提供的參數配置上。

// 應用ID,您的APPID,收款賬號既是您的APPID對應支付寶賬號
public static String app_id = "";

// 商戶私鑰,您的PKCS8格式RSA2私鑰
public static String merchant_private_key = "";

// 支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。
public static String alipay_public_key = "";

// 服務器異步通知頁面路徑  需http://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問
public static String notify_url = "http://{服務器ip}/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

// 頁面跳轉同步通知頁面路徑 需http://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問
public static String return_url = "http://{服務器ip}/alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";

// 簽名方式
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 = "/";
  1. app_id 應用id。每個應用都有自己的唯一標示。這個參數在支付寶、微信等許多開放平臺都有出現。
  2. merchant_private_keyalipay_public_key這是用來計算簽名的秘鑰。
  3. notify_url 這個是用來接收支付寶回調通知的接口地址,這個接口需要進行冪等處理。
  4. return_url 配置支付成功之后跳轉的頁面地址。
  5. sign_type 簽名方式,這個就默認的RSA2加密即可。一般不需要修改。
  6. gatewayUrl 支付寶網關,這個在app配置的時候官方提供了,復制下來即可。

1.4、啟動工程

配置完成之后即可啟動工程,進入首頁index.jsp。

我的路徑是/alipay/index.jsp,大家參考下。

搞定支付寶網頁支付,實戰來了

 

官方的demo中提供了付款、交易查詢、退款、退款查詢、交易關閉等功能。開發者可自行選擇調試。

另外沙箱環境是一套獨立的支付寶環境,需要下載官方提供的沙箱支付寶app(只有Android/ target=_blank class=infotextkey>安卓)。

搞定支付寶網頁支付,實戰來了

 

點擊付款功能的支付按鈕,即可跳入支付頁面,支付完成之后會自行跳轉到配置的return_url地址。

搞定支付寶網頁支付,實戰來了

 

注:有時候會提示存在釣魚風險提示頁面。只需要關閉瀏覽器,只打開支付入口頁面index.jsp,不要打開其他的支付寶頁面就解決了。

分享到:
標簽:支付 網頁
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定