WWPPlugin_PaymentechPlugin

The following code is the profile that is provided in WebSphere Commerce for Paymentech.

The plug-in deployment descriptor for the Payment plug-in is in the following directory:

  • WC_eardir/xml/config/payments/ppc/plugins/PaymentechPlugin/PluginDeployment
<?xml version="1.0" encoding="UTF-8"?>
<!--
===================================================================================================  
This is the plug-in deployment descriptor for the Paymentech plugin
====================================================================================================
-->
<Plugin xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation="../PaymentPlugin.xsd">
<!--
===================================================================================================  
<PluginInformation> includes all the information and configurations for paymentech Plug-in. It includes the following attributes:  
jndi: The Java Naming and Directory Interface (JNDI) lookup name for the home interface of the paymentech plug-in's stateless session bean.   
home:       The fully qualified name of the home interface for the paymentech plug-in's stateless session bean.  
name:       The name of the paymentech plug-in.  
version:    The version of the paymentech plug-in implementation.  
vendor:     The vendor providing the paymentech plug-in implementation.  
independentCredit: Indication of whether the plug-in supports  independent credits. PaymentechPlugin does not support independent  credit.  
virtualTerminal: The URL of the payment back-end system administration user interface. 
==================================================================================================== -->  
<PluginInformation         
      jndi="ejb/com/ibm/commerce/payments/plugin/paymentech/beans/PaymentechPluginHome"        
      home="com.ibm.commerce.payments.plugin.paymentech.beans.PaymentechPluginHome"      
      name="PaymentechPlugin"       
      version="1.0.0"       
      vendor="IBM"      
      independentCredit="false"       
      virtualTerminal="none">       
<!--      
If doDNSLookup=false,onlineHost and batchHost should be the IP address of the PaymentechHost(e.g. 192.168.10.1).       
If onlineHost and batchHost are something like  "paymentech.ibm.com.cn",and if you want to check if the domain name is valid       
and UnknownHostException be thrown if the domain name is not valid, set doDNSLookup to "true".        
If doDNSLookup=false and the host name is an invalid domain name, exception will be thrown when the system tries to connect to the back end.      
-->    
<PluginProperty name="onlineHost" value="9.186.108.147"/>    
   <PluginProperty name="onlinePort" value="1236"/>    
   <PluginProperty name="batchHost" value="9.186.108.147"/>    
   <PluginProperty name="batchPort" value="1237"/>    
   <PluginProperty name="doDNSLookup" value="false"/>
<!--
1.The combination of the readTimeout and the readRetries should never equal or exceed 3 minutes. For example, if the readTimeout is specified as 60 seconds, and the
readRetries is  specified as 3, then the combined timeout value would be 3 minutes.
2. To ensure good performance and throughput, keep the ReadTimeout as low as possible. It is recommended that the readTimeout be specified as 15 seconds or less. 
3. The RFRDelayTime should be specified as a minimum of 10 minutes.
4. connectRetries and connectInterval is used to control the attempt times  and interval when trying to establish a socket connection to paymentech. 
   The suggested connectInterval is not less than 15 seconds. 
=========================
|Parameters       | unit  |
|=========================|
|RFRDelayTime     | minute|
|=========================|
|readTimeout      | second|
|=========================|
|attemptInterval  | minute|
|=========================|
|connectInterval  | second| 
 =========================
-->   
    <PluginProperty name="RFRDelayTime" value="10"/>    
    <PluginProperty name="connectInterval" value="15"/>    
    <PluginProperty name="connectRetries" value="3"/>    
    <PluginProperty name="readRetries" value="3"/>    
    <PluginProperty name="readTimeout" value="30"/>    
    <PluginProperty name="maxBatchSize" value="2000"/>    
    <PluginProperty name="minBatchSize" value="100"/>    
    <PluginProperty name="maxAttempts" value="3"/>    
    <PluginProperty name="attemptInterval" value="3"/>     
     <!--The is an extention point for the logic of determine card brand from the card number. It can be changed to other implementation instead of this       
  out-of-the-box one. Refer to com.ibm.commerce.payments.plugin.paymentech.util.CreditCardUtilInterface for more information.-->       
    <PluginProperty name="CardBrandUtilClass" value="com.ibm.commerce.payments.plugin.paymentech.util.CreditCardUtil"/>
<!-- ===================================================================================================  
  (Optional)   
  <ProtocolProperties> defines the name of the keywords that should be retained in the WebSphere Commerce  
  database for paymentech plug-in. Protocol properties are specified inside a <ProtocolProperties> element (more  
  than one can be specified). Include the optional attribute keep="true" to retain the data for this   
  keyword in the database.
==================================================================================================== -->    
      
<ProtocolProperties>
    		<!-- Below comments about Max length are specified by Paymentech side. -->
  			<ProtocolProperty name="card_number" keep="true"/>
			<!--Max Length is: 19 -->
  			<ProtocolProperty name="account" keep="true"/>
  			<ProtocolProperty name="cc_brand" keep="true"/>
  			<ProtocolProperty name="expire_month" keep="true"/>
  			<ProtocolProperty name="expire_year" keep="true"/>
  			<ProtocolProperty name="billto_firstname" keep="true"/>
  			<ProtocolProperty name="billto_middlename" keep="true"/>
  			<ProtocolProperty name="billto_lastname" keep="true"/>
  			<!--Max Length is: 30 -->
  			<ProtocolProperty name="billto_address1" keep="true"/>
  			<!--Max Length is: 28 -->
  			<ProtocolProperty name="billto_address2" keep="true"/>
  			<!--Max Length is: 20 -->
  			<ProtocolProperty name="billto_city" keep="true"/>
  			<!--Max Length is: 2 -->
  			<ProtocolProperty name="billto_stateprovince" keep="true"/>
  			<!--Max Length is: 10 -->
  			<ProtocolProperty name="billto_zipcode" keep="true"/>
  			<!--Max Length is: 2 -->
  			<ProtocolProperty name="billto_country" keep="true"/>
  			<!--Max Length is: 40 -->
  			<ProtocolProperty name="cc_xid" keep="true"/>
  			<!--Max Length is: 40 -->
  			<ProtocolProperty name="cc_cavv" keep="true"/>
  			<!--This is used to indicate if the VBV is success, fail, or attempted but no authentication. 
  			Possible value for vbvResult: success, fail, attempt-->
  			<ProtocolProperty name="vbvResult" keep="true"/>
  			<ProtocolProperty name="cc_cardsecuritypresence" keep="true"/>
  			<ProtocolProperty name="cc_cardvalue2" keep="true"/>
  			<!--Max Length is: 14 -->
  			<ProtocolProperty name="billto_phone_number" keep="true"/>
  			<!--Max Length is: 1 -->
  			<ProtocolProperty name="billto_telephone_type" keep="true"/>
 		</ProtocolProperties>        
    </PluginInformation>
  </Plugin>