当前位置: 首页 > 面试题库 >

如何将Paytm钱包集成到Android应用程序中?

夏侯腾
2023-03-14
问题内容

我想将paytm钱包集成到我的android应用程序中。我在Google上发现了很多建议和文档,但没有任何效果。如果您知道任何文档,代码示例或有用的建议,请告诉我。提前致谢。


问题答案:

注意:以下是1.0版的内容,现在paytm更新了其sdk,因此您需要相应地进行更改。
转到链接:

http://paywithpaytm.com/developer/

并下载Android + SDK

将以下代码放在函数中或要在其中启动paytm的地方。

    private int randomInt = 0;
    private PaytmPGService Service = null;

    Random randomGenerator = new Random();
    randomInt = randomGenerator.nextInt(1000);
    //for testing environment   
    Service = PaytmPGService.getStagingService();
    //for production environment 
    /*Service = PaytmPGService.getProductionService();*/

    /*PaytmMerchant constructor takes two parameters
    1) Checksum generation url
    2) Checksum verification url
    Merchant should replace the below values with his values*/


PaytmMerchant Merchant = new PaytmMerchant("https://pguat.paytm.com/merchant-chksum/ChecksumGenerator","https://pguat.paytm.com/merchant-chksum/ValidateChksum");

    //below parameter map is required to construct PaytmOrder object, Merchant should replace below map values with his own values

    Map<String, String> paramMap = new HashMap<String, String>();

        //these are mandatory parameters
        paramMap.put("REQUEST_TYPE", "DEFAULT");
        paramMap.put("ORDER_ID", String.valueOf(randomInt));
        //MID provided by paytm
        paramMap.put("MID", "id provided by paytm");
        paramMap.put("CUST_ID", "CUST123");
        paramMap.put("CHANNEL_ID", "WAP");
        paramMap.put("INDUSTRY_TYPE_ID", "Retail");
        paramMap.put("WEBSITE", "paytm");
        paramMap.put("TXN_AMOUNT", "1");
        paramMap.put("THEME", "merchant");

        PaytmOrder Order = new PaytmOrder(paramMap);


Service.initialize(Order, Merchant,null);
        Service.startPaymentTransaction(activity, false, false, new PaytmPaymentTransactionCallback() {
        @Override
        public void onTransactionSuccess(Bundle bundle) {
            app.getLogger().error("Transaction Success :" + bundle);
        }

        @Override
        public void onTransactionFailure(String s, Bundle bundle) {
            app.getLogger().error("Transaction Failure :" + s + "\n" + bundle);
        }

        @Override
        public void networkNotAvailable() {
            app.getLogger().error("network unavailable :");
        }

        @Override
        public void clientAuthenticationFailed(String s) {
            app.getLogger().error("clientAuthenticationFailed :" + s);
        }

        @Override
        public void someUIErrorOccurred(String s) {
            app.getLogger().error("someUIErrorOccurred :" + s);
        }

        @Override
        public void onErrorLoadingWebPage(int i, String s, String s2) {
            app.getLogger().error("errorLoadingWebPage :" + i + "\n" + s + "\n" + s2);
        }
    });
    }

另外,您还需要在AndroidManifest.xml文件中声明一个活动:

<activity
            android:name="com.paytm.pgsdk.PaytmPGActivity"
            android:theme="@style/AppTheme"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden"/>

希望以上代码示例对您有帮助。还有另一件事是,当您下载Android +
SDK时,您将获得一个需要添加到项目中的jar文件pgsdk.jar文件和MainActivity.java类文件,以供我们参考。请享用!!!

注意:ChecksumGenerator和ValidateChksum网址仅供测试用途,由paytm开发支持团队提供。您需要在自己的服务器上生成它以重定向相应的URL。



 类似资料:
  • 我正在为我的客户开发一个android应用程序,他要求在应用程序中内置QR扫描仪。所以,我不希望用户不得不从GooglePlay下载另一个应用程序。换句话说,我不想从我的应用程序调用另一个QR扫描仪应用程序。我需要QR扫描仪内置在我的应用程序中。 我在github和这里的stackoverflow上读到了关于ZXing的信息。据我所知,将其QR扫描仪集成到应用程序中不是一个好主意。最好通过Inte

  • 我想在我的应用程序中引入一项新功能:永久语音识别。 首先,我关注以下帖子: 语音识别 Android中的语音识别 Android离线语音识别(JellyBean) 还有更多其他人,还有来自不同网站的其他帖子。 问题:实际上,我想做的是在不显示谷歌语音活动的情况下获得永久性的语音识别。例如:当我启动应用程序时,语音识别应该启动并收听。当识别器匹配一些单词时,我的应用程序将相应地执行不同的操作。我不喜

  • 问题内容: 我是Django的新手,而Ajax的新手。我正在一个需要将两者整合的项目中。我相信我理解它们背后的原理,但是并没有找到对两者的良好解释。 有人可以给我快速解释一下如何将两者集成在一起来更改代码库吗? 例如,我仍然可以将Ajax与一起使用,还是必须随着Ajax的使用而改变我的回答?如果是这样,请您举例说明如何更改请求的响应?如果有什么不同,我返回的数据是JSON。 问题答案: 即使这不完

  • 我对姜戈是个新手,对阿贾克斯也是个新手。我正在做一个项目,我需要整合这两个。我相信,我理解了它们背后的原理,但没有找到一个很好的解释两者在一起。 谁能给我一个快速的解释,代码库必须如何改变与他们两个集成在一起? 例如,我还能在Ajax中使用吗,或者我的响应必须随着Ajax的使用而改变吗?如果是,请提供一个对请求的答复必须如何改变的例子?如果有任何区别,我返回的数据是JSON。

  • 我有一些C语言的遗留程序,它们基于输入文件工作,结果进入输出文件。这两个文件都在程序参数中指定。因此,调用如下所示: 根据Artem Bilan的建议,我用下面的Spring配置文件创建了这个项目。它可以调用可执行文件!然而,我仍然存在出站通道的问题。首先,它不包含任何内容,我得到错误“不支持的消息负载类型”。其次,更重要的是,我需要用Java程序处理输出文件a.out。组织此工作流的最佳方式是什

  • 问题内容: 我是Django的新手,而Ajax的新手。我正在一个需要将两者整合的项目中。我相信我理解它们背后的原理,但是并没有找到对两者的良好解释。 有人可以给我快速解释一下如何将两者集成在一起来更改代码库吗? 例如,我仍然可以将与一起使用,还是必须随着Ajax的使用而改变我的回答?如果是这样,请你举例说明如何更改请求的响应?如果有什么不同,我返回的数据是JSON。 问题答案: 即使这不完全符合S