Advanced orders How the SimpleOffline plug-in works

The SimpleOffline plug-in implements the Payment plug-in specification. As provided, the SimpleOffline plug-in supports a variety of payment methods:

An XML file, SimpleOfflinePlugin.xml, contains a list of the unique parameters (plug-in properties) required for each supported payment method and for communication with the payment back-end system. The SimpleOfflinePlugin.xml file defines the required parameters for the payment methods supported in the different payment configurations, the length limitations of these parameters, and whether payments or credits should remain in a pending state when the payment transaction occurs successfully. Other parameters can be added if necessary to support unique payment method requirements, as long as they are defined in an event-driven payments configuration.

If you need to record the approval decision made offline for a payment method (such as for the credit card payment methods), you can configure the SimpleOffline plug-in to keep the transaction in a pending state to prevent the order from being filled. If you consider the overall risk to be acceptable for a payment method (such as for COD, BillMe, or PayLater methods) the SimpleOffline plug-in can be configured to not have the transaction pend for manual approval. You can set an attribute (keepPendingStatus) in the SimpleOfflinePlugin.xml file to specify whether the transactions for a payment method should be kept in pending state for a manual review or not.

The following XML file example is provided here as an illustration of the SimpleOfflinePlugin.xml file. The file can be modified or extended to support the payment methods required by a store. Plug-in writers can use this example to understand how to create a comparable file.

SimpleOfflinePlugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<PaymentMethods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PaymentMethod.xsd">
  <PaymentMethod name="VISA" paymentConfiguration="default" keepPendingStatus="true">
    <Property name="account" minLength="1" maxLength="16" />
    <Property name="cc_brand"/>
    <Property name="expire_month"/>
    <Property name="expire_year"/>
  </PaymentMethod>
  <PaymentMethod name="MASTERCARD" paymentConfiguration="default" keepPendingStatus="true">
    <Property name="account"/>
    <Property name="cc_brand"/>
    <Property name="expire_month"/>
    <Property name="expire_year"/>
  </PaymentMethod>
  <PaymentMethod name="AMEX" paymentConfiguration="default" keepPendingStatus="true">
    <Property name="account"/>
    <Property name="cc_brand"/>
    <Property name="expire_month"/>
    <Property name="expire_year"/>
  </PaymentMethod>
  <PaymentMethod name="COD" paymentConfiguration="default" keepPendingStatus="false">
    <Property name="billto_address1"/>
    <Property name="billto_address2"/>              
    <Property name="billto_address3"/>              
    <Property name="billto_city"/> 
    <Property name="billto_stateprovince"/>
    <Property name="billto_zipcode"/>
    <Property name="billto_country"/>             
  </PaymentMethod>
 <PaymentMethod name="BillMe" paymentConfiguration="default" keepPendingStatus="false">
    <Property name="billto_address1"/>
    <Property name="billto_address2"/>              
    <Property name="billto_address3"/>              
    <Property name="billto_city"/> 
    <Property name="billto_stateprovince"/>
    <Property name="billto_zipcode"/>
    <Property name="billto_country"/>
 </PaymentMethod>
 <PaymentMethod name="PayLater" paymentConfiguration="default" keepPendingStatus="false">
    <Property name="billto_address1"/>
    <Property name="billto_address2"/>              
    <Property name="billto_address3"/>              
    <Property name="billto_city"/> 
    <Property name="billto_stateprovince"/>
    <Property name="billto_zipcode"/>
    <Property name="billto_country"/>
 </PaymentMethod>
</PaymentMethods>

The file uses the following attributes:

paymentConfiguration
The payment configuration ID in the POLICY database table that identifies a set of XML configuration files to be used in event-driven payment processing. A value of "default" means the payment method should use the default set of configuration files.
keepPendingStatus
A value of "true" means that any transactions using this payment method will have payments go into a pending state. To move the payment out of a pending state, an action must be taken by a Customer Service Representative in the WebSphere Commerce Accelerator to move the payment out of pending state (such as to perform a manual approval). A value of "false" means that the payment transaction will not automatically go into a pending state.

The following table describes the properties used by this plug-in. The property data type for these parameters is String type. Length limitations for properties are identified through the minLength and maxLength attributes in the XML file.

Property Description
account Payment card number (personal account number)
cc_brand Payment card brand
expire_month Payment card expiration date
expire_year Payment card expiration year
billto_address Street of billing address
billto_city City of billing address
billto_stateprovince State or province of billing address
billto_zipcode Postal (zip) code of billing address
billto_country Country code of billing address

Feedback