我几乎是集成的paytm支付网关,其中包含以下this link
paytm支付网关集成中的客户端证书是什么?他们提到它应该包含在原始文件夹中。我在哪里可以获得客户端证书?
仅供参考:即使在the sample paytm integration app
中也不包含客户端证书答案 0 :(得分:2)
您可以将其传递为null。它也在文档中提到
inCertificate是持有证书信息的对象。 如果商家没有使用客户端证书,则将其传递为null(如 在上面的先决条件部分中给出了)
答案 1 :(得分:0)
我建议您使用PGSDK 2.0而不是旧版本,不需要任何客户端证书
----------
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
PaytmButton.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
getPaytmWindow() ;
}
} );
}
}
private void getPaytmWindow(String checksum) {
//use PaytmPGService Service = PaytmPGService.getProductionService();in production//
PaytmPGService Service = PaytmPGService.getStagingService();
//Kindly create complete Map and checksum on your server side and then put it here in paramMap.
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put( "MID", abc14146028455452" );
paramMap.put( "ORDER_ID", "GTR6079" );
paramMap.put( "CUST_ID", "1132" );
paramMap.put( "INDUSTRY_TYPE_ID", "Retail" );
paramMap.put( "CHANNEL_ID", "WAP" );
paramMap.put( "TXN_AMOUNT", "76" );
paramMap.put( "WEBSITE", "APP_STAGING" );
paramMap.put( "EMAIL", "test@gmail.com" );
paramMap.put( "MOBILE_NO", "7777777777" );
paramMap.put( "CALLBACK_URL", "https://pguat.paytm.com/paytmchecksum/paytmCallback.jsp" );
paramMap.put( "CHECKSUMHASH", "DkrZCCNCKS0h4IbLEk8HWqTClr6PCK/+Zh3xyW7fXfOsfHsmhmt3/wGx5pxgWrCSNCObPHyYFE3VJob0v7QQdkBFNyNAO7CR2+e2BiVgQpM=" );
PaytmOrder Order = new PaytmOrder( paramMap );
Service.initialize( Order, null );
Service.startPaymentTransaction( this, true, true,
new PaytmPaymentTransactionCallback() {
@Override
public void someUIErrorOccurred(String inErrorMessage) {
// Some UI Error Occurred in Payment Gateway Activity.
// // This may be due to initialization of views in
// Payment Gateway Activity or may be due to //
// initialization of webview. // Error Message details
// the error occurred.
Log.d( "LOG123444", "someUIErrorOccurred : " + inErrorMessage );
}
@Override
public void onTransactionResponse(Bundle inResponse) {
Log.d( "LOG123444", "Payment Transaction : " + inResponse );
if (inResponse.getString( "STATUS" ).contains( "TXN_SUCCESS" ))
{
Toast.makeText(getApplicationContext(),"Transaction completed",Toast.LENGTH_LONG).show();
}
Log.i( "LOG123444", inResponse.getString( "STATUS" ) );
// Toast.makeText( getApplicationContext(), "Payment Transaction response " + inResponse.toString(), Toast.LENGTH_LONG ).show();
}
@Override
public void networkNotAvailable() {
// If network is not
// available, then this
// method gets called.
}
@Override
public void clientAuthenticationFailed(String inErrorMessage) {
// This method gets called if client authentication
// failed. // Failure may be due to following reasons //
// 1. Server error or downtime. // 2. Server unable to
// generate checksum or checksum response is not in
// proper format. // 3. Server failed to authenticate
// that client. That is value of payt_STATUS is 2. //
// Error Message describes the reason for failure.
Log.i( "LOG123444", "clientAuthenticationFailed " + inErrorMessage );
}
@Override
public void onErrorLoadingWebPage(int iniErrorCode,
String inErrorMessage, String inFailingUrl) {
Log.i( "LOG", "inErrorMessage " + inErrorMessage );
Log.i( "LOG", "inFailingUrl " + inFailingUrl );
}
// had to be added: NOTE
@Override
public void onBackPressedCancelTransaction() {
// TODO Auto-generated method stub
}
@Override
public void onTransactionCancel(String inErrorMessage, Bundle inResponse) {
Log.d( "LOG", "Payment Transaction Failed " + inErrorMessage );
Toast.makeText( getBaseContext(), "Payment Transaction Failed ", Toast.LENGTH_LONG ).show();
}
} );
}