Я использую следующий код Java для запуска платежного шлюза
String hashKey = hashCal(MERCHANT_KEY + "|" + String.valueOf(System.currentTimeMillis()) + "|" + Double.parseDouble("1") + "|" + "productName" + "|" + FIRST_NAME + "|" + EMAIL + "|" + "" + "|" + "" + "|" + "" + "|" + "" + "|" + "" + "|" + salt);
PayUmoneySdkInitializer.PaymentParam.Builder builder = new PayUmoneySdkInitializer.PaymentParam.Builder();
builder.setAmount(Double.parseDouble("1"))
.setTxnId(String.valueOf(System.currentTimeMillis()))
.setPhone(Constants.MOBILE)
.setProductName("productName")
.setFirstName(FIRST_NAME)
.setEmail(EMAIL)
.setsUrl(SURL)
.setfUrl(FURL)
.setUdf1("")
.setUdf2("")
.setUdf3("")
.setUdf4("")
.setUdf5("")
.setIsDebug(DEBUG)
.setKey(MERCHANT_KEY)
.setMerchantId(MERCHANT_ID);
final PayUmoneySdkInitializer.PaymentParam paymentParam = builder.build();
paymentParam.setMerchantHash(hashKey);
String url = Constants.MONEY_HASH;
PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, this, R.style.AppTheme, true);
Для вычисления ключа хеша только в Java, я использую следующий код:
public static String hashCal(String str) {
byte[] hashseq = str.getBytes();
StringBuilder hexString = new StringBuilder();
try {
MessageDigest algorithm = MessageDigest.getInstance("SHA-512");
algorithm.reset();
algorithm.update(hashseq);
byte messageDigest[] = algorithm.digest();
for (byte aMessageDigest : messageDigest) {
String hex = Integer.toHexString(0xFF & aMessageDigest);
if (hex.length() == 1) {
hexString.append("0");
}
hexString.append(hex);
}
} catch (NoSuchAlgorithmException ignored) {
}
return hexString.toString();
}
Пожалуйста, дайте мне знать, если я делаю какую-то ошибку в коде или иным образом.
Я использую библиотеку payUmoney:
implementation 'com.payumoney.sdkui:plug-n-play:1.2.0'
И я недавно создал свою учетную запись payUmoney только для целей тестирования и не настроил бизнес-профиль, номер панорамы и данные. Может ли это быть причиной? Но в документации нет такой информации, чтобы начать как разработчик.
Я получил тост за ошибку Произошла какая-то ошибка. но не смог найти причину ошибки. Комментарий Если кто-то может помочь с этой проблемой.
Заранее спасибо.