目次
3.1 cpolar イントラネットペネトレーションをダウンロードしてインストールする
6. アクセスには固定の第 2 レベルのサブドメイン名を使用する
1. テスト環境
- メイビン
- スプリングブーツ
- JDK 1.8
2. ローカル構成
Alipay 決済用 Java SDK を取得します。Maven プロジェクトの場合は、Maven のバージョンを選択できます。通常の Java プロジェクトは GitHub からダウンロードできます。ここでは Maven を例に説明します。
SDK のダウンロード アドレス: Ant Financial Open Platform-Document Center
最新の SDK バージョンを選択してください
Maven 座標をコピーし、Spring Boot プロジェクトの pom ファイルにインポートします。
開発ドキュメントを開きます: Mini Program Document-Alipay Document Center
これは、コンピューター Web サイトの支払い統合回収注文と支払いページのインターフェイスの単なる別のテストです。
デモンストレーションを容易にするインターフェイスを作成し、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 パラメータの値:
- appId パラメータの値:
- privateKey と alipayPublicKey の値:
パラメータ値を設定した後、springboot プロジェクトを開始します。ここで設定された Tomcat はポート 8080 を使用します。
起動が成功したら、ブラウザを開いて、上で書いたインターフェイス アドレスhttp://localhost:8080/pay/create にアクセスします。Alipay インターフェイスが成功を示しているように見えます。失敗した場合は、設定されたパラメーターを確認してください。
3. イントラネットの浸透
SDK を呼び出して支払い注文を作成する上記のサービスは、ローカルで実行されます。ローカル プロジェクトのみがテスト支払いインターフェイスを呼び出せるという制限があります。リモートで呼び出したい場合は、サービスをパブリック ネットワークに公開する必要があります。
Cpolar は、http/https/tcp プロトコルをサポートし、トラフィックを制限せず、操作が簡単で、パブリック IP アドレスやルーターを必要とせず、アクセスのためにサービスをパブリック ネットワークに簡単に公開できるイントラネット侵入ツールです。
cpolar 公式 Web サイト: cpolar - 安全なイントラネット侵入ツール
3.1 cpolar イントラネットペネトレーションをダウンロードしてインストールする
cpolar 公式 Web サイトにアクセスし、アカウントを登録し、cpolar クライアントをダウンロードしてインストールします。詳細については、ドキュメントのチュートリアルを参照してダウンロードしてインストールしてください。
3.2 トンネルの作成
cpolar が正常にインストールされたら、ブラウザーのローカル 9200 ポートにアクセスし、Cpolar の Web UI インターフェイスhttp://localhost:9200にログインします。
左側のダッシュボードで [トンネル管理] - [トンネルの作成] をクリックします。ポート 8080 が Tomcat で設定されているため、ポート 8080 を指す http トンネルを作成する必要があります。
- トンネル名: カスタマイズ可能。既存のトンネルの名前と重複しないように注意してください。
- プロトコル: httpプロトコル
- ローカルアドレス: 8080
- ドメイン名のタイプ: 無料でランダムなドメイン名を選択します
- 地域: 中国トップを選択
クリック创建
左側のダッシュボードのステータス - オンライン トンネル リストをクリックすると、作成したばかりのトンネルによって、対応するパブリック ネットワーク アドレス、http プロトコル、および https プロトコルが生成されたことがわかります (SSL 証明書を構成する面倒な手順を回避できます)。真似して考えてみる
4. パブリック ネットワーク アクセスをテストする
ブラウザを開き、コピーしたコードを入力して公网地址+接口路径
アクセスすると、アクセスが成功したことを示す Alipay ページが表示されます。
5. 固定の第 2 レベルのサブドメイン名を構成する
上記の cpolar を使用して作成されたトンネルはランダムなパブリック ネットワーク アドレスを使用するため、アドレスは 24 時間以内に変更され、長期的なリモート アクセスには適していません。したがって、第 2 レベルのサブドメイン名を設定できます。このアドレスは固定アドレスであり、ランダムに変更されることはありません [ps: cpolar.cn がファイルされています]
cpolar パッケージを基本パッケージ以上にアップグレードする必要があることに注意してください。[cpolar.cnが登録されました]
5.1 第 2 レベルのサブドメイン名の予約
Cpolar 公式 Web サイトにアクセスし、cpolar 公式 Web サイトのバックエンドにログインし、左側の [予約] をクリックして、予約された第 2 レベルのサブドメイン名を見つけます。
- 地域: 中国 VIP を選択
- 第 2 レベルのドメイン名: カスタマイズ可能
- 説明: カスタマイズ可能なメモ
クリック保留
サブドメイン名が正常に予約されたことを示すプロンプトが表示され、予約された第 2 レベルのサブドメイン名をコピーします
5.2 第 2 レベルのサブドメイン名の構成
http://127.0.0.1:9200/にアクセスし、cpolar Web UI 管理インターフェイスにログインし、左側のダッシュボードで [トンネル管理 - トンネル リスト] をクリックし、支払いインターフェイスのテスト トンネルを見つけて、右側の [編集] をクリックします。
トンネル情報を変更し、正常に予約された第 2 レベルのサブドメイン名をトンネルに構成します。
- ドメイン名のタイプ: 第 2 レベルのサブドメイン名を選択します
- サブドメイン: 正常に予約された第 2 レベルのサブドメイン名を入力します。
クリック更新
更新後、再度オンライン トンネル リストを開くと、トンネルが固定の第 2 レベルのサブドメイン名になっていることがわかりますので、ドメイン名をコピーします。
6. アクセスには固定の第 2 レベルのサブドメイン名を使用する
ブラウザを開いて、アクセスできるように構成した設定を入力すると固定二级子域名+接口路径
、アクセスが成功したことを示す Alipay ページが表示されます。
テストするにはアカウント名と支払いパスワードを入力し、アカウント名と支払いパスワードを使用してコンソールにログインして表示します。
支払いを行うテスト アカウントの残高を選択します。支払いパスワードはコンソールに表示されます。
支払い完了
cpolar ポール クラウドの記事からの転載: Java Alipay サンドボックス環境の支払い、SDK インターフェイスのリモート デバッグ [イントラネットの浸透]