Я предлагаю вам использовать 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", "[email protected]" );
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();
}
} );
}
person
Savad
schedule
10.10.2017