【发布时间】:2019-02-22 02:36:19
【问题描述】:
我正在使用以下 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 帐户,仅用于测试目的,还没有设置业务资料、泛号和数据。这可能是原因吗?但在文档中,没有编写此类信息来作为开发人员入门。
我得到了错误 toast 发生了一些错误。但无法找到错误原因。评论如果有人可以帮助解决这个问题。
提前致谢。
【问题讨论】:
-
任何堆栈跟踪?
-
与此无关,只是祝酒词发生了一些错误。
-
读取种子文件“/data/data/com.payu.example/app_webview/variations_seed_new”失败:/data/data/com.car.payu.example/app_webview/variations_seed_new:打开失败:ENOENT (没有这样的文件或目录)
-
@Alien 你能帮忙吗
标签: payment-gateway payment payumoney payu