Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

5年前关闭。



Improve this question




我想将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 :
<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 url仅用于测试目的,由paytm开发支持团队提供。您需要在自己的服务器上生成它以重定向相应的URL。

关于java - 如何将Paytm钱包集成到Android应用程序中? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30069644/

10-09 07:27