Spring Boot Alipay サンドボックス環境の決済機能のテスト

目次

1. Alipay 支払いデモをインストールする

2. デモ情報の設定

3. コールバックアドレスと非同期アドレスを設定する

4. イントラネットの浸透

(1) はじめに

(2) 利用シーン

(3) イントラネット侵入に一般的に使用されるいくつかのソフトウェア

(4) natappを利用する


1. Alipay 支払いデモをインストールする

Javaのバージョンを選択し、ダウンロードするとEclipseプロジェクトになります。

SDK とデモを入手 - Alipay ドキュメント センター (alipay.com)

Ideal インポートの参考:IDEA を Eclipse プロジェクトにインポートする手順の詳細な説明 - CSDN Blog 

2. デモ情報の設定

AlipayConfig で設定する必要がある情報は次のとおりです。

//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
	public static String app_id = "";
	
	// 商户私钥,您的PKCS8格式RSA2私钥
    public static String merchant_private_key = "xxx";
	
	// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    public static String alipay_public_key = "xxx";

	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String notify_url = "http://工程项目/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://工程项目/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 = "";
	
	// 支付宝网关
	public static String log_path = "";

まず、サンドボックスAlipay オープン プラットフォーム (alipay.com)に入ります。

サンドボックスは APPID と Alipay ゲートウェイ アドレスを割り当てます。Alipay - オンライン支払いは安全かつ迅速です。 

ログ パス log_path は記述する必要はありません。次はマーチャントの秘密キーと Alipay の公開キーです。キーは合計 4 つあります。Alipay はアプリケーションの公開キーを知る必要があります。キーはそれ自体で隠されています。その後、私たちも以下に示すように、Alipay の公開キーとその関係を知る必要があります。

サンドボックスで「カスタムキー」をクリックし、公開キーモードを選択してAlipay公開キーを取得します。

次に、Alipay キー ジェネレーターキー ツールのダウンロード - Alipay ドキュメント センター (alipay.com) (確実なインストール、インストール パスのカスタマイズのみ) をダウンロードします。生成が完了したら、公開キーを上記のアプリケーション公開キーで構成する必要があります。アプリケーションの秘密キーはコード内で構成されているため、コールバック アドレスと非同期アドレスは引き続き必要ですが、全体の操作に影響を与えることなくプロジェクトをすでに開始できます。

//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
	public static String app_id = "9021015688664745";
	
	// 商户私钥,您的PKCS8格式RSA2私钥
    public static String merchant_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYVu3TUNAskQBtOk3Ghqr7QCMl47SdMgsFHgDtCO0j8WuMX7c1dr6Lrn0FenJk12P2PZ72ei1pYWjNU73nshKQUttJ0ZJ8rKKclMvUCPfFQyXtwd1m9r/ZUpFzhHcvuVeKyfTKEGKsdZu1unHf2a9BC/lOeXOsa7nU0Kr+KZHoRRQRra5rXhrYDCk9xvr45gJl1eWyR3vFEBLmKlJF6B5noUgs8QkCKcO4s6tZ2W64j5E6v/CJkOUHE9fz7XdgAzOEiDwFworgty+U4Zy6oYUnGbaPit2zqTQBItB1JAoGBAJb/mZwW8Atu9uaT6ooFFgR7y9MwD2PcjugKnvf1Ll+eiRg3qMQGrNhxNRQ2jCD6rQUYgjnLgd7WFY5RYok0tQfEHP4aNK7nN0Hd150oMwTTa5c44XipM1+G2QrzBtIEKTEQbx0mL2HkFqvstONKWDhKFexMxmqJbzixygriKvzBAoGACE+3kyPXCsOCQCxmaJuJovm9dmyMgktEtrPxhFDRfsYqOc6xyKd84LgzFNNKmcuhMVI2cTphHQw0M5l2wDhOQbKSh26t2urwZIGbHSa3v2tb/dKpkXi0gu63Y7PpsNYx1ZOKuSAStz8gv5TnqoCrPFynJKFWMhW4C0VqLVsLSvg=";
	
	// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    public static String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wnAk9KNZf8hkPzI0KwEXu8ebXRgiRs8UXOd9O8LYScDHBBNTqTgexHaGJHeOXtZf8WLo6rBFfJRFedMOTcFk9S9j7arLdvqnAew7DUzE7bWl4jgPzcs5FH1CV2nCsURwrUKUvtx9cbRTCA82hDvC0uPDO6IDkj40tfYxJtL1IjIlMzfwbh4cMRXbZxo0VetjTe/BMG7JuQBokdnXpy84dGTOK8oJC/gJCOai65l57KcuSKXcG3EmlhqUZaq8HF4Rg9A7ScdSQ7Xu7bAp6XxOIkrw2VFEyA+93zEj2x6fWr3RTNsYez3Xjy1QhXoqeaZQQckolvc3huTfsT8eV2QVQIDAQAB";

	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String notify_url = "http://工程项目/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://工程项目/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-sandbox.dl.alipaydev.com/gateway.do";
	
	// 支付宝网关
	public static String log_path = "";

サンドボックスで提供された支払いアカウントを使用することも、ご自身で無制限にチャージすることもできます。

起動時のエラー:

エラー:(1, 1) Java: 不正な文字: '\ufeff'

エラー:(1, 10) Java: クラス、インターフェイス、または列挙型が必要です  

解決する:

エラー: (1, 1) java: 不正な文字: '\ufeff'_Langli Xiaocaiji のブログ-CSDN ブログ

 3. コールバックアドレスと非同期アドレスを設定する

localhost:8080として設定しますか? プロジェクトはこのマシン上で実行されるため、確かにそれは可能ですが、考慮する必要があるのは、購入者は世界中にいるため、支払い後にこれら 2 つのページにアクセスできないということです。なぜ JD.com が世界中から守られるのかというと、ドメイン名があるので、外部ネットワークが内部ネットワークにアクセスできるように、ローカル マシンの localhost:8080 をマップするにはドメイン名が必要です。ここでは、内部ネットワークの侵入について説明します。

    // サーバーの非同期通知ページのパスには http:// 形式の完全なパスが必要です。?id=123 などのカスタム パラメータは追加できません。外部ネットワークからアクセスできる必要があります。
    public static String Notice_url = "http://localhost :8080/alipay .trade.page.pay-JAVA-UTF-8/notify_url.jsp";

    // ページ ジャンプ同期通知ページのパスには、http:// 形式の完全なパスが必要です。?id=123 などのカスタム パラメータは追加できません。外部ネットワークからアクセスできる必要があります。
    public static String return_url = "http:/ /localhost:8080 /alipay.trade.page.pay-JAVA-UTF-8/return_url.jsp";

4. イントラネットの浸透

(1) はじめに

イントラネット侵入機能により、外部ネットワークの URL を使用してホストにアクセスできるようになります。
プロジェクト プロセスにアクセスするために必要な通常の外部ネットワークは次のとおりです。
1. サーバーを購入し、固定パブリック IPを取得する
2. ドメイン名を購入し、サーバーの IPにマッピングします。
3. ドメイン名を登録して審査する必要があります。

(2) 利用シーン

1. 開発とテスト (WeChat、Alipay)
2. スマートインターネット
3. リモコン
4. プライベートクラウド

(3) イントラネット侵入のために一般的に使用されるいくつかのソフトウェア

1.natapp : https://natapp.cn/ 割引コード: 022B93FD ( 10 % オフ) [初回利用のみ]
2. ピーナッツの殻: https: //www.oray.com/

(4) natappを利用する

Web サイトに登録し、クライアントをダウンロードします。NATAPP - ngrok に基づく国内のイントラネット浸透高速イントラネット マッピング ツール

初心者向けチュートリアル: NATAPP 初心者向け 1 分クイック グラフィック チュートリアル - NATAPP - ngrok ベースのイントラネット浸透国内高速イントラネット マッピング ツール 

config.ini をダウンロードし、クライアントと同じディレクトリに置きます。authToken を設定した後、ダブルクリックして exe クライアントを起動します。転送行はドメイン名 -> ip: ポートです。

完了したらコードに設定します

//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

	// 应用ID,您的APPID,收款账号既是您的APPID对应支付宝账号
	public static String app_id = "9021015688664745";
	
	// 商户私钥,您的PKCS8格式RSA2私钥
    public static String merchant_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYVu3TUNAskQBtOk3Ghqr7QCMl47SdMgsFHgDtCO0j8WuMX7c1dr6Lrn0FenJk12P2PZ72ei1pYWjNU73nshKQUttJ0ZJ8rKKclMvUCPfFQyXtwd1m9r/ZUpFzhHcvuVeKyfTKEGKsdZu1unHf2a9BC/lOeXOsa7nU0Kr+KZHoRRQRra5rXhrYDCk9xvr45gJl1eWyR3vFEBLmKlJF6B5noUgs8QkCKcO4s6tZ2W64j5E6v/CJkOUHE9fz7XdgAzOEiDwFworgty+U4Zy6oYUnGbaPit2zqTQBItB1JAoGBAJb/mZwW8Atu9uaT6ooFFgR7y9MwD2PcjugKnvf1Ll+eiRg3qMQGrNhxNRQ2jCD6rQUYgjnLgd7WFY5RYok0tQfEHP4aNK7nN0Hd150oMwTTa5c44XipM1+G2QrzBtIEKTEQbx0mL2HkFqvstONKWDhKFexMxmqJbzixygriKvzBAoGACE+3kyPXCsOCQCxmaJuJovm9dmyMgktEtrPxhFDRfsYqOc6xyKd84LgzFNNKmcuhMVI2cTphHQw0M5l2wDhOQbKSh26t2urwZIGbHSa3v2tb/dKpkXi0gu63Y7PpsNYx1ZOKuSAStz8gv5TnqoCrPFynJKFWMhW4C0VqLVsLSvg=";
	
	// 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm 对应APPID下的支付宝公钥。
    public static String alipay_public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wnAk9KNZf8hkPzI0KwEXu8ebXRgiRs8UXOd9O8LYScDHBBNTqTgexHaGJHeOXtZf8WLo6rBFfJRFedMOTcFk9S9j7arLdvqnAew7DUzE7bWl4jgPzcs5FH1CV2nCsURwrUKUvtx9cbRTCA82hDvC0uPDO6IDkj40tfYxJtL1IjIlMzfwbh4cMRXbZxo0VetjTe/BMG7JuQBokdnXpy84dGTOK8oJC/gJCOai65l57KcuSKXcG3EmlhqUZaq8HF4Rg9A7ScdSQ7Xu7bAp6XxOIkrw2VFEyA+93zEj2x6fWr3RTNsYez3Xjy1QhXoqeaZQQckolvc3huTfsT8eV2QVQIDAQAB";

	// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String notify_url = "http://内网穿透域名/alipay.trade.page.pay-JAVA-UTF-8/notify_url.jsp";

	// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
	public static String return_url = "http://内网穿透域名/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-sandbox.dl.alipaydev.com/gateway.do";
	
	// 支付宝网关
	public static String log_path = "";

再実行してテストは終了です。

おすすめ

転載: blog.csdn.net/m0_62946761/article/details/133013491
おすすめ