public abstract class PluginController extends java.lang.Object implements PaymentsInterface, PaymentsAdminInterface
This class contains all the implementation logics of PaymentsInterface. It is called by PluginController session bean. When the logic need to call plugins, PluginController will find the specific PluginAdapter, set the input parameters. And then call the PluginAdapter APIs, retrieve the output parameter from the PluginAdapter or PPC database.
Modifier and Type | Field and Description |
---|---|
static java.lang.String | COPYRIGHT
The IBM copyright notice field.
|
Constructor and Description |
---|
PluginController()
This method is the constructor for PluginController.
|
Modifier and Type | Method and Description |
---|---|
void | activateMerchant(java.lang.Long merchantId)
This method activates the merchant with the specific merchant id.
|
Result | approve(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of approve(PaymentContext, String, BigDecimal).
|
Result | approveAndDeposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of approveAndDeposit(PaymentContext, String, BigDecimal).
|
Result | checkPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction)
This method is the implementation of checkPaymentInstruction(PaymentContext, PaymentInstruction).
|
void | closePaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id)
This method is the implementation of closePaymentInstruction(PaymentContext, String).
|
com.ibm.commerce.payments.plugincontroller.Batch | createBatch(PaymentContext paymentContext, java.lang.String merchConfId, java.util.Collection financialTransactionIds, java.util.Map extendedData)
This method creates batch for the given batch value object.
|
Credit | createDependentCredit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of createDependentCredit(PaymentContext, String, BigDecimal).
|
Credit | createIndependentCredit(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.math.BigDecimal amount)
This method is the implementation of createIndependentCredit(PaymentContext, String, BigDecimal).
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean | createMerchant(java.lang.String merchantName, java.lang.Long memberId)
This method creates a merchant in WebSphere Commerce, which represents the payment perspective for a store.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean | createMerchant(java.lang.String merchantName, java.lang.Long memberId, java.lang.Boolean state)
This method creates a merchant in WebSphere Commerce, which represents the payment perspective for a store.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantConfAccessBean | createMerchantConf(java.lang.Long merchantId, java.lang.String paymentSystemName, java.lang.String paymentConfigurationGroup)
This method creates a merchant configuration which means for a specific merchant, which payment system and payment configuration group are used.
|
Payment | createPayment(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.math.BigDecimal amount)
This method is the implementation of createPayment(PaymentContext, String, BigDecimal).
|
PaymentInstruction | createPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction)
This method is the implementation of createPaymentInstruction(PaymentContext, PaymentInstruction).
|
Result | credit(PaymentContext paymentContext, java.lang.String creditId, java.math.BigDecimal amount)
This method is the implementation of credit(PaymentContext, String, BigDecimal).
|
void | deactivateMerchant(java.lang.Long merchantId)
This method deactivates the merchant with the specific merchant id.
|
void | deleteMerchant(java.lang.Long merchantId)
This method deletes the specific merchant with merchant id.
|
void | deleteMerchantConf(java.lang.Long merchConfId)
This method deletes the merchant configuration with merchant configuration id.
|
void | deleteMerchantConfInfo(java.lang.Long merchConfId)
This method deletes all properties for the merchant configuration.
|
void | deleteMerchantConfInfo(java.lang.Long merchConfId, java.util.ArrayList properties)
This method deletes all properties in the array list for the merchant configuration.
|
void | deleteMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name)
This method deletes the specific property with name for the merchant configuration.
|
void | deletePaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id)
This method is the implementation of deletePaymentInstruction(PaymentContext, String).
|
void | deleteStoreMerchant(java.lang.Integer storeId)
This method deletes the association between the store and the merchant.
|
Result | deposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of deposit(PaymentContext, String, BigDecimal).
|
Result | editCredit(PaymentContext paymentContext, Credit objCredit, java.math.BigDecimal processAmount, java.lang.String reasonCode, java.lang.String responseCode, java.lang.String referenceNumber, ExtendedData extendedData)
This method is the implementation of editCredit(PaymentContext, Credit, BigDecimal, String, String, String, ExtendedData).
|
void | editMerchantConfInfo(java.lang.Long merchConfId, java.util.Hashtable properties)
This method edits the properties for the specific merchant configuration id.
|
void | editMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name, java.lang.String value, boolean encrypted)
This method edits the property value with specific name to a new value of the merchant configuration.
|
Result | editPayment(PaymentContext paymentContext, Payment payment, java.math.BigDecimal processAmount, java.lang.String reasonCode, java.lang.String responseCode, java.lang.String referenceNumber, ExtendedData extendedData)
This method is the implementation of editPayment(PaymentContext, Payment, BigDecimal, String, String, String, ExtendedData).
|
Result | editPaymentInstruction(PaymentContext paymentContext, PaymentInstruction piWithNewValues)
This method is the implementation of editPaymentInstruction(PaymentContext, PaymentInstruction).
|
void | editStoreMerchant(java.lang.Integer storeId, java.lang.Long merchantId)
This method edits the association between the store and the merchant, which updates the store to be mapped to another merchant with merchantId.
|
java.lang.String | getAuthenticationURL(PaymentContext paymentContext, java.lang.String paymentInstructionId)
This method gets the popup URL or form of punch-out payment.
|
com.ibm.commerce.payments.plugincontroller.Batch | getBatch(PaymentContext paymentContext, java.lang.String batchId)
This method gets the batch from the back end by calling the plugin's getBatch() API.
|
Credit | getCredit(PaymentContext paymentContext, java.lang.String creditId)
This method is the implementation of getCredit(PaymentContext, String).
|
java.util.Collection | getMerchant(java.lang.String name, java.lang.Long memberId)
This method is This method gets all merchants with the specific attributes.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean | getMerchantById(java.lang.Long merchantId)
This method gets the merchant with specific merchant id.
|
java.util.Collection | getMerchantConf(java.lang.Long merchantId)
This method gets all merchant configurations according to the input parameters.
|
java.util.Collection | getMerchantConf(java.lang.Long merchantId, java.lang.String paymentSystemName, java.lang.String paymentConfigurationGroup)
This method gets all merchant configurations with the specific merchant id.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantConfAccessBean | getMerchantConfById(java.lang.Long merchantConfId)
This method gets the merchant configuration with merchant configuration id.
|
java.util.Collection | getMerchantConfInfo(java.lang.Long merchConfId)
This method gets all merchant configuration information according to the input parameter.
|
java.util.Collection | getMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name)
This method gets all merchant configuration information according to the input parameter.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantConfInfoAccessBean | getMerchantConfInfoById(java.lang.Long merchantConfInfoId)
This method gets the merchant configuration information according to the merchant configuration information id.
|
java.lang.String | getMessage(PaymentContext paymentContext, java.lang.String paymentSystemName, java.lang.String store, java.lang.String messageKey)
This method is the implementation of getMessage(PaymentContext, String, String, String).
|
Payment | getPayment(PaymentContext paymentContext, java.lang.String paymentId)
This method is the implementation of getPayment(PaymentContext, String).
|
PaymentInstruction | getPaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.lang.Boolean maskSensitiveData)
This method is the implementation of getPaymentInstruction(PaymentContext, String, Boolean).
|
java.math.BigDecimal | getRemainingValueOnPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction)
This method is the implementation of getRemainingValueOnPaymentInstruction(PaymentContext, PaymentInstruction).
|
java.util.Collection | getStoreMerchantByMerchantId(java.lang.Long merchantId)
This method gets all association with current merchant id.
|
com.ibm.commerce.payments.plugincontroller.beans.StoreMerchantAccessBean | getStoreMerchantByStoreId(java.lang.Integer storeId)
This method gets the association between store and merchant with the specific store id.
|
void | initAuthenticationSession(PaymentContext paymentContext, java.lang.String paymentInstructionId)
This method initializes punch-out payment session.
|
com.ibm.commerce.payments.plugincontroller.beans.StoreMerchantAccessBean | mapStoreMerchant(java.lang.Integer storeId, java.lang.Long merchantId)
This method creates the association between the store and the merchant.
|
java.lang.String | preprocessProviderResponseData(PaymentContext paymentContext, java.lang.String paymentSystemName, java.util.Map callbackParameters)
This method preprocess punch-out payment transaction data from payment service provider side.
|
java.util.Map | processProviderResponse(PaymentContext paymentContext, java.lang.String paymentInstructionId, java.util.Map callbackParameters)
This method gets the result of punch-out payment transaction from payment service provider side.
|
void | putMerchantConfInfo(java.lang.Long merchConfId, java.util.Hashtable properties)
This method creates the properties for the specific merchant configuration id by taking a hashtable as input.
|
com.ibm.commerce.payments.plugincontroller.beans.MerchantConfInfoAccessBean | putMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name, java.lang.String value, boolean encrypted)
This method creates a property for the specific merchant configuration id.
|
Result | reverseApproval(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of reverseApproval(PaymentContext, String, BigDecimal).
|
Result | reverseCredit(PaymentContext paymentContext, java.lang.String creditId, java.math.BigDecimal amount)
This method is the implementation of reverseCredit(PaymentContext, String, BigDecimal).
|
Result | reverseDeposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount)
This method is the implementation of reverseDeposit(PaymentContext, String, BigDecimal).
|
com.ibm.commerce.payments.plugincontroller.Batch | settleBatch(PaymentContext paymentContext, java.lang.String batchId, boolean forceClose)
This method is used to send batch request to the back end.
|
Result | validatePaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction)
This method is the implementation of validatePaymentInstruction(PaymentContext, PaymentInstruction).
|
public static final java.lang.String COPYRIGHT
public PluginController()
public java.lang.String getMessage(PaymentContext paymentContext, java.lang.String paymentSystemName, java.lang.String store, java.lang.String messageKey) throws InputException, BackendException, InternalException, ConfigException
public PaymentInstruction getPaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.lang.Boolean maskSensitiveData) throws InputException, BackendException, InternalException, ConfigException
public java.math.BigDecimal getRemainingValueOnPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction) throws InputException, BackendException, InternalException, ConfigException
public Result approve(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: EDP.
public Result approveAndDeposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: EDP.
public Result checkPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction) throws InputException, BackendException, InternalException, ConfigException
public void closePaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id) throws InputException, BackendException, InternalException, ConfigException
public Credit createDependentCredit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: none. This feature is not used yet.
public Credit createIndependentCredit(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
public Payment createPayment(PaymentContext paymentContext, java.lang.String paymentInstruction_Id, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
public PaymentInstruction createPaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction) throws InputException, BackendException, InternalException, ConfigException
storeId represent the store to which the paymentInstruction belongs. paymentSystemName represents the payment system that will process the request and any subsequent request extendedData contains most of the payment method information. The supported types are Integer, Long, BigDecimal, String, Binary (StringBuffer), Boolean. amount the maximum amount that this Payment Instruction will be good for. PPC will allow Payments to be created up to this amount. currency currency use for the amount and all amount on any payment action.
public Result credit(PaymentContext paymentContext, java.lang.String creditId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: EDP.
public void deletePaymentInstruction(PaymentContext paymentContext, java.lang.String paymentInstruction_Id) throws InputException, BackendException, InternalException, ConfigException
public Result deposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: EDP.
public Result editCredit(PaymentContext paymentContext, Credit objCredit, java.math.BigDecimal processAmount, java.lang.String reasonCode, java.lang.String responseCode, java.lang.String referenceNumber, ExtendedData extendedData) throws InputException, BackendException, InternalException, ConfigException
public Result editPayment(PaymentContext paymentContext, Payment payment, java.math.BigDecimal processAmount, java.lang.String reasonCode, java.lang.String responseCode, java.lang.String referenceNumber, ExtendedData extendedData) throws InputException, BackendException, InternalException, ConfigException
public Result editPaymentInstruction(PaymentContext paymentContext, PaymentInstruction piWithNewValues) throws InputException, BackendException, InternalException, ConfigException
Required parameters on PaymentInstruction value object during editPaymentInstruction id unique identifier for the paymentInstruction within PPC Optional parameters on PaymentInstruction value object during editPaymentInstruction amount in case that the amount used on this PaymentInstruction needs to be updated. currency in case that the currency has to be changed. PPC will allow this change as long as no Payment/Credit object is created for this PaymentInstruction extendedData if any information related to the specified Payment Instruction has changed. PPC will not allow this information to be updated if there is a payment that has been approved using this information.
public Result reverseApproval(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
Users of this method: EDP.
public Result reverseCredit(PaymentContext paymentContext, java.lang.String creditId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
public java.util.Collection getMerchant(java.lang.String name, java.lang.Long memberId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public Result reverseDeposit(PaymentContext paymentContext, java.lang.String paymentId, java.math.BigDecimal amount) throws InputException, BackendException, InternalException, ConfigException
public Result validatePaymentInstruction(PaymentContext paymentContext, PaymentInstruction paymentInstruction) throws InputException, BackendException, InternalException, ConfigException
public Credit getCredit(PaymentContext paymentContext, java.lang.String creditId) throws InputException, BackendException, InternalException, ConfigException
public Payment getPayment(PaymentContext paymentContext, java.lang.String paymentId) throws InputException, BackendException, InternalException, ConfigException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean createMerchant(java.lang.String merchantName, java.lang.Long memberId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean createMerchant(java.lang.String merchantName, java.lang.Long memberId, java.lang.Boolean state) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantConfAccessBean createMerchantConf(java.lang.Long merchantId, java.lang.String paymentSystemName, java.lang.String paymentConfigurationGroup) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.StoreMerchantAccessBean mapStoreMerchant(java.lang.Integer storeId, java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void putMerchantConfInfo(java.lang.Long merchConfId, java.util.Hashtable properties) throws InvalidDataException, InternalException, java.rmi.RemoteException, ConfigException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantConfInfoAccessBean putMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name, java.lang.String value, boolean encrypted) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void editStoreMerchant(java.lang.Integer storeId, java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void editMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name, java.lang.String value, boolean encrypted) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void editMerchantConfInfo(java.lang.Long merchConfId, java.util.Hashtable properties) throws InvalidDataException, InternalException, java.rmi.RemoteException, ConfigException
public void deleteMerchant(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deleteStoreMerchant(java.lang.Integer storeId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deleteMerchantConf(java.lang.Long merchConfId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deleteMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deleteMerchantConfInfo(java.lang.Long merchConfId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deleteMerchantConfInfo(java.lang.Long merchConfId, java.util.ArrayList properties) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantAccessBean getMerchantById(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.StoreMerchantAccessBean getStoreMerchantByStoreId(java.lang.Integer storeId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public java.util.Collection getStoreMerchantByMerchantId(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantConfAccessBean getMerchantConfById(java.lang.Long merchantConfId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public java.util.Collection getMerchantConf(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public java.util.Collection getMerchantConf(java.lang.Long merchantId, java.lang.String paymentSystemName, java.lang.String paymentConfigurationGroup) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.beans.MerchantConfInfoAccessBean getMerchantConfInfoById(java.lang.Long merchantConfInfoId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public java.util.Collection getMerchantConfInfo(java.lang.Long merchConfId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public java.util.Collection getMerchantConfInfo(java.lang.Long merchConfId, java.lang.String name) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void activateMerchant(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public void deactivateMerchant(java.lang.Long merchantId) throws InvalidDataException, InternalException, java.rmi.RemoteException
public com.ibm.commerce.payments.plugincontroller.Batch settleBatch(PaymentContext paymentContext, java.lang.String batchId, boolean forceClose) throws EDPException
public com.ibm.commerce.payments.plugincontroller.Batch getBatch(PaymentContext paymentContext, java.lang.String batchId) throws EDPException
public com.ibm.commerce.payments.plugincontroller.Batch createBatch(PaymentContext paymentContext, java.lang.String merchConfId, java.util.Collection financialTransactionIds, java.util.Map extendedData) throws EDPException
public void initAuthenticationSession(PaymentContext paymentContext, java.lang.String paymentInstructionId) throws EDPException
public java.lang.String getAuthenticationURL(PaymentContext paymentContext, java.lang.String paymentInstructionId) throws EDPException
public java.lang.String preprocessProviderResponseData(PaymentContext paymentContext, java.lang.String paymentSystemName, java.util.Map callbackParameters) throws EDPException
public java.util.Map processProviderResponse(PaymentContext paymentContext, java.lang.String paymentInstructionId, java.util.Map callbackParameters) throws EDPException