Discussion:
Payment plugins in V6
(too old to reply)
d***@blueyonder.co.uk
2006-12-15 12:40:58 UTC
Permalink
Hi all,

Will soon start to implement payment plugins in WC 6.0 EE. Have a few questions, thought I'd post here 1st so I can pick up any tips...

1) This is an extended stores environment with each store making payments via a few psps to their own accounts
2) We wil have a fixed number of back end psps, I presume I should build a payment plugin for each psp
3) I've read the info centre about "Configuring the payment system for your store" this doesn't seem to go to an actual individual hosted store level, more of an instance level, I need extended store A to just use plugin X and extended store B to just use plugin Y. Is this possible?
4) Each store will need to pass config info to their respective plugin, the documentation discusses adding this to the plugin deployment descriptor, fine for the 'common' settings, but what about the store specific ones? Is there anywhere to hold these, or do I need my own tables / properties files etc?

Basically I know how i'd approach this using java classes, properties files and the good old DoPayment actions, but i'd like to use payment plugins ideally. However I don't want to waste loads of time to discover the setup I need using extended sites isn't catered for!

..any comments much appreciated
m***@ca.ibm.com
2006-12-18 13:28:55 UTC
Permalink
I've sent a note to the developer.
d***@blueyonder.co.uk
2006-12-18 13:51:22 UTC
Permalink
nice one, thanks!
m***@ca.ibm.com
2006-12-19 14:29:40 UTC
Permalink
Here is the reply from the developer:

3) I've read the info centre about "Configuring the payment system for your store" this doesn't seem to go to an actual individual hosted store level, more of an instance level, I need extended store A to just use plugin X and extended store B to just use plugin Y. Is this possible?

In <WC_InstallDir>/xml/config/payments/ppc/plugin/PaymentSystemPluginMapping.xml,you can see the configuration where a specified payment system under s specified payment configuration group will use a specified payments plug-in. Such as:

<PaymentSystemName name="SimpleOffline" >
<Mapping paymentConfigurationId="default" pluginName="SimpleOffline" >
...

In this example, the payment system with name "SimpleOffline" under the payment configuration group "default" will use the payments plugin with name "SimpleOffline".

Here let's clarify what I need extended store A to just use plugin X and extended store B to just use plugin Y means: Do you mean the same payment method(e.g., VISA) in store A would like to use plugin X and in store B would like to use plugin Y. Am I right?

If my assumption is right, then the solution is that:

1) You need register two different policies for this payment method in the table POLICY. Let's begin with the payment method VISA:

Then you need register two policy in the table policy VISA1 and VISA2:

for VISA1, you can register paymentConfigurationId=myGroup1 in the column properties.
for VISA2, you can register paymentConfigurationId=myGroup2 in the column properties.

2) Follow http://publib.boulder.ibm.com/infocenter/wchelp/v6r0m0/topic/com.ibm.commerce.payments.events.doc/tutorial/tpp_3.htm to create myGroup1 and myGroup2. Please configure VISA1 use plugin X and VISA2 use plugin Y.

3) You can use VISA1 in store A, and use VISA2 in store B.

If my assumption is not right, instead you would like the different payment methods paymentMethod1 in store A and paymentMethod2 in store B. Then it becomes easier you can just configure paymentMethod1 using plugin X and paymentMethod2 using plugin Y.


4) Each store will need to pass config info to their respective plugin, the documentation discusses adding this to the plugin deployment descriptor, fine for the 'common' settings, but what about the store specific ones? Is there anywhere to hold these, or do I need my own tables / properties files etc?

Currently the tables MERCHANT, STOREMERCH, MERCHCONF and MERCHCONFINFO are for your purpose.

Such as: For store A, there is a payment method would use Plugin A(corresponding payment system name is paymentSystemA, payment configuration group is paymentGrpA). Then you can:

Create a merchant in MERCHANT.
Create a record in MERCHCONF for the combination of merchant, payment system and payment configuration group.
Create the specific properties in MERCHCONFINFO.
Associate merchant with store. Create a record in STOREMERCH.

Unfortunately, in WC6.0 we did not expose the UI for these merchant related configuration. So you can only operate on them via the controller commands or directly insert records into tables.
d***@blueyonder.co.uk
2006-12-19 15:38:09 UTC
Permalink
this is fantastic, gives me the info needed, thank you very much!
Loading...