Java Payment SDK インターフェイスのリモート デバッグ - Alipay サンドボックス環境 [パブリック ネットワーク アドレスのデバッグ]

CSDNのリモート侵入: Java Alipayサンドボックス環境決済、SDKインターフェースリモートデバッグ【イントラネット侵入】の記事より転載

1. テスト環境

  • メイヴン
  • スプリングブーツ
  • JDK1.8

2. ローカル構成

Alipay 決済の Java SDK を入手、maven プロジェクトは maven バージョンを選択可能、通常の Java プロジェクトは GitHub からダウンロード可能、maven の例はこちら

SDK ダウンロード リンク: https://doc.open.alipay.com/docs/doc.htm?treeId=193&articleId=103419&docType=1

2023011001

最新の SDK バージョンを選択してください

2023011002

Maven 座標をコピーして、Spring Boot プロジェクトの pom ファイルにインポートします。

2023011003
2023011004

開発ドキュメントを開く: https://opendocs.alipay.com/open/028r8t?scene=22

これは、コンピューターのウェブサイトの支払い統一注文と支払いページ インターフェイスの個別のテストです。

2023011005

デモンストレーションの便宜上、インターフェイスを作成し、get リクエストを作成し、注文情報をコードに記述します。

//支付宝支付接口
@Controller
@RequestMapping("/pay")
public class AlipayTest {
    
    


    private String serverUrl="https://openapi.alipaydev.com/gateway.do";
    private String appId="2021000122601685";
    private String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCCk5evhVhZL3kaWEN4ACD+xHoTfn0RqR7aoh2esSTHeca8bV77z4KYUYXH/76uG1ufeYX8CsI68fMTTIxTcvA1F/vctjCkyAS3fjo+DTPpQ5tZpXvJjbNhwXJwrNov/44Dsy727N+b6CAmz5C6vkNipTdekUlHO+6EJmNgMo+ZgYuoEvinP/1JLST6IpcYj/QjGtG8cYStDlx6C3P2Xk7Jv//rOsMbem6bO5v7zZU4E29lVn5mZucxyPqDfRgyz2H++EaNxDRRh6cdVxwntEImpn9Tap+Jv1tTEddI7pOnXqsOwy5lOEJ6r36g48OyXWOLum2x9bxZUs/6tg96VAgMBAAECggEAN7StlqTltHuJNQ2hBe9eQSjKRJmI3y8gQc5C6ZLLNSHXzselaEQHNd6mMjarPhg6zUV8wPH/wuvbsFOcF9tmMkFmxBiyjnGwV1pjYVmafMkpwh7jWkLk9UBLPTEbKN2+wqbuq08Pjc7et2cywRXjn8SrhQ6F47dZBspgkTDQ+PTpQ4unHjUeQVz55K2VitReDZuTNWPCj2DT7UHDaItFTVtG0oNd1mVtcmeS+4Na7WS/3dusUef2v8fpTuTYcNNcoDxYLunL90u3H5AQCnKIkk+hu6qWyuU6eJLj8QgOf82JqZcueFQxFI/8Ahlv/Y3yfdDm5RfrpsgQKBgQDXT9v9inqZPYgQqTOfZwgtU9WLcuO3e8RaKZ8NUl67Y+M4iKoYoms9ZdBFDPdj5BAygncZpTv4wrJ5Fj1gVeuBMWwmf34WkopQwXt+GbmNHPVFe12XzjkyJBGE3dOG3k0hAadWIw4O2Ipx0IqQFzQdiNCU1cSCQKBgQCbQH1260iD0PF/tNvYyq/YDe+I9+NrPgSe6f0gTOSFFo/Ni04T23vxCSdSt8mDlCULx71hxkr7uNYReUCI/ujXijlgyI/MOmd1AsDEfYceBXkEsOVjC4Zf4zYyvqqTArDdS6Hsn+Y3rwwEBa+hhTLvraCHZddbjbY7rlJttQKBgQCT2OiM/ywUUeY+2pJ5aO4FEnAg7hdKwSbKY3v+ynB8kugBq750tcUoGTQVohPaY/y8j1uIfN/pj/bCOTAP/mtrdodEd8ceN+dxXheZ8YcQgwQk7E+tvm4rMH1WGzJ/2KyiTu8AgF/Cd4791L3/NyNdwSLil9vrlwQKBgQCNBsvxllDMzKRTKWr7R0Lss9v/Q45mAHQaFttE2BRNgO0n/X7zMtEnZvU9go2e5JeyV8KEaqf6eTCbtnNnN0VXFwOo+zl7kP5fz5UMz1izUQgxdKD7sI208MmtZAvznhe47V1TDqYxq0KvNi4y64FAgwEuuMqiqFdSP6g4ecQKBgCF4KzJxe0n+intzTGKgt4a8sBDeyjUIPjU3/ujGXbYWzgmHUFtHOIgTMCs8kmkJlI+xgjqnCUNicIr0hfkjtRGTw6Tw0MqDFX1/EfDJp2spv2rQDMZyKCJZwZ2QyZNz2yYdm1ukzxbJI/conKUSsujdhKEZZhchv2MWl2moscwn";
    private String alipayPublicKey="MIIBIjANBgkqhkiG9QEFAAOCAQ8AMIIBCgKCAQEAhsM/TnpIff7e39eqsCLQwI8fBQ+5lYcFjOrSw7p0ZsMETXXAS677MZTKw5JyHVTieg79708qvaYWZ58jYuViTqpBCnot+cEOnEZcfP3TxeKReAH379bHUVQOz7h3uH0eDcFmi3GjwPBB9lmcJdTI6qD/XObiWJID1e+XYzVgNKC+DXfJ2YN8NEuyRH5Zr862s3C6xd8BAYU1VW9ZfyAssQxILCOwQZ0qDOOq48GAhzDWwPG8oteJX7+lcH1TrnG01SmPiZqkHX6uUW2ye+fZkbW9qjtyujNnADIWNb/D1R2qgAcHsuOVV4hniRQIDAQAB";

    //创建订单接口
    @ResponseBody
    @GetMapping("/create")
    public String create(){
    
    

        //创建连接
        AlipayClient alipayClient = new DefaultAlipayClient(serverUrl,appId,privateKey,"json", "UTF-8",alipayPublicKey,"RSA2");
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();

        //订单信息
        JSONObject bizContent = new JSONObject();
        bizContent.put("out_trade_no", "202100012260165");
        bizContent.put("total_amount", 5.00);
        bizContent.put("subject", "测试");
        bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");

        request.setBizContent(bizContent.toString());

        AlipayTradePagePayResponse response = null;
        try {
    
    
            response = alipayClient.pageExecute(request);
        } catch (AlipayApiException e) {
    
    
            e.printStackTrace();
        }
        if(response.isSuccess()){
    
    

            //成功
            return  response.getBody();
        } else {
    
    
            //失败
           return  "调用失败";
        }
    }
}

構成パラメーターに注意してください。

  • serverUrl パラメータの値:

2023011006

  • appId パラメータの値:

2023011007

  • privateKey と alipayPublicKey の値:

2023011008
2023011009

パラメータ値を設定したら、springboot プロジェクトを開始します。ここで設定された tomcat は、ポート 8080 を使用します。

2023011010

起動が成功したら、ブラウザーを開いて、上記で記述したインターフェイス アドレスにアクセスします: http://localhost:8080/pay/create , Alipay インターフェイスが表示され、成功を示します. 失敗した場合は、構成されたパラメーターを確認してください!

ここに画像の説明を挿入

3. イントラネットへの浸透

SDK を呼び出して支払い注文を作成する上記のサービスは、ローカルで実行されます. 制限は、ローカル プロジェクトのみが支払いをテストするためのインターフェイスを呼び出すことができるということです. リモートで呼び出したい場合は、サービスをパブリック ネットワークに公開する必要があります.

Cpolar は、http/https/tcp プロトコルをサポートし、トラフィックを制限せず、操作が簡単で、パブリック ネットワーク IP を必要とせず、ルーターを必要とせず、サービスをパブリック ネットワーク アクセスに簡単に公開できるイントラネット侵入ツールです。

cpolar公式サイト: https: //www.cpolar.com/

3.1 cpolar イントラネット侵入のダウンロードとインストール

cpolar 公式 Web サイトにアクセスし、アカウントを登録して、cpolar クライアントをダウンロードしてインストールします。詳細については、ドキュメントのチュートリアルを参照して、ダウンロードしてインストールしてください。

20230116162253

3.2 トンネルを作成する

cpolar が正常にインストールされたら、ブラウザーでローカル ポート 9200 にアクセスし、Cpolar の Web UI インターフェイス ( http://localhost:9200 )にログインします。

左側のダッシュボードの [Tunnel Management] - [Create Tunnel] をクリックします。Tomcat ではポート 8080 が設定されているため、ポート 8080 を指す http トンネルを作成する必要があります。

  • トンネル名: カスタマイズできます。既存のトンネル名と重複しないように注意してください
  • プロトコル: http プロトコル
  • ローカルアドレス: 8080
  • ドメイン名の種類: ランダムなドメイン名を無料で選択
  • 地域: 中国トップを選択

クリック创建

2023011012

左側のダッシュボード (オンライン トンネルのリスト) のステータスをクリックします。作成したばかりのトンネルが、対応するパブリック ネットワーク アドレス、1 つの http プロトコル、1 つの https プロトコル (ssl 証明書を構成する面倒な手順なし) を生成し、設定したことを確認できます。コピーする

2023011013

4. パブリック ネットワーク アクセスをテストする

ブラウザーを開き、公网地址+接口路径アクセスするためにコピーしたものを入力すると、アクセスが成功したことを示す Alipay ページが表示されます。

20230116161201

ここに画像の説明を挿入

5. 固定の第 2 レベルのサブドメイン名を構成する

cpolar を使用して作成された上記のトンネルは、ランダムなパブリック ネットワーク アドレスを使用するため、アドレスは 24 時間以内に変更され、長期的なリモート アクセスには適していません。したがって、固定アドレスであり、ランダムに変更されない第 2 レベルのサブドメイン名を構成できます [ps: cpolar.cn が提出されました]。

cpolar パッケージは基本パッケージ以上にアップグレードする必要があることに注意してください。[cpolar.cn が提出されました]

5.1 第 2 レベルのサブドメインを予約する

Cpolar の公式 Web サイトにアクセスし、cpolar の公式 Web サイトのバックグラウンドにログインし、左側の [予約済み] をクリックして、予約済みの第 2 レベルのサブドメイン名を見つけます。

  • 地域: 中国 VIP を選択
  • 第 2 レベル ドメイン名: カスタマイズ可能
  • 説明: カスタマイズ可能な備考

クリック保留

2023011015

サブドメイン名が正常に予約されたことを確認し、予約済みの第 2 レベルのサブドメイン名をコピーします

2023011016

5.2 第 2 レベルのサブドメイン名を構成する

http://127.0.0.1:9200/にアクセスし、cpolar Web UI 管理インターフェイスにログインし、左側のダッシュボードでトンネル管理 - トンネル リストをクリックし、支払いインターフェイス テスト トンネルを見つけて、右側の [編集] をクリックします。

2023011017

トンネル情報を変更し、正常に予約された第 2 レベルのサブドメイン名をトンネルに構成します

  • ドメイン名の種類: 第 2 レベルのサブドメイン名を選択します
  • サブドメイン: 予約済みのサブドメイン名を入力します

クリック更新

2023011018

更新後、再度オンライン トンネル リストを開くと、トンネルが固定の第 2 レベルのサブドメイン名になっていることがわかります。ドメイン名をコピーします。

2023011019

6. アクセスには固定の第 2 レベルのサブドメイン名を使用する

ブラウザーを開き、アクセスが正常に構成された構成を入力する固定二级子域名+接口路径と、Alipay ページが表示され、アクセスが成功したことが示されます。

ここに画像の説明を挿入

アカウント名と支払いパスワードのテストを入力し、コンソールにログインしてアカウント名と支払いパスワードを表示します

2023011021

支払い用のテスト アカウントの残高を選択すると、支払いパスワードがコンソールに表示されます

ここに画像の説明を挿入

2023011023

支払い完了

2023011024

おすすめ

転載: blog.csdn.net/qq_43289447/article/details/130191693