No momento, esta página não está disponível em português
Plugin icon

Enable Order on Behalf Of (OOBO)

Learn how to enable the Order on Behalf Of feature in your Adyen Salesforce Order Management System package.

Order on Behalf Of (OOBO) , also known as Order Entry, is a Salesforce feature that streamlines the purchasing process by enabling customer service employees to place orders on behalf of shoppers.

Payment methods

The OOBO feature only supports credit cards supported by the SFCC cartridge that does not require additional verification.

Before you begin

This feature depends on the release of the OMS OOBO support package by Salesforce. Contact Salesforce for questions about the availability.

  1. Have a fully functional Salesforce OMS Org that is connected to your Salesforce Commerce Cloud (SFCC) storefront.
  2. Install and set up the Adyen Salesforce OMS package v2.1.0 or later.
  3. Have a Web Service user with the API PCI role.
  4. Follow the Salesforce documentation to configure OOBO .
  5. Follow the Salesforce documentation to install and set up the Salesforce External Payments Package . Our solution works with the OOBO flow in this package.

Step 1: Provision Cart and Checkout Data connection type

  1. In your Salesforce Org, go to Setup and search for B2C Commerce Connections.
  2. Click Edit for the SFCC storefront that you want to enable OOBO.
  3. Move Cart and Checkout Data from Inactive Connection Type to Selected Connection Type and select it.
  4. Click Save. After a few minutes, the connection type status will change to provisioned.

Step 2: Associate a payment gateway to your B2C Commerce WebStore

  1. In your Salesforce OMS Org, open the Developer Console

  2. Run the following query to get the WebStore Id for your SFCC storefront:

    SELECT Id, ExternalReference, Name, Type, DefaultTaxLocaleType, CurrencyIsoCode, DefaultLanguage, SupportedLanguages, SupportedCurrencies  FROM WebStore
  3. In the response, check the ExternalReference and Name fields to identify the Id that corresponds to your SFCC storefront and save it.

  4. Make sure that the CurrencyIsoCode, DefaultLanguage, SupportedLanguages, SupportedCurrencies fields are populated.

  5. Make sure that the DefaultLanguage field matches the Default Locale of your SFCC storefront.

  6. In your Developer Console, run the following query to get the Payment Gateway Id used for your SFCC storefront:

    SELECT Id, Name, PaymentGatewayName, PaymentGatewayProviderId, Status FROM PaymentGateway

    The correct Id has Adyen for PaymentGatewayName. You set your Payment Gateway Name when you set up OMS.

  7. In your Developer Console, create a StoreIntegratedService entity with the WebStore and Payment Gateway Ids you obtained:

    StoreIntegratedService sis = new StoreIntegratedService(
      StoreId = 'YOUR_WEBSTORE_ID',
      Integration = 'YOUR_PAYMENT_GATEWAY_ID',
      ServiceProviderType = 'Payment'
    );
    insert sis;

Troubleshooting

The following are common problems and ways to troubleshoot if you experience issues when executing the OOBO flow.

Problems related to the locale

Check if the value for the DefaultLanguage field of your WebStore matches the default locale in your SFCC.

Missing permissions

If you get the This feature is not currently enabled for this user message, your user needs the Order Management Operations Manager permission.

Assign permission sets.

Invalid Tenant

If you get the Tenant not validated for this Tenant Group message, check if your Cart and Checkout Data connection is set up correctly.

Delivery methods

If you get the No available delivery methods message, make sure that you set up all active shipping methods for the product currency you are using in Salesforce.

Gateway error

If you get a gateway error when placing the order, make sure that you are using the right payment gateway Id and that your adapter configuration is correct.

Missing merchant account role

If the API Logs in your Customer Area > Developers > API Logs display the 403 HTTP response, your API credential is missing the required account role.

Assign the API PCI role to your API credential.