Set up WebSphere Commerce Payments for your store

This section only applies to old Payments (which is installed using custom install).

For new Payments (which is automatically installed as a WebSphere Commerce component when WebSphere Commerce is installed), there are no manual steps needed for setting it up, since it is configured automatically.

WebSphere Commerce version 6.0 does not support old Payments. To use the old payment manager, the toolkit environment must connect to an existing payment server. When the payment manager is correctly configured and its server is active, then the payment administration user interface will be available in Administration Console.

You can complete the WebSphere Commerce Payments setup for your store using the Administration Console or the WebSphere Commerce Payments user interface.

If you create your store using the starter store archive, which is recommended, the new implementation of WebSphere Commerce Payments will be configured. If you want to configure the new implementation for your store, refer to Payment configuration IDs

If you choose to use the deprecated implementation, complete the setup of WebSphere Commerce Payments for your store:

  1. Check that WebSphere Commerce Payments is started. See Ensure that WebSphere Commerce Payments is started for more information.

  2. Open the Administration Console and select Site on the Administration Console Site/Store Selection page or open the Payments user interface.

  3. Assign WebSphere Commerce Payments user roles to WebSphere Commerce users as required. To assign these WebSphere Commerce Payments user roles, select Users in WebSphere Commerce Payments user interface or select Payments -> Users menu in Site Admimistration Console.

    The WebSphere Commerce Site Administrator is assigned the Payments Administrator role by default. You might want to assign other WebSphere Commerce users various Payments roles.

  4. Create a merchant for the published starter store (the merchant ID must be the same as the store ID)

  5. Authorize cassettes for your store by doing the following:

    1. Select Merchant Settings.

    2. Click your store in the Merchant name column.

    3. Select the cassettes you want to authorize for your store.

    4. Click Update.

    If you created your store manually, add a new merchant (your store) to authorize cassettes for your store. When creating a new merchant, the merchant number specified must match the WebSphere Commerce store ID. You can create a new merchant by selecting Merchant Settings then clicking Add a Merchant.

  6. An account must be created for the merchant created in step 4. To create an account do the following :- Configure cassettes for your store:

    1. Select Merchant Settings.

    2. Select a cassette to configure by clicking the icon appearing in the row for your store and the column for the cassette you want to configure.

    3. Click Accounts on the cassette's page for your store and do one of the following tasks:

      • To change existing accounts, click the account name.

      • To create a new account, click Add an Account.

  7. One or more brands must be created for the account created in step 6. If you are using OfflineCard cassette. To create a brand do the following :-

    1. Select Merchant Settings.

    2. Select OfflineCard Cassette icon.

    3. Click Accounts.

    4. Click the account name you just created in step 6.

    5. Click Brands.

    6. To create a new brand, click Add a Brand.

  8. In order to use old Payments in your store, you have to add a new policy for your store into the "policy" database table, and you also have to register a set of Payments policy commands. You can do this by executing the following SQL statements:

    1. Insert a new row for your store in the "policy" database table for the cassette your are using (choose any policy Id which does not exist in the policy table):

      • (i5/OS) insert into <dbName>/policy values(<newPolicyID>,'OfflineCard','Payment',<yourStoreID>,'profileName=<cassetteProfileName>&cassetteName=<cassetteName>& attrPageName=<JSPNameForCassette>&display=true&compatibleMode=true',NULL,NULL,NULL) for example: insert into szilvi1/policy values(11601,'OfflineCard','Payment',10051,'profileName=WC51_OfflineCard&cassetteName=OfflineCard& attrPageName=StandardCreditCard&display=true&compatibleMode=true',NULL,NULL,NULL)

      • For other platforms: insert into policy values (<newPolicyID>,'OfflineCard','Payment',<yourStoreID>,profileName=<cassetteProfileName>&cassetteName=<cassetteName>& attrPageName=<JSPNameForCassette>&display=true&compatibleMode=true',NULL,NULL,NULL) for example: insert into policy values(11601,'OfflineCard','Payment',10051,'profileName=WC51_OfflineCard&cassetteName=valuesOfflineCard& attrPageName=StandardCreditCard&display=true&compatibleMode=true',NULL,NULL,NULL)

      • Where:

        <cassetteName>

        is the name of the cassette you want to configure.

        <cassetteProfileName>

        is the Cashier profile name for the cassette.
        For more detail, refer standard Cashier profiles provided with WebSphere Commerce:

        <JSPNameForCassette>

        is JSP snippet name used by this payment method to generate an HTML page to prompt the user for payment attributes or parameter. For more detail, refer Defined payment business policy properties

        For Oracle, "set define off;" should be executed before executing the SQL. It is because the "&" in the above SQL will cause strange behavior during the SQL update

    2. Insert a new row into the "policydesc" database table that corresponds to the row you inserted into the "policy" database table in step (i) above: (

      make sure the policy_id of the row you insert into the "policydesc" database table matches the policy_id of the row you inserted into the "policy" database table.The description and long description can be any meaningful string for you.)

      1. For iSeries:
        insert into <dbName>/policydesc values(<newPolicyID>,-1,'<description>','<long description>',NULL,NULL,NULL) (

        this assumes that you are using English as your language that is why "-1" is used in the SQL statement above.) for example: insert into szilvi1/policydesc values(11601,-1,'Credit Card','Credit Card(Offline)',NULL,NULL,NULL)

      2. for other platforms: insert into policydesc values((<newPolicyID>,-1,'<description>','<long description>',NULL,NULL,NULL) (

        this assumes that you are using English as your language that is why "-1" is used in the SQL statement above.) for example: insert into policydesc values(11601,-1,'Credit Card','Credit Card(Offline)',NULL,NULL,NULL)

    3. Insert the rows for the 8 necessary Payments policy commands for compatible mode in the "policycmd" database table, that correspond to the row you inserted into the "policy" database table in step (a) above:

      • (i5/OS)

        insert into <dbName>/policycmd values(<newPolicyID>,'com.ibm.commerce.payment.actions.commands.DoPaymentActionsCompatiblePolicyCmdImpl',NULL,NULL) for example: insert into szilvi1/policycmd values(11601,'com.ibm.commerce.payment.actions.commands.DoPaymentActionsCompatiblePolicyCmdImpl',NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionCompatiblePolicyCmdImpl',NULL,NULL) for example: insert into szilvi1/policycmd values(11601,'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionCompatiblePolicyCmdImpl',NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoCompatiblePolicyCmdImpl',NULL,NULL) for example: insert into szilvi1/policycmd values(11601,'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoCompatiblePolicyCmdImpl',NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.CheckPaymentAcceptPMCmdImpl' ,NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.CheckPaymentAcceptPMCmdImpl',NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.DoCancelPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoCancelPMCmdImpl' ,NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.DoDepositPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoDepositPMCmdImpl' ,NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.DoPaymentPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoPaymentPMCmdImpl' ,NULL,NULL)

        insert into <dbName>/policycmd values(< newPolicyID >, 'com.ibm.commerce.payment.commands.DoRefundPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601, 'com.ibm.commerce.payment.commands.DoRefundPMCmdImpl',NULL,NULL)

      • For other platforms:

      insert into policycmd values(< newPolicyID >,'com.ibm.commerce.payment.actions.commands.DoPaymentActionsCompatiblePolicyCmdImpl' ,NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.actions.commands.DoPaymentActionsCompatiblePolicyCmdImpl' ,NULL,NULL)

      insert into policycmd values(< newPolicyID >,'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionCompatiblePolicyCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.actions.commands.EditPaymentInstructionCompatiblePolicyCmdImpl',NULL,NULL)

      insert into policycmd values(< newPolicyID >,'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoCompatiblePolicyCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.actions.commands.QueryPaymentsInfoCompatiblePolicyCmdImpl',NULL,NULL)

      insert into <dbname>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.CheckPaymentAcceptPMCmdImpl' ,NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.CheckPaymentAcceptPMCmdImpl',NULL,NULL)

      insert into <dbname>/policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.DoCancelPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoCancelPMCmdImpl' ,NULL,NULL)

      insert into policycmd values(< newPolicyID >,'com.ibm.commerce.payment.commands.DoDepositPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoDepositPMCmdImpl' ,NULL,NULL)

      insert into <dbname>/policycmd values(<newPolicyID>,'com.ibm.commerce.payment.commands.DoPaymentPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601,'com.ibm.commerce.payment.commands.DoPaymentPMCmdImpl' ,NULL,NULL)

      insert into <dbname>/policycmd values(< newPolicyID >, 'com.ibm.commerce.payment.commands.DoRefundPMCmdImpl',NULL,NULL) for example: insert into policycmd values(11601, 'com.ibm.commerce.payment.commands.DoRefundPMCmdImpl',NULL,NULL)

  9. At this point, if you launch your store front, you will be able to complete a shopping flow using the old Payments.