我想在我的Android应用程序中集成paytm钱包。我在Google上找到了很多建议和文档,但没有任何效果。如果您有任何文档,代码示例或有用的建议,请告诉我们。提前谢谢。
答案 0 :(得分:31)
注意:下面是版本1.0,现在paytm更新了他们的sdk,所以你需要相应地改变它。
转到链接:
并下载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。