私はadyen hppページを統合しようとしています。私は基本的に、githubの例のような同じコードを使用します。https://github.com/Adyen/adyen-java-sample-code/blob/master/src/com/adyen/examples/hpp/CreatePaymentOnHpp_SHA_256.javaadyen HPP統合
その例では、私はちょうど私のデータにmerchantAccount、skinCodeとhmacの秘密コードを設定しました。
は、さらに私は、HMAC計算のためのテストのURLを作成するために、いくつかのコードを追加:
String queryString = params.keySet().stream()
.map(key -> {
try {
return key + "=" + URLEncoder.encode(params.get(key), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "Error: could not URL-encode value";
}).collect(Collectors.joining("&"));
String testUrl = "https://ca-test.adyen.com/ca/ca/skin/checkhmac.shtml" + "?" + queryString;
System.out.println(testUrl);
私もHPPのURLを作成するために、いくつかのコードを作成しました。
URIBuilder b = new URIBuilder(hppUrl);
for (Map.Entry<String, String> entry : params.entrySet()) {
b.addParameter(entry.getKey(), URLEncoder.encode(entry.getValue(), "UTF-8"));
}
return b.build().toString();
したがって、testUrlは常に正しいため、HMACの計算は正しいようです。 しかし、生成されたhppのリンクをクリックすると、HMACの計算をチェックする必要があるというエラーが表示されます。
私は誰かが私にそれを修正する方法についてのヒント