--- title: "Enable Order on Behalf Of (OOBO)" description: "Learn how to enable the Order on Behalf Of feature in your Adyen Salesforce Order Management System package." url: "https://docs.adyen.com/plugins/salesforce-order-management-system/set-up-oobo" source_url: "https://docs.adyen.com/plugins/salesforce-order-management-system/set-up-oobo.md" canonical: "https://docs.adyen.com/plugins/salesforce-order-management-system/set-up-oobo" last_modified: "2024-10-09T10:30:00+02:00" language: "en" --- # Enable Order on Behalf Of (OOBO) Learn how to enable the Order on Behalf Of feature in your Adyen Salesforce Order Management System package. [View source](/plugins/salesforce-order-management-system/set-up-oobo.md) [Order on Behalf Of (OOBO) ](https://help.salesforce.com/articleView?id=sf.om_order_on_behalf_of_overview_oobo.htm\&type=5), 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. With our OMS package, you can place OOBO orders with card payment methods, or use [Pay by Link](/unified-commerce/pay-by-link) to accept payments using an Adyen-hosted payment page, and offer the option to pay with more payment methods. ## Requirements | Requirement | Description | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Integration type** | Make sure that you have integrated with the following:- [Adyen Salesforce Commerce Cloud cartridge for SFRA or SiteGenesis](/plugins/salesforce-commerce-cloud/sfra/). - [Adyen Salesforce OMS package](/plugins/salesforce-order-management-system/install-and-set-up-the-package/). | | **[API credential roles](/development-resources/api-credentials/roles/)** | Make sure that you have the following role:- **Web Service user with the API PCI Payments role** | | **[Customer Area roles](/account/user-roles)** | If you want to offer Pay by Link, make sure that you have one of the following roles:- **Merchant admin** - **Pay by Link Settings** | | **[Webhooks](/development-resources/webhooks)** | Subscribe to the following webhook:- Standard webhooks | | **Limitations** | OOBO with Pay by Link is only available on v3.2.0 and later versions of our OMS package, and supports [limited payment methods](#supported-payment-methods). | | **Setup steps** | Before you begin:- Make sure that you have a fully functional Salesforce OMS Org that is connected to your [Salesforce Commerce Cloud (SFCC)](/plugins/salesforce-commerce-cloud) storefront. - Integrate with our [OMS package](/plugins/salesforce-order-management-system/install-and-set-up-the-package/) | ## Supported payment methods The OOBO feature supports: * **Credit cards**: take OOBO orders with [credit cards supported by the SFCC cartridge](/plugins/salesforce-commerce-cloud/supported-payment-methods/#credit-and-debit-cards) and do not require additional verification. * **Pay by Link**: accept payments using payment links for iDeal, Apple Pay, PayPal, and [cards supported by the SFCC cartridge](/plugins/salesforce-commerce-cloud/supported-payment-methods/#credit-and-debit-cards). ## How it works Learn more about how to place orders on behalf of your shoppers in the [Salesforce documentation](https://help.salesforce.com/s/articleView?id=commerce.om_place_order_on_behalf_of_customer.htm\&type=5). In the OOBO flow, you place orders on behalf of your shoppers by entering their card details or sending them a payment link. ### Tab: OOBO with cards Read about the payment flow for OOBO with cards in [Salesforce documentation](https://help.salesforce.com/s/articleView?id=commerce.om_place_order_on_behalf_of_customer.htm\&type=5). ### Set up OOBO for cards 1. Follow the Salesforce documentation [to configure OOBO ](https://help.salesforce.com/s/articleView?id=sf.om_order_on_behalf_of_overview_oobo.htm\&type=5). 2. Follow the Salesforce documentation to [install and set up the Salesforce External Payments Package ](https://developer.salesforce.com/docs/atlas.en-us.order_management_developer_guide_html.meta/order_management_developer_guide_html/order_management_oobo_external_payments.htm). 3. [Provision cart and checkout data connection type](#cart-and-checkout-data-connection). 4. [Associate a payment gateway to your B2C Commerce WebStore](#associate-payment-gateway). ### Tab: OOBO with Pay by Link The payment flow for OOBO with Pay by Link is similar to the [OOBO flow explained in the Salesforce documentation](https://help.salesforce.com/s/articleView?id=commerce.om_place_order_on_behalf_of_customer.htm\&type=5). There are additional elements in our Pay by Link OOBO flow that enables the generation of a payment link. 1. To place an order on behalf of your shopper, your store employee creates an account for the shopper in Salesforce. The account must have a contact record including the email field, and the currency of your store must match the account's currency. 2. From the account page for the account you created, under **Actions & Recommendations**, the store employee initiates the **Adyen OOBO** flow, and selects the store, and the product the shopper wants to purchase. 3. The store employee enters the billing and shipping address for the shopper, and selects a delivery option. The country and state codes should be in the two letter [ISO-3166-2](https://www.iso.org/standard/72483.html) format. 4. The store employee previews the order details, the order details include: * The shopper's email, fetched from the account created for the shopper. * The payment link's duration of validity. 5. To create the order, your store employee selects **Submit Order**, and a payment link is generated. You must build your own logic to share this link with your shoppers. 6. Your store employee selects **Finish** to complete the process. ### Set up OOBO for Pay by Link 1. Follow the Salesforce documentation [to configure OOBO ](https://help.salesforce.com/s/articleView?id=sf.om_order_on_behalf_of_overview_oobo.htm\&type=5). You only need to complete the following steps: 1. [Set up prerequisites for OOBO](https://help.salesforce.com/s/articleView?id=commerce.om_complete_prereq_oobo.htm\&type=5). 2. [Configure a delivery method for OOBO](https://help.salesforce.com/s/articleView?id=commerce.om_delivery_methods_oobo.htm\&type=5). 3. [Add the OOBO flow to an object page](https://help.salesforce.com/s/articleView?id=commerce.om_add_oobo_flow_object_page_oobo.htm\&type=5). When you need to select an OOBO flow, select **Adyen OOBO**. 2. [Provision cart and checkout data connection type](#cart-and-checkout-data-connection). 3. [Associate a payment gateway to your B2C Commerce WebStore](#associate-payment-gateway). 4. [Assign permissions](#assign-permissions) to your customer service employees to use the OOBO feature. 5. [Update custom metadata fields to enable Pay by Link](#update-custom-metadata). 6. [Add payment links](#add-payment-links) to the order summary page. 7. [Add your terms and conditions](/unified-commerce/pay-by-link/#add-your-terms-and-conditions) to the Adyen-hosted payment page. If you had an integration with the Adyen OMS package v3.1.0 or earlier, and are updating to v3.2.0 to use the Pay by Link feature, make sure to update your [webhook configuration for v3.2.0](/plugins/salesforce-order-management-system/install-and-set-up-the-package?plugin=Salesforce%20OMS\&integration=package\&version=3.2.0#set-up-webhooks) to receive webhooks that inform you of the payment status. ## Provision cart and checkout data connection type 1. In your Salesforce OMS Org, go to **Setup** and search for **B2C Commerce Connections**. 2. Click **Edit** for the SFCC storefront for which 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. ## 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: ```text 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`, and `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: ```text SELECT Id, PaymentGatewayName, PaymentGatewayProviderId, Status FROM PaymentGateway ``` The correct Id has **Adyen** for `PaymentGatewayName`. You [set your Payment Gateway Name](/plugins/salesforce-order-management-system/install-and-set-up-the-package) when you set up OMS. 7. In your **Developer Console**, create a `StoreIntegratedService` entity with the WebStore and Payment Gateway Ids you obtained: ```java StoreIntegratedService sis = new StoreIntegratedService( StoreId = 'YOUR_WEBSTORE_ID', Integration = 'YOUR_PAYMENT_GATEWAY_ID', ServiceProviderType = 'Payment' ); insert sis; ``` ## Assign permissions This step is only required if you want to support Pay by Link payments with OOBO. To let your customer service employees use the OOBO feature, assign the [External Credential](/plugins/salesforce-order-management-system/install-and-set-up-the-package/?plugin=Salesforce%20OMS\&integration=package\&version=3.2.0#configure-named-credential) you created to them. ## Update custom metadata fields to enable Pay by Link This step is only required if you want to support Pay by Link payments with OOBO. 1. In your Salesforce OMS Org, Go to **Setup** > **Custom Code** > **Custom Metadata Types**. 2. Scroll down to **Adyen Adapter Layout**, and select **Edit**. 3. Drag and drop the **Payment Link Expiry Duration**, **Payment Link Return URL**, and **Payment Link Theme ID** fields to the **Adyen Adapter Layout**. 4. Select **Save**. 5. Select **Manage Adyen Adapters**. 6. Next to **Adyen Default**, select **Edit**. 7. Fill the following fields: | Field | Description | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Payment Link Expiry Duration** | The duration after which a payment link expires. The default value is 24 hours. | | **Payment Link Return URL** | The URL to which your shoppers should be redirected after completing the payment on the Adyen-hosted payment page. | | **Payment Link Theme ID** | The ID of the [Pay by Link theme](/unified-commerce/pay-by-link/create-payment-links/customer-area/#themes). When not specified, the default theme set in your [Customer Area](https://ca-test.adyen.com/) will be used. | 8. Select **Save**. ## Add payment links This step is only required if you want to support Pay by Link payments with OOBO. To show the payment links on the order summary pages, configure your order summary page layout. 1. In your Salesforce OMS Org, Go to **Setup** > **Object Manager**. 2. Select **Order Summary**. 3. Select **Page Layouts**, and then select **Order Summary Layout**. 4. In the layout editor, drag the **Payments links** field to the **Related List** section. ## Add configuration to manage payment links This step is only required if you want to support Pay by Link payments with OOBO. Add configuration to add buttons to your order summary page that lets you expire and regenerate payment links. 1. On the **Order Summary Layout** page, next to the **Payment Links** related list, select the wrench icon. 2. Expand the **Buttons** section. 3. Move the **Expire Link** and **Regenerate Link** buttons from **Available Buttons** to **Selected Buttons**. 4. Selected **OK**. 5. Select **Save** to save your changes to the page layout. After you have set up the buttons, you can manage your payment links from the OMS. After a payment link is created, in Salesforce, navigate to the order summary page. On this page, you can select either: * **Expire**: all payment links associated with the order will be expired, and shoppers cannot continue to make payments using the previously generated links. * **Regenerate**: all payment links associated with the order will be expired, and a new payment link will be generated. ## 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](#associate-payment-gateway) 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](https://help.salesforce.com/s/articleView?id=sf.perm_sets_assigning.htm\&type=5). ### 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](#cart-and-checkout-data-connection). ### 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](#associate-payment-gateway) and that your adapter configuration is correct. ### Missing merchant account role If the API Logs in your [Customer Area](https://ca-test.adyen.com/) > **Developers** > **API Logs** display the **403** [HTTP response](/development-resources/response-handling/#http-responses), your API credential is missing the required account role. Assign the [API PCI Payments role](/development-resources/api-credentials/roles/#frequently-used-roles-for-payments) to your API credential.