【问题标题】:How to integrate paytm wallet in android application? [closed]如何在 Android 应用程序中集成 paytm 钱包? [关闭]
【发布时间】:2015-05-06 06:58:10
【问题描述】:

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

【问题讨论】:

标签: java android


【解决方案1】:

注意:以下是 1.0 版本,现在 paytm 更新了他们的 sdk,所以你需要相应地改变它。
转到链接:

http://paywithpaytm.com/developer/

并下载Android+SDK

把下面的代码放在你的函数或者你想开始支付的地方。

    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。

【讨论】:

  • 我如何获得商家校验和 URL,或者我可以使用代码中给出的给定校验和 URL。仅需要 Merchant id 或校验和 url 和商家等所有内容,均由 Paytm 提供
  • 联系 paytm 开发支持团队,他们将为您提供校验和生成和校验和验证码,包括商家 ID 和您需要在服务器中部署的所有必要内容。
  • 我无法重定向到 verifychecksum 页面。交易后,它重定向到 paytm.com 页面。这里有什么问题有什么想法吗?
  • @MihirShah 你知道什么是商家校验和网址吗?
  • 这是针对 1.0 版本的,在 2.0 版本中我们不能在 Service.initialize 方法中传递 PaytmMerchant 对象。
猜你喜欢
  • 2015-03-20
  • 2016-03-27
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
  • 2015-07-23
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多