【发布时间】:2020-04-20 09:07:46
【问题描述】:
我正在尝试为我们的 Android 应用集成 paytm。
新的 PaytmOrder 对象需要 checksumhash 作为参数。
为了生成校验和哈希,我们使用的是 paytm 推荐的 jar 文件。
https://github.com/Paytm-Payments/Paytm_Google_App_Engine_Kit
我们已经在我们的 lib 文件夹中添加了这个 jar。
implementation files('src/main/libs/pg-checksum-1.0-jar-with-dependencies.jar')
这是用于在我们的 android 应用中生成校验和哈希的代码。
try{
String checkSum = CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum("7MTqfy715ot231CT", convertToTreeMap(paramMap));
paramMap.put("CHECKSUMHASH" , checkSum);
System.out.println("Paytm Payload: "+ paramMap);
}catch(Exception e) {
e.printStackTrace();
}
但我们在尝试获取校验和哈希时遇到以下异常。
System.err: java.security.NoSuchProviderException: No such provider: SunJCE
2020-01-01 11:32:33.581 26112-26112 W/System.err: at javax.crypto.Cipher.getInstance(Cipher.java:671)
2020-01-01 11:32:33.581 26112-26112 W/System.err: at com.paytm.pg.crypto.AesEncryption.encrypt(AesEncryption.java:34)
2020-01-01 11:32:33.581 26112-26112/System.err: at com.paytm.pg.merchant.CheckSumServiceHelper.genrateCheckSum(CheckSumServiceHelper.java:53)
【问题讨论】:
-
你有解决办法吗?
-
@ManishKumawat 查看我的答案。尝试从您的应用程序服务器获取哈希映射值。不要尝试在本地生成校验和哈希
标签: android payment-gateway paytm