支付寶支付(沙箱環境相關配置)

支付寶沙箱環境相關配置

本篇博客主要介紹支付寶沙箱環境和後端Alipay.config配置文件的配置,因開發人員使用正式環境進行開發時,需要企業進行註冊審覈相關資料,準備資料和時間比較久,支付寶爲此提供了沙箱環境,大大減輕了開發流程。

(一)準備沙箱環境

1.進入沙箱應用:

鏈接地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info 

2.生成RSA非對稱密鑰對

在設置祕鑰之前需要下載支付寶開發平臺開發助手軟件進行生成RSA不對稱祕鑰。

鏈接地址:https://opendocs.alipay.com/open/291/105971

 

3.設置RSA2(SHA256)祕鑰

 

點擊RSA2密鑰後面的設置按鈕,粘貼上一步生成的公鑰,如下:

 

4、設置商戶私鑰

即上方支付寶開發平臺開發助手生成的密鑰對中的私鑰

(二)後臺Alipay.config文件配置

1.設置配置文件中的支付寶公鑰

配置文件如下:

package com.yjlc.api.pay.impl.alipay.config;

import java.io.FileWriter;
import java.io.IOException;

/**
 *  @Description:  支付寶支付配置文件
 *  @author: cyb
 *  @Date 2020-07-14
 */
public class AlipayConfig {
    /** 應用ID,您的APPID,收款賬號既是您的APPID對應支付寶賬號(此處用的是沙箱環境) */
    public static String APP_ID = "2016092700611035";
    /** 商戶私鑰,您的PKCS8格式RSA2私鑰,這些就是我們剛纔設置的 */
    public static String MERCHANT_PRIVATE_KEY = "替換成支付寶開放平臺助手生成的密鑰";
    /** 支付寶公鑰,查看地址:對應APPID下的支付寶公鑰。,這些就是我們剛纔設置的 */
    public static String ALIPAY_PUBLIC_KEY ="替換成沙箱環境《RSA2(SHA256)密鑰(推薦)》中的支付寶公鑰";
    /**異步通知,再這裏我們設計自己的後臺代碼*/
    public static String notify_url = "http://chenyuanbo.natapp1.cc/asynCallback?channelId=ali_pay";

    /** 頁面跳轉同步通知頁面路徑(自定義後端路徑) 需http://格式的完整路徑,不能加?id=123這類自定義參數,必須外網可以正常訪問*/
    public static String return_url = "http://chenyuanbo.natapp1.cc/ACPSample_B2C/backRcvResponse";

    /** 簽名方式*/
    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:\\";

}

 下圖對應上方的支付寶公鑰

注意:上方chenyuanbo.natapp1.cc爲我用的內網穿透設置的域名,對應本地ip 127.0.0.1:8080,大家在使用的時候切換成自己的內網穿透或者真實的訪問域名。

Natapp上付費隧道配置如下:

 

(三)本地host文件配置

Host文件路徑如下:

C:\Windows\System32\drivers\etc

 增加以下配置:

127.0.0.1 http://chenyuanbo.natapp1.cc

(四)更改生成付款二維碼鏈接方法

//設置請求參數
        AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
        alipayRequest.setReturnUrl(AlipayConfig.return_url);
        alipayRequest.setNotifyUrl(AlipayConfig.notify_url);

        //商戶訂單號,商戶網站訂單系統中唯一訂單號,必填
        String out_trade_no = new String(request.getParameter("WIDout_trade_no").getBytes("ISO-8859-1"), "UTF-8");
        //付款金額,必填
        String total_amount = new String(request.getParameter("WIDtotal_amount").getBytes("ISO-8859-1"), "UTF-8");
        //訂單名稱,必填
        String subject = new String(request.getParameter("WIDsubject").getBytes("ISO-8859-1"), "UTF-8");
        subject = "yjlcPay";
        //商品描述,可空
        String body = new String(request.getParameter("WIDbody").getBytes("ISO-8859-1"), "UTF-8");

        alipayRequest.setBizContent("{\"out_trade_no\":\"" + out_trade_no + "\","
                + "\"total_amount\":\"" + total_amount + "\","
                + "\"subject\":\"" + subject + "\","
                + "\"body\":\"" + body + "\","
                + "\"product_code\":\"FAST_INSTANT_TRADE_PAY\"}");
        //請求
        String result = alipayClient.pageExecute(alipayRequest).getBody();

        //輸出付款二維碼
        response.getWriter().println(result);

以上即爲支付寶支付需要更改的配置,若對以上配置有疑問的可以留言討論,轉載請說明出處,博客地址:https://www.cnblogs.com/chenyuanbo/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章