You can enable support for punch-out payments in starter stores with the SimplePunchout
plug-in and a punch-out payment service simulator. During check-out, customers complete their
payment in a third-party payment service provider in a pop-up window. When the payment is complete,
the pop-up window is closed and the customer returns to the storefront to complete the checkout
process.
Note: To connect to other punch-out payment service providers, you must create your own punch-out
plug-in.
Before you begin
Before you can enable a punch-out payment in a pop-up window, make sure that you complete
the following prerequisites:
- Installed WebSphere Commerce Version 8
- Published a starter store
Procedure
-
Enable the punch-out payment change flow option in your starter store.
-
Log on the Management Center.
-
Select Store Management from the main menu.
-
Select Stores from the left navigation frame.
-
Select the store that you want to configure.
-
In the Checkout page, select the Punch-out
payment check-box.
-
Set up the simulator.
-
Deploy the psp.war file to your web container. For more information
about deploying a WAR module, see Deploying a WAR module.
-
Check the firewall configuration to ensure that port 8080 is opened.
-
Modify the plug-in deployment descriptor file.
-
Open the
WC_instancename.ear/xml/config/payments/ppc/plugins/SimplePunchoutPlugin/PluginDeployment.xml
file.
-
Find the PluginProperty entries with name authenticationBaseURL, callback_url. Change domains
if needed.
Property |
Description |
authenticationBaseURL |
This URL is for the shopper to browse to SimplePunchout (simulator). Ensure
that shoppers can establish a connection to this domain. |
callback_url |
This URL is for SimplePunchout (simulator) to call back to WebSphere Commerce.
Ensure that the SimplePunchout (simulator) can establish connection to this domain. |
Configure the following
values:
<PluginProperty name="authenticationBaseURL" value="http://IPAddressOfSimulagtor:8080/psp/gateway" />
<PluginProperty name="callback_url" value="http://hostNameOfCommerceServer/webapp/wcs/stores/servlet/PunchoutPaymentCallBack" />
If you are using remote store and simulator, use the following
configuration:
<PluginProperty name="callback_url" value="http://hostNameOfCommerceServer/wcs/resources/store/{storeId}/cart/@self/payment_instruction/callback" />
Add
the following configuration into
WC_instance.ear/Rest.war/WEB-INF/config/com.ibm.commerce.rest/wc-rest-security.xml:
<sslConfig resource="store/{storeId}/cart/@self/payment_instruction/callback" enabled="false"/>
-
Confirm that the SimplePunchout payment method can be displayed.
-
Check the policy table by running the following SQL statement:
SELECT * FROM POLICY WHERE POLICYNAME='SimplePunchou' and STOREENT_ID=store_id;
-
If the record of the policy table does not exist, set up the payment method for the specific
store and ensure that the parameter display is set to
true
.
- Insert the payment policy for PayInStore into the POLICY
table:
insert into policy ( policy_id, policyname, policytype_id, storeent_id, properties )
values (#####, 'SimplePunchout', 'Payment', store_id, 'attrPageName=StandardPayLater&paymentConfigurationId=default&display=true&compatibleMode=false');
- Insert the translated descriptions for the payment policy into the POLICYDESC table. You can
insert only English
description.
insert into policydesc ( policy_id, language_id, description, longdescription )
values ( #####, -1, 'Simple Punchout', 'Simple Punchout');
- To use the payment plug-in controller, set up the business policy commands for the new
policy.
insert into policycmd ( policy_id, businesscmdclass ) values
( #####, 'com.ibm.commerce.payment.actions.commands.DoPaymentActionsPolicyCmdImpl'),
( #####, 'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionPolicyCmdImpl'),
( #####, 'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoPolicyCmdImpl' );
- Restart your WebSphere Commerce instance to pick up the new configurations.
-
If the record exists and the parameter display is set to
false
, update the
parameter display value to true
. Restart your WebSphere Commerce instance to pick
up all the new configurations.
update policy set properties = 'attrPageName=StandardPayLater&paymentConfigurationId=default&display=
true&compatibleMode=false' where policy_id = #####;
-
Specify the merchant configuration properties.
-
Open WebSphere Commerce Accelerator. Log on as a user with Site Administrator
authority.
-
In the Store name list, select the store to enable punch-out payment and
click OK.
For example, Aurora.
-
In the browser window opened in step 5.a, enter the following URL:
https://hostname:8002/webapp/wcs/admin/servlet/PPCMerchantEdit?actionName=create&merchantName=myMerchant
This URL creates a merchant that is named myMerchant. The browser window
returns a blank page.
-
Run the following SQL statement to confirm that the row is inserted to the database:
SELECT * FROM MERCHANT WHERE NAME='myMerchant';
Note the value of MERCHANT_ID.
-
Using the browser window opened in step 5.a, enter the following URL and replace
MERCHANT_ID.
https://hostname:8002/webapp/wcs/admin/servlet/PPCStoreMerchantAssociate?actionName=create&merchantId=MERCHANT_ID
This URL creates an association with the starter store. The browser window
returns a blank page.
-
Run the following SQL statement to confirm that the row is inserted to the database:
SELECT * FROM STOREMERCH WHERE MERCHANT_ID=MERCHANT_ID;
-
Using the browser window opened in step 5.a, enter the following URL replacing
MERCHANT_ID.
https://hostname:8002/webapp/wcs/admin/servlet/PPCMerchantConfigurationEdit?actionName=create&merchantId=MERCHANT_ID&paymentConfigurationGroup=default&paymentSystemName=SimplePunchout
This URL creates a merchant configuration.
The browser window
returns a blank page.
-
Run the following SQL statement to confirm that the row is inserted to the database:
SELECT * FROM MERCHCONF WHERE MERCHANT_ID=MERCHANT_ID;
Note the value of MERCHCONF_ID.
-
Using the browser window opened in step 5.a, enter the following URLs replacing
MERCHCONF_ID:
https://hostname:8002/webapp/wcs/admin/servlet/PPCMerchantConfigurationInfoEdit?actionName=create&merchantConfId=MERCHCONF_ID&propertyName_1=merchant&propertyValue_1=2088101897450674
This URL creates a merchant configuration entry.
The browser window
returns a blank page.
-
Run the following SQL statement to confirm that the row is inserted to the database:
SELECT * FROM MERCHCONFINFO WHERE MERCHCONF_ID=MERCHCONF_ID;
What to do next
To confirm that the simulator is running correctly, start the simulator and WebSphere
Commerce server, and place an order with the punch-out payment method. You must be redirected to the
simulator's page in a pop-up window to process the payment, and then redirected back to WebSphere
Commerce at the order confirmation page window.