Способен показать рекламное предложение благодаря поддержке здесь, но после прохождения процесса оплаты, введя мой пароль и подтвердив покупку, я получаю всплывающее окно ошибки с надписью «Невозможно приобрести. Свяжитесь с разработчиком для получения дополнительной информации» < /strong> < /p>
. "(null)" < /strong> < /li>
[*] asdservererrordomain code = 3903 "Невозможно приобрести" < /strong> < /li>
< /ul>
Значения параметров, которые я передаю, string appbundleid + u20663 '\ u2063' + productIdentifier + '\ U2063' + seriveIdateifier + '\ u2063' + appaccounttoken + '\ u2063' + nonce + '\ u2063' + timestamp [/b]
appbundleid : com.my.my. /> keyIdentifier : скопировал идентификатор ключа из App Store Connect
[*] productientifier : product_identifier
[*] serfiedientifier : предложение_итив
appCountifier
nonce < /strong>: a uuid to lower crass < /li>
timestamp < /strong>: Unix TimeStamp < /li>
< /ul>
Как я генерирую подпись (Java) < /p>>
Как я генерирую подпись (Java) < /p>>
Как я генерирую подпись (Java) < /p>
./* promotionalOfferKey = value between "-----BEGIN PRIVATE KEY-----" and "-----END PRIVATE KEY-----" from the downloaded p8 file from App Store Connect associated with the keyIdentifier parameter above */
// stringToSign = the combined string above
byte[] encoded = Base64.getDecoder().decode(promotionalOfferKey);
KeyFactory keyFactory = KeyFactory.getInstance("EC");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encoded);
Signature ecdsaSign = Signature.getInstance("SHA256withECDSA");
ecdsaSign.initSign(keyFactory.generatePrivate(keySpec));
ecdsaSign.update(stringToSign.getBytes(StandardCharsets.UTF_8));
byte[] signature = ecdsaSign.sign();
signatureToReturn = Base64.getEncoder().encodeToString(signature);
< /code>
Что я делаю не так? Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/762 ... fer-errors