Android - Paytm 支付网关集成问题:多次定义类型 com.paytm.pg.AppTest

Android - Paytm payment gateway integration Issue : Type com.paytm.pg.AppTest is defined multiple times

我正在尝试将 Paytm 集成到我的 android 应用程序中,

当我尝试根据 https://developer.paytm.com/docs/initiate-transaction-api/ 中的文档启动交易 API 时,我收到此错误:

Type com.paytm.pg.AppTest is defined multiple times: /home/gowthamn/.gradle/caches/transforms-2/files-2.1/80727521e63bd8147327c9aae576f6b7/jetified-PaytmChecksum.jar:com/paytm/pg/AppTest.class, /home/gowthamn/.gradle/caches/transforms-2/files-2.1/80727521e63bd8147327c9aae576f6b7/jetified-PaytmChecksum.jar:target/test-classes/com/paytm/pg/AppTest.class.

我在代码中所做的更改如下所述:

我在应用级别 build.gradle 添加了 implementation 'com.paytm.appinvokesdk:appinvokesdk:1.2'

我在项目级别 build.gradle

添加了 maven { url "https://artifactory.paytm.in/libs-release-local" }

还有 paytmchecksum.jar 来自 https://github.com/Paytm-Payments/Paytm_Web_Sample_Kit_Java/tree/master/Java%20Kit%201.8 的文件

我在 google 中搜索过这个错误。有人建议删除 paytmchecksum.jar 文件。

但是如果我删除 jar 文件,我在用于生成校验和的代码中找不到 CheckSumServiceHelper.java

经过长时间的研究,我发现无法从 android 本地生成 CHECKSUM。

不知道原因,但是当我使用 xampp 生成 CHECKSUM 时,它起作用了。

不建议在App端生成校验和,应在服务器端生成校验和。

根据 paytm 官方文档,init_transaction 令牌必须仅在您的服务器上生成。

第二,您不需要添加 checksum.jar 文件,因为校验和和交易令牌都不同。在 paytm All-in-one SDK 中,您需要获取交易令牌而不是校验和。

所以请使用您的服务器生成交易令牌。 您可以从 here

获取生成交易令牌 php 代码和 android 代码