android 中 paytm 支付网关集成中的客户端证书是什么?
what is Client side certificate in paytm payment gateway integration in android?
我和下面的paytm支付网关差不多集成了this link
paytm 支付网关集成中的客户端证书是什么?他们提到它应该包含在原始文件夹中。我在哪里可以获得 客户端证书?
仅供参考:即使在 the sample paytm integration app
中也不包含客户端证书
您可以将其作为 null 传递。文档中也提到了
inCertificate is the Object which is holding Certificate Information.
Pass this as null if no client certificate is used by the merchant (as
given above in the Prerequisites section)
我建议您使用 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();
}
} );
}
我和下面的paytm支付网关差不多集成了this link
paytm 支付网关集成中的客户端证书是什么?他们提到它应该包含在原始文件夹中。我在哪里可以获得 客户端证书?
仅供参考:即使在 the sample paytm integration app
中也不包含客户端证书您可以将其作为 null 传递。文档中也提到了
inCertificate is the Object which is holding Certificate Information. Pass this as null if no client certificate is used by the merchant (as given above in the Prerequisites section)
我建议您使用 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();
}
} );
}