{"title":"Manually set up the package","category":"default","creationDate":1760436600,"content":"<p>This page explains how to manually integrate with our OMS package to manage orders for your Salesforce Commerce Cloud store that uses the Adyen payments cartridge.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>For Salesforce OMS v3.3.0 and later, the default setup is through the <a href=\"\/pt\/plugins\/salesforce-order-management-system\/install-and-set-up-the-package?plugin=Salesforce%20OMS&amp;integration=package#guided-configuration\">guided configuration<\/a>.<\/p>\n<p>Use the instructions on this page if you want to set up your Salesforce OMS package manually.<\/p>\n<\/div><\/div>\n<h2 id=\"requirements\">Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you have a Salesforce Commerce Cloud (SFCC) storefront that uses the <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\">Adyen payments cartridge<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/pt\/development-resources\/webhooks\">Webhooks<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">Subscribe to the Standard webhooks.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin: <ul><li markdown=\"1\">Create a Salesforce OMS Org.<\/li><li markdown=\"1\">Connect your SFCC storefront and OMS Org. Refer to <a href=\"https:\/\/resources.docs.salesforce.com\/latest\/latest\/en-us\/sfdc\/pdf\/sfom_impl_b2ce.pdf\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">the documentation from Salesforce<\/a> to read more about connecting B2C Commerce and Order Management.<\/li><li markdown=\"1\"><a href=\"\/pt\/online-payments\/capture\/#enable-manual-capture\">Enable manual capture<\/a> in your Customer Area.<\/li><li markdown=\"1\">Install the base dependent <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=a0N3u00000PraxuEAB\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\"><code>API Library Apex Adyen<\/code> package<\/a>  with the installation key <strong>Payments@Adyen<\/strong>.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"how-it-works\">How it works<\/h2>\n<p>With our Salesforce OMS package, you handle captures and refunds for the payments of your <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\">Salesforce Commerce Cloud storefront<\/a>. The package keeps the Adyen and Salesforce systems in sync, so that you can seamlessly manage your order and payment flows.<\/p>\n<p>To set up the package:<\/p>\n<ol>\n<li><a href=\"#install-the-app\">Install the package<\/a>.<\/li>\n<li><a href=\"#set-up-payment-gateway\">Configure package components<\/a> in your OMS Org.<\/li>\n<li><a href=\"#configure-package-components\">Set up the payment gateway<\/a> in your OMS Org.<\/li>\n<li><a href=\"#set-up-webhooks\">Set up webhooks<\/a> in your OMS Org and the Adyen Customer Area.<\/li>\n<li><a href=\"#set-up-alternative-payment-methods\">Set up alternative payment methods<\/a> in your OMS Org.<\/li>\n<li><a href=\"#configure-capture-settings\">Configure capture settings<\/a> in your SFCC Business Manager.<\/li>\n<\/ol>\n<h2 id=\"install-the-app\">Install the app<\/h2>\n<ol>\n<li>In your Salesforce OMS Org, <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.comm_currency_considerations.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">enable multiple currencies<\/a>.<\/li>\n<li>Install the <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=a0N3u00000ON7RtEAL&amp;tab=d\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Adyen Payments for Salesforce Order Management (SOM) app<\/a> with the installation key <strong>Payments@Adyen<\/strong>.<\/li>\n<li>Follow the instructions on the <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.appExchangeInstallGuide.meta\/appExchangeInstallGuide\/appexchange_install_installation.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Salesforce Application Installation Guide<\/a>.<\/li>\n<\/ol>\n<h2 id=\"set-up-payment-gateway\">Set up the Payment Gateway<\/h2>\n<p>To set up the Payment Gateway:<\/p>\n<ol>\n<li><a href=\"#create-payment-gateway\">Create a Payment Gateway record<\/a>.<\/li>\n<li>Only if you process <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\/sfra\/set-up-the-cartridge?plugin=Salesforce%20SFRA&amp;integration=cartridge&amp;version=latest#set-up-in-person-payments\">in-person payments with endless aisle<\/a>, <a href=\"#create-pos-payment-gateway\">create a payment gateway record for in-person payments<\/a>.<\/li>\n<\/ol>\n<h3 id=\"create-payment-gateway\">Create a Payment Gateway record<\/h3>\n<p>Create a Payment Gateway record in Salesforce:<\/p>\n<ol>\n<li>\n<p>In the <strong>App Launcher<\/strong>, search for <strong>Payment Gateways<\/strong> and select it.<\/p>\n<\/li>\n<li>\n<p>Select <strong>New<\/strong> and enter the following values into the corresponding fields:<\/p>\n<table>\n<thead>\n<tr>\n<th>Field<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Payment Gateway Name<\/td>\n<td><strong>Adyen<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Payment Gateway Provider<\/td>\n<td>Select <strong>Adyen OMS Provider<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td>Merchant Credential<\/td>\n<td>Select <strong>AdyenCheckout<\/strong>.     <div class=\"sc-notice note\"><div> Due to a <a href=\"https:\/\/issues.salesforce.com\/issue\/a028c00000zLQG6AAO\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">known Salesforce issue<\/a>, you may not be able to select <strong>AdyenCheckout<\/strong>. If you experience this, go to <strong>Setup<\/strong> &gt; <strong>Named Credentials<\/strong>, and select <strong>Adyen Checkout<\/strong>. Then, go back to the <strong>Adyen<\/strong> Payment Gateway record, select <strong>Refresh<\/strong>, and try again. <\/div><\/div><\/td>\n<\/tr>\n<tr>\n<td>Status<\/td>\n<td><strong>Active<\/strong><\/td>\n<\/tr>\n<tr>\n<td>External Reference<\/td>\n<td><strong>Adyen_Component<\/strong>. This value must match your SFCC B2C Payment Processor ID.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>Select <strong>Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"create-pos-payment-gateway\">Create a Payment Gateway record for in-person payments<\/h3>\n<div class=\"notices green\">\n<p>This step is only required if you process <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\/sfra\/set-up-the-cartridge?plugin=Salesforce%20SFRA&amp;integration=cartridge&amp;version=latest#set-up-in-person-payments\">in-person payments with endless aisle<\/a>.<\/p>\n<\/div>\n<p>Create a Payment Gateway record in Salesforce:<\/p>\n<ol>\n<li>\n<p>In the <strong>App Launcher<\/strong>, search for <strong>Payment Gateways<\/strong> and select it.<\/p>\n<\/li>\n<li>\n<p>Select <strong>New<\/strong> and enter the following values into the corresponding fields:<\/p>\n<table>\n<thead>\n<tr>\n<th>Field<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Payment Gateway Name<\/td>\n<td><strong>AdyenPos<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Payment Gateway Provider<\/td>\n<td>Select <strong>Adyen OMS Provider<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td>Merchant Credential<\/td>\n<td>Select <strong>AdyenCheckout<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td>Status<\/td>\n<td><strong>Active<\/strong><\/td>\n<\/tr>\n<tr>\n<td>External Reference<\/td>\n<td><strong>Adyen_POS<\/strong>. This value must match your SFCC B2C Payment Processor ID.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>Select <strong>Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"set-up-webhooks\">Set up webhooks<\/h2>\n<p>Adyen uses webhooks to send you updates on payment statuses. To enable receiving these webhooks:<\/p>\n<ol>\n<li><a href=\"#expose-salesforce-site-endpoint\">Expose a Salesforce site endpoint<\/a>. You need to expose different Salesforce site endpoints to receive default payment status updates, and updates related to payment modifications initiated from the Adyen Customer Area.<\/li>\n<li><a href=\"#update-site-url-for-the-named-credential\">Update the Site URL<\/a> for your Named Credential.<\/li>\n<li><a href=\"#configure-webhook\">Configure webhooks<\/a> in the Customer Area, for each of your Salesforce site endpoints.<\/li>\n<li><a href=\"#test-webhook\">Test your webhook configuration<\/a>.<\/li>\n<\/ol>\n<h3 id=\"expose-salesforce-site-endpoint\">Expose the Salesforce site endpoint<\/h3>\n<ol>\n<li>In your Salesforce OMS Org, go to <strong>Setup<\/strong> &gt; <strong>User Interface<\/strong> &gt; <strong>Sites and Domains<\/strong> - <strong>Sites<\/strong>, and then select <strong>Sites<\/strong>.<\/li>\n<li>Select <strong>New<\/strong>.<\/li>\n<li>Enter a label, for example <strong>Adyen<\/strong>.<\/li>\n<li>Enter a unique value for the default web address, for example <code>http:\/\/dev-myorganization--sandbox.cs17.force.com\/adyen<\/code>.<\/li>\n<li>Select <strong>Active<\/strong>.<\/li>\n<li>Select an <strong>Active Site Home Page<\/strong>, for example, <strong>UnderConstruction<\/strong>.<\/li>\n<li>Select <strong>Guest Access to the Payments API<\/strong>.<\/li>\n<li>Select <strong>Save<\/strong> to save your changes and make sure the site is active.<\/li>\n<\/ol>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Webhook endpoint URL format'\" :id=\"''\" :code-data='[{\"language\":\"text\",\"tabTitle\":\"\",\"content\":\"YOUR_SALESFORCE_SITE_URL\\\/adyen\\\/services\\\/apexrest\\\/adyen_payment\\\/adyenNotification\\\/v1\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>For example:<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Example Webhook endpoint URL'\" :id=\"''\" :code-data='[{\"language\":\"text\",\"tabTitle\":\"\",\"content\":\"https:\\\/\\\/dev-clientname.cs17.force.com\\\/adyen\\\/services\\\/apexrest\\\/adyen_payment\\\/adyenNotification\\\/v1\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>Save the endpoint URL in your system, you will need it when you <a href=\"#configure-webhook\">configure webhooks in the Customer Area<\/a>.<\/p>\n<h4>Configure permissions for the site endpoint<\/h4>\n<ol>\n<li>From the <strong>Site details<\/strong> page, click <strong>Public Access Settings<\/strong>.<\/li>\n<li>Configure Custom Metadata Type Access:\n<ul>\n<li>Under <strong>Apps<\/strong>, select <strong>Custom Metadata Type Access<\/strong>, click <strong>Edit<\/strong> and enable the Adyen Adapter metadata type by moving it to the <strong>Enabled<\/strong> column, then <strong>Save<\/strong>.<\/li>\n<\/ul><\/li>\n<li>Configure Apex Class Access:\n<ul>\n<li>Under <strong>Apps<\/strong>, select <strong>Apex Class Access<\/strong>, click <strong>Edit<\/strong>, and add <strong>AdyenWebhookNotificationHandler<\/strong> &amp; <strong>NonPaymentWebhookHandler<\/strong> to <strong>Enabled Apex Classes<\/strong>, then <strong>Save<\/strong>.<\/li>\n<\/ul><\/li>\n<li>Configure External Credential Principal Access:\n<ul>\n<li>Under <strong>Apps<\/strong>, select <strong>External Credential Principal Access<\/strong>, click <strong>Edit<\/strong>, add <strong>NoAuthCredential<\/strong> to <strong>Enabled External Credential Principals<\/strong>, then <strong>Save<\/strong>.<\/li>\n<\/ul><\/li>\n<\/ol>\n<h3>Update Site URL for the Named Credential<\/h3>\n<ol>\n<li>Go to <strong>Setup<\/strong> &gt; <strong>Security<\/strong> &gt; <strong>Named Credentials<\/strong>, and select <strong>AdyenWebhookEndpoint<\/strong>.<\/li>\n<li>On the Named Credential page, select <strong>Edit<\/strong>.<br \/>\nThis opens a modal window.<\/li>\n<li>For the <strong>URL<\/strong>&lt; enter your Salesforce site URL. For example: <a href=\"https:\/\/dev-clientname.cs17.force.com\/adyen\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">https:\/\/dev-clientname.cs17.force.com\/adyen<\/a>.<\/li>\n<li>Select <strong>Enable for Callouts<\/strong>.<\/li>\n<li>Select <strong>Save<\/strong>.<\/li>\n<\/ol>\n<h3 id=\"configure-webhook\">Configure webhooks in the Customer Area<\/h3>\n<p>Configure webhooks for each of the Salesforce site endpoint URLs you exposed.<\/p>\n<p>To configure a webhook:<\/p>\n<ol>\n<li>\n<p>In your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, go to <strong>Developers<\/strong>\u00a0&gt;\u00a0 <strong>Webhooks<\/strong>.<\/p>\n<div class=\"notices green\">\n<p>We <a href=\"\/pt\/development-resources\/webhooks\/configure-and-manage#configuring-a-webhook\">recommend to configure webhooks for your company account<\/a>. This ensures that you do not have duplicate webhook configurations, and improves performance.<\/p>\n<\/div>\n<\/li>\n<li>\n<p>Select <i class=\"adl-icon-add\" role=\"img\" aria-label=\"add icon\"><\/i> <strong>Webhook<\/strong>.<\/p>\n<\/li>\n<li>\n<p>From the list of webhooks, next to <strong>Standard webhook<\/strong>, select <strong>Add<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Under <strong>General<\/strong>, configure the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Enabled<\/strong><\/td>\n<td>Select the toggle to enable or disable the webhook.<\/td>\n<\/tr>\n<tr>\n<td><strong>Version<\/strong><\/td>\n<td>The webhook version.<\/td>\n<\/tr>\n<tr>\n<td><strong>Description<\/strong><\/td>\n<td>Your description of the webhook.<\/td>\n<\/tr>\n<tr>\n<td><strong>Merchant accounts<\/strong><\/td>\n<td>You can apply the webhook to all merchant accounts under a company account, or only to specific merchant accounts.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>Under <strong>Server configuration<\/strong>, configure the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>URL<\/strong><\/td>\n<td>Your webhook endpoint URL.<\/td>\n<\/tr>\n<tr>\n<td><strong>Method<\/strong><\/td>\n<td><strong>JSON<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>Encryption protocol<\/strong><\/td>\n<td>The latest <strong>TLS version<\/strong> in the list.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>Under <strong>Security<\/strong>, configure the following:<\/p>\n<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>HMAC Key<\/strong><\/td>\n<td><a href=\"\/pt\/development-resources\/webhooks\/secure-webhooks\/verify-hmac-signatures#enable-hmac-signatures\">Generate the HMAC Key<\/a>, copy it, and store it securely in your system. You need to enter the HMAC key when you <a href=\"#configure-package-components\">configure package components<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ol>\n<li>Under <strong>Events<\/strong>, in addition to the default events that are selected, select the following events:\n<ul>\n<li><strong>CAPTURE<\/strong>, <strong>CAPTURE_FAILED<\/strong>, <strong>REFUND<\/strong>, and <strong>REFUND_FAILED<\/strong>.<\/li>\n<li>For <a href=\"\/pt\/plugins\/salesforce-order-management-system\/authorization-reversal\">Authorization Reversal<\/a>, select <strong>CANCELLATION<\/strong>.<\/li>\n<li>For <a href=\"\/pt\/plugins\/salesforce-order-management-system\/set-up-oobo\">Order on Behalf Of<\/a>, select <strong>AUTHORISATION<\/strong>.<\/li>\n<\/ul><\/li>\n<li>Select <strong>Save configuration<\/strong>.<\/li>\n<\/ol>\n<div class=\"notices green\">\n<p>Rarely, a refund or capture can fail after you have received a <strong>REFUND<\/strong> or <strong>CAPTURE<\/strong> webhook with <code>success:<\/code> <strong>true<\/strong>. After a payment is processed in Salesforce, the status cannot be changed. Therefore, we recommend to monitor these cases in the <code>GatewayResultCode<\/code> field of the <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.object_reference.meta\/object_reference\/sforce_api_objects_paymentgatewaylog.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">PaymentGatewayLog<\/a> object in Salesforce. When a refund or capture fails, the <code>GatewayResultCode<\/code> is marked with <strong>CAPTURE_FAILED<\/strong>, or <strong>REFUND_FAILED<\/strong>. Learn more in our <a href=\"\/pt\/online-payments\/capture#failed-capture\">Capture<\/a> and <a href=\"\/pt\/online-payments\/refund#refund-failed\">Refund<\/a> documentation.<\/p>\n<\/div>\n<h3 id=\"test-webhook\">Test your webhook configuration<\/h3>\n<p>Before you can test your webhook configuration, you have to add your HMAC key in your <a href=\"#configure-adyen-custom-metadata\">Salesforce custom metadata configuration<\/a>.<\/p>\n<ol>\n<li>In your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, go to <strong>Developers<\/strong> &gt; <strong>Webhooks<\/strong>.<\/li>\n<li>Next to <strong>Standard webhook<\/strong>, select the edit webhook icon <i class=\"adl-icon-edit\"><\/i>.<\/li>\n<li>Select <strong>Test Configuration<\/strong>.<\/li>\n<li>If you are on a <a href=\"\/pt\/account\/account-structure#company-account\">company account<\/a>, select a <strong>Merchant account<\/strong> from the dropdown list.<\/li>\n<li>In the <strong>Event<\/strong> dropdown list, select the <a href=\"\/pt\/development-resources\/webhooks\/webhook-types#event-codes\">event code<\/a>.<\/li>\n<\/ol>\n<p>If your webhook configuration is correct, it shows a <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/HTTP\/Status#successful_responses\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">successful HTTP response status code<\/a>, for example <code>ResponseCode<\/code>: <strong>200<\/strong>.<\/p>\n<h2 id=\"configure-package-components\">Configure package components<\/h2>\n<p>In your Salesforce OMS Org, configure package components:<\/p>\n<ol>\n<li><a href=\"#add-adyen-fields-to-layout\">Add new Adyen fields to the layout<\/a>.<\/li>\n<li><a href=\"#set-up-the-principal-credential\">Set up the Principal Credential<\/a>.<\/li>\n<li><a href=\"#configure-adyen-custom-metadata\">Configure Adyen custom metadata type<\/a>.<\/li>\n<li>Optionally, <a href=\"#configure-sales-channel\">configure a merchant account for a sales channel<\/a>.<\/li>\n<\/ol>\n<h3 id=\"add-adyen-fields-to-layout\">Add new Adyen fields to the layout<\/h3>\n<ol>\n<li>From <strong>Setup<\/strong>, go to <strong>Object Manager<\/strong>.<\/li>\n<li>Search for and click on the <strong>Sales Channel<\/strong> object.<\/li>\n<li>Click on <strong>Page Layouts<\/strong> and select the page layout that you want the new <strong>Adyen Merchant Account<\/strong> field to appear in.<\/li>\n<li>Drag and drop the field to your selected layout.<\/li>\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n<p>Repeat these steps for the <strong>Payment<\/strong> and <strong>Payment Authorization<\/strong> objects by adding the <strong>Adyen Payment Method<\/strong> and <strong>Adyen Payment Method Variant<\/strong> fields.<\/p>\n<h3 id=\"configure-named-credential\">Set up the Principal Credential<\/h3>\n<p>The package uses Named Credentials to perform authentication between the Salesforce OMS and Adyen. When you <a href=\"#install-the-app\">install the app<\/a>, the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.named_credentials_about.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Named Credential<\/a> is set up automatically.<\/p>\n<p>You must also set up a <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.nc_enable_ext_cred_principal.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\"> Principal Credential<\/a>.<\/p>\n<div class=\"notices yellow\">\n<p><a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.named_credentials_legacy_about.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\"> Legacy Named Credentials <\/a> are deprecated by Salesforce and are not used in our package from this version onwards.<\/p>\n<\/div>\n<p>These steps below are based on the <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.users_profiles_about_enhanced_ui.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Salesforce Enhanced Profile User Interface<\/a>. If you use the old view, the steps you have to take may differ.<\/p>\n<p>In addition to the Named Credential, you need to set up a Principal Credential. To do this, in your OMS Org:<\/p>\n<ol>\n<li>Go to <strong>Setup<\/strong> &gt; <strong>Security<\/strong> &gt; <strong>Named Credentials<\/strong>.<\/li>\n<li>Under <strong>External Credential<\/strong>, select <strong>Adyen API<\/strong>.<\/li>\n<li>Under <strong>Principals<\/strong>, next to the <strong>AdyenParameterKey<\/strong>, select the <strong>Actions<\/strong> button, and then select <strong>Edit<\/strong>.<br \/>\nThis opens a modal window.<\/li>\n<li>Select <strong>Add<\/strong>, and add an authentication parameter with the following properties:\n<ul>\n<li><strong>Name<\/strong>: <strong>ApiKey<\/strong><\/li>\n<li><strong>Value<\/strong>: <a href=\"\/pt\/development-resources\/api-credentials\/#generate-api-key\">Your API key<\/a><\/li>\n<\/ul><\/li>\n<\/ol>\n<p>After setting up the Principal, give access to this Principal with a permission set:<\/p>\n<ol>\n<li>Go to <strong>Setup<\/strong> &gt; <strong>Users<\/strong> &gt; <strong>Permission Sets<\/strong>.<\/li>\n<li>Select <strong>New<\/strong>.<\/li>\n<li>In the <strong>Label<\/strong> field, enter a name, and select <strong>Save<\/strong>.<\/li>\n<li>Select <strong>External Credential Principal Access<\/strong>.<\/li>\n<li>Select <strong>Edit<\/strong> and enable the Principal you have set up by moving it from the <strong>Available<\/strong> to the <strong>Enabled<\/strong> column.<\/li>\n<li>Go back to the permission set, and select <strong>Object Settings<\/strong>.<\/li>\n<li>Select <strong>User External Credentials<\/strong>, and select <strong>Edit<\/strong>.<\/li>\n<li>Next to <strong>Read<\/strong>, select the checkbox to give read access.<\/li>\n<li>\n<p>Assign the permission set you have created to the <strong>Automated Process<\/strong> user. This user is a hidden Salesforce user that runs scheduled flows and other automated processes, including the payment flows. If you have modified <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.wf_approval_settings.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\"> your process automation settings <\/a>, this user may differ.<\/p>\n<ol>\n<li>Select <strong>Manage Assignments<\/strong>, and then select <strong>Add Assignment<\/strong>.<\/li>\n<li>In the user list, select the <strong>Automated Process<\/strong> user, and select <strong>Next<\/strong>.<br \/>\nIf the user is not visible in the list, switch to the <strong>All Users<\/strong> list view and search for <strong>auto<\/strong>,<\/li>\n<li>Select <strong>Assign<\/strong>.<\/li>\n<\/ol>\n<p>Alternatively, you can assign also assign the permission set to the <strong>Automated Process<\/strong> user by:<\/p>\n<ol>\n<li>\n<p>In your Developer Console, query the Profile Id for this user with the following:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;txt&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;SELECT ProfileId FROM User WHERE Alias = 'autoproc'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Construct a URL to access the page where you can edit permissions.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"''\" :code-data='[{\"language\":\"txt\",\"tabTitle\":\"\",\"content\":\"YOUR_SF_ORG_URL\\\/_ui\\\/system\\\/user\\\/ProfileExternalCredentialPrincipalPermissionEdit\\\/e?profile_id=PROFILE_ID\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<ul>\n<li><code>YOUR_SF_ORG_URL<\/code>: Your Salesforce Org Url.<\/li>\n<li><code>PROFILE_ID<\/code>: The profile Id you received as a result to the query.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Navigate to the URL that you constructed.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Edit<\/strong> and enable the Principal you have set up by moving it from the <strong>Available<\/strong> to the <strong>Enabled<\/strong> column.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3 id=\"configure-adyen-custom-metadata\">Configure Adyen custom metadata type<\/h3>\n<ol>\n<li>In your OMS Org, go to <strong>Setup<\/strong> &gt; <strong>Custom Code<\/strong> &gt; <strong>Custom Metadata Types<\/strong>.<\/li>\n<li>Next to <strong>Adyen Adapter<\/strong>, select <strong>Manage Records<\/strong>.<\/li>\n<li>Next to <strong>Adyen Default<\/strong>, select <strong>Edit<\/strong>.<\/li>\n<li>Fill the following fields:\n<ul>\n<li><strong>Merchant Account<\/strong>: your <a href=\"\/pt\/account\/account-structure#merchant-accounts\">Adyen merchant account name<\/a>. This field is case-sensitive.<\/li>\n<li><strong>HMAC Key<\/strong>: your <a href=\"#set-up-webhooks\">HMAC key<\/a>.<\/li>\n<li><strong>Webhook ID<\/strong>: your <a href=\"\/pt\/development-resources\/webhooks\/configure-and-manage#set-up-webhooks-in-your-customer-area\">Webhook<\/a> ID.<\/li>\n<\/ul><\/li>\n<li>Select <strong>Save<\/strong>.<\/li>\n<\/ol>\n<p>After you have added your HMAC key in Salesforce, <a href=\"#test-webhook\">test your webhook configuration<\/a>.<\/p>\n<h3 id=\"configure-sales-channel\">(Optional) Configure sales channels<\/h3>\n<p>Optionally, you can link your <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.om_sales_channel_fields.htm&amp;type=5\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\"> sales channels <\/a> to use specific Adyen merchant accounts. Sales channels that are not linked to a specific merchant account use the merchant account you <a href=\"#configure-adyen-custom-metadata\">configured in the <strong>Adyen Default<\/strong> custom metadata record<\/a>.<\/p>\n<p>Before you can link an Adyen merchant account to a sales channel, make sure that:<\/p>\n<ul>\n<li>The merchant account has <a href=\"\/pt\/development-resources\/api-credentials\/#api-permissions\">API permissions<\/a>.<\/li>\n<li>There is a <a href=\"#configure-adyen-custom-metadata\">custom metadata record<\/a> with the merchant account name in the <strong>Adyen Adapter<\/strong> custom metadata object.<\/li>\n<\/ul>\n<p>To link an Adyen merchant account to a sales channel:<\/p>\n<ol>\n<li>In your OMS Org, go to the App Launcher, , search for <strong>Sales Channels<\/strong>.<\/li>\n<li>Select the <strong>Sales Channel<\/strong> that you want to configure a merchant account for.<\/li>\n<li>Set the <strong>Adyen Merchant Account<\/strong> field to the name of the merchant account that you want to link to this sales channel.<\/li>\n<\/ol>\n<h2 id=\"set-up-alternative-payment-methods\">Set up alternative payment methods<\/h2>\n<p>To set up alternative payment methods, add permissions in Salesforce:<\/p>\n<ol>\n<li>In your Salesforce OMS Org, go to <strong>Setup<\/strong> &gt; <strong>Permission Sets<\/strong> &gt; <strong>Order Management B2C service<\/strong> &gt; <strong>Object Settings<\/strong> &gt; <strong>Alternative Payment Methods<\/strong> &gt; <strong>Edit<\/strong>.<\/li>\n<li>Under <strong>Record Type Assignments<\/strong> &gt; <strong>Alternative Payment Method record type<\/strong>, select the <strong>Assigned Record Types<\/strong> checkbox.<\/li>\n<li>Click <strong>Save<\/strong>.<\/li>\n<li>Go back to <strong>Object Settings<\/strong> and go to <strong>Payment Authorizations<\/strong> &gt; <strong>Edit<\/strong>.<\/li>\n<li>Under <strong>Field Permissions<\/strong>, add <strong>Edit access<\/strong> for the <strong>Adyen Payment Method<\/strong> and <strong>Adyen Payment Method Variant<\/strong> fields.<\/li>\n<li>Click <strong>Save<\/strong>.<\/li>\n<li>Go back to <strong>Object Settings<\/strong> and go to <strong>Payments<\/strong> &gt; <strong>Edit<\/strong>.<\/li>\n<li>Under <strong>Field Permissions<\/strong>, add <strong>Edit access<\/strong> for the <strong>Adyen Payment Method<\/strong> and <strong>Adyen Payment Method Variant<\/strong> fields.<\/li>\n<li>Click <strong>Save<\/strong>.<\/li>\n<\/ol>\n<h2>Configure capture settings<\/h2>\n<p>With our OMS package, you can capture payments at any step in your order fulfillment flow. The steps you need to follow to configure captures in SFCC depends on your capture setting in the Adyen Customer Area:<\/p>\n<ul>\n<li><a href=\"\/pt\/online-payments\/capture\/#manual-capture\">\n  <strong>Manual capture<\/strong>\n<\/a>: you can capture payments from the OMS after they have been authorized.<\/li>\n<li><a href=\"\/pt\/online-payments\/capture\">\n  <strong>Automatic capture<\/strong>\n<\/a>: payments are captured automatically after authorization. You do not have to manually capture payments from the OMS. Our OMS package handles the automatic captures without disrupting the payment flow. If you have set up automatic capture in your Customer Area, follow the steps to <a href=\"#enable-automatic-captures\">enable automatic captures with OMS<\/a>.<\/li>\n<\/ul>\n<p>Regardless of your setting, payments for some payment methods are captured immediately after authorization. You must <a href=\"#payment-methods-without-capture\">specify these payment methods<\/a> in your Salesforce Business Manager to prevent duplicate capture requests.<\/p>\n<h3 id=\"enable-automatic-captures\">Enable automatic captures<\/h3>\n<p>To prevent OMS from making duplicate capture requests to Adyen when you have set up <a href=\"\/pt\/online-payments\/capture\">automatic captures<\/a> in your Adyen Customer Area, follow the steps below.<\/p>\n<ol>\n<li>\n<p>In your Salesforce OMS Org, go to <strong>Setup<\/strong> &gt; <strong>Custom Code<\/strong> &gt; <strong>Custom Metadata Types<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Adyen Adapter<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Scroll down to <strong>Adyen Adapter Layout<\/strong>, and select <strong>Edit<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Drag and drop the <strong>Auto Capture Enabled<\/strong> and <strong>Manual Capture Payment Methods<\/strong> fields to the <strong>Adyen Adapter Layout<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Save<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Select <strong>Manage Adyen Adapters<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Next to <strong>Adyen Default<\/strong>, select <strong>Edit<\/strong>.<\/p>\n<\/li>\n<li>\n<p>Select the checkbox next to <strong>Auto Capture Enabled<\/strong>.<br \/>\nWhen you have set this up, OMS will process the payment record without an additional capture request, and the following payment gateway log will be created:<\/p>\n<pre><code class=\"language-text\">[capture-complete] Auto Capture enabled<\/code><\/pre>\n<\/li>\n<li>\n<p>For some payment methods, manual captures are required even when you have set up automatic captures in your Adyen Customer Area. In the <strong>Manual Capture Payment Methods<\/strong> field, specify the payment methods that require manual capture, using the <a href=\"\/pt\/development-resources\/paymentmethodvariant\/\">\n  <code>paymentMethodVariant<\/code>\n<\/a> for each payment method. Separate each variant with a comma, for example:<\/p>\n<pre><code class=\"language-text\">klarna, klarna_account<\/code><\/pre>\n<\/li>\n<li>\n<p>Select <strong>Save<\/strong>.<\/p>\n<\/li>\n<\/ol>\n<h3 id=\"payment-methods-without-capture\">Specify payments without separate captures in SFCC<\/h3>\n<p>Payments for some payment methods are captured immediately after authorization regardless of your capture settings. You need to specify these payment methods that you enabled in the Adyen Customer Area in your Salesforce Business Manager. This prevents OMS from initiating duplicate capture requests.<\/p>\n<ol>\n<li>In your <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\/sfra\/set-up-the-cartridge\/?plugin=Salesforce%20SFRA&amp;integration=cartridge&amp;version=latest#set-up-the-business-manager\">Salesforce Business Manager<\/a>, go to <strong>Merchant Tools<\/strong> &gt; <strong>Site Preferences<\/strong> &gt; <strong>Adyen settings<\/strong> &gt; <strong>Local payment method settings<\/strong>.<\/li>\n<li>In the <strong>Payment methods without separate capture<\/strong> field, specify the payment methods that you added in your Customer Area. Separate each variant with a comma, for example:\n<pre><code class=\"language-text\">ideal, paypal, applepay, visa_applepay, mc_applepay, amex_applepay, klarna_paynow, twint, sepadirectdebit, bcmc, wechatpay, multibanco, blik, mbway, pix, onlineBanking_PL<\/code><\/pre><\/li>\n<li>Select <strong>Save Changes<\/strong>.<\/li>\n<\/ol>\n<h2 id=\"go-live\">Go live<\/h2>\n<p>When you are ready to go live, <a href=\"\/pt\/get-started-with-adyen\/application-requirements\">apply for a live account<\/a>. Review the process to start accepting payments on <a href=\"\/pt\/get-started-with-adyen\">Get started with Adyen<\/a>.<\/p>\n<p>When you get your live account:<\/p>\n<ol>\n<li>Follow our <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\/go-live-checklist\">SFCC go-live checklist<\/a>. You do not need to follow the steps to <a href=\"\/pt\/plugins\/salesforce-commerce-cloud\/go-live-checklist#business-manager\">configure the SFCC Business Manager<\/a> in the checklist.<\/li>\n<li>Update the Adyen credentials you used to set up your Salesforce OMS Org:\n<ul>\n<li>In the <a href=\"#configure-adyen-custom-metadata\">custom metadata record<\/a>:\n<ol>\n<li>Update your HMAC key.<\/li>\n<li>If you are using a different merchant account in the live environment, update the merchant account name.<\/li>\n<\/ol><\/li>\n<\/ul><\/li>\n<li>Switch the URL for the <strong>Adyen Checkout<\/strong> named credential to your live URL:\n<ol>\n<li>In your OMS Org, go to <strong>Setup<\/strong> &gt; <strong>Security<\/strong> &gt; <strong>Named Credentials<\/strong>.<\/li>\n<li>Select the <strong>Adyen Checkout<\/strong> named credential.<\/li>\n<li>Replace the test URL with <code>https:\/\/[YOUR_LIVE_PREFIX]-checkout-live.adyenpayments.com\/checkout<\/code>. <a href=\"\/pt\/development-resources\/live-endpoints\/#live-url-prefix\">Get your live prefix<\/a> from the live Customer Area.<\/li>\n<\/ol><\/li>\n<li>Switch your test API key to your live API Key:\n<ol>\n<li>Select the <strong>External Credential<\/strong> linked to your <strong>Adyen Checkout<\/strong> named credential.<\/li>\n<li>Under <strong>Principals<\/strong>, update your API key authentication parameter to your live API key.<\/li>\n<\/ol><\/li>\n<\/ol>\n<h2>Next steps<\/h2>\n<div class=\"next-steps\" id=\"next-steps\" >\n<a href=\"\/plugins\/salesforce-order-management-system\/set-up-oobo\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><div class=\"next-steps__title\">Set up Order on Behalf Of<\/div><p class=\"next-steps__body\"><p>Enable your customer service employees to place orders on behalf of shoppers.<\/p><\/p><\/a><a href=\"\/plugins\/salesforce-order-management-system\/authorization-reversal\" class=\"next-steps__step\" style=\"width:45%;\" target=\"_self\"><div class=\"next-steps__title\">Enable Auhtorization Reversals<\/div><p class=\"next-steps__body\"><p>Handle situations where you need to reverse an authorization.<\/p><\/p><\/a><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/plugins\/salesforce-order-management-system\/install-and-set-up-the-package\/manual-setup","articleFields":{"description":"Manually set up and configure your Adyen Salesforce OMS package","feedback_component":true,"last_edit_on":"14-10-2025 12:10","filters_component":false,"decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/plugins\/salesforce-order-management-system\/install-and-set-up-the-package\/manual-setup","title":"Manually set up the package","content":"This page explains how to manually integrate with our OMS package to manage orders for your Salesforce Commerce Cloud store that uses the Adyen payments cartridge.\n\nFor Salesforce OMS v3.3.0 and later, the default setup is through the guided configuration.\nUse the instructions on this page if you want to set up your Salesforce OMS package manually.\n\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nMake sure that you have a Salesforce Commerce Cloud (SFCC) storefront that uses the Adyen payments cartridge.\n\n\nWebhooks\nSubscribe to the Standard webhooks.\n\n\nSetup steps\nBefore you begin: Create a Salesforce OMS Org.Connect your SFCC storefront and OMS Org. Refer to the documentation from Salesforce to read more about connecting B2C Commerce and Order Management.Enable manual capture in your Customer Area.Install the base dependent API Library Apex Adyen package  with the installation key Payments@Adyen.\n\n\n\nHow it works\nWith our Salesforce OMS package, you handle captures and refunds for the payments of your Salesforce Commerce Cloud storefront. The package keeps the Adyen and Salesforce systems in sync, so that you can seamlessly manage your order and payment flows.\nTo set up the package:\n\nInstall the package.\nConfigure package components in your OMS Org.\nSet up the payment gateway in your OMS Org.\nSet up webhooks in your OMS Org and the Adyen Customer Area.\nSet up alternative payment methods in your OMS Org.\nConfigure capture settings in your SFCC Business Manager.\n\nInstall the app\n\nIn your Salesforce OMS Org, enable multiple currencies.\nInstall the Adyen Payments for Salesforce Order Management (SOM) app with the installation key Payments@Adyen.\nFollow the instructions on the Salesforce Application Installation Guide.\n\nSet up the Payment Gateway\nTo set up the Payment Gateway:\n\nCreate a Payment Gateway record.\nOnly if you process in-person payments with endless aisle, create a payment gateway record for in-person payments.\n\nCreate a Payment Gateway record\nCreate a Payment Gateway record in Salesforce:\n\n\nIn the App Launcher, search for Payment Gateways and select it.\n\n\nSelect New and enter the following values into the corresponding fields:\n\n\n\nField\nValue\n\n\n\n\nPayment Gateway Name\nAdyen\n\n\nPayment Gateway Provider\nSelect Adyen OMS Provider.\n\n\nMerchant Credential\nSelect AdyenCheckout.      Due to a known Salesforce issue, you may not be able to select AdyenCheckout. If you experience this, go to Setup &gt; Named Credentials, and select Adyen Checkout. Then, go back to the Adyen Payment Gateway record, select Refresh, and try again. \n\n\nStatus\nActive\n\n\nExternal Reference\nAdyen_Component. This value must match your SFCC B2C Payment Processor ID.\n\n\n\n\n\nSelect Save.\n\n\nCreate a Payment Gateway record for in-person payments\n\nThis step is only required if you process in-person payments with endless aisle.\n\nCreate a Payment Gateway record in Salesforce:\n\n\nIn the App Launcher, search for Payment Gateways and select it.\n\n\nSelect New and enter the following values into the corresponding fields:\n\n\n\nField\nValue\n\n\n\n\nPayment Gateway Name\nAdyenPos\n\n\nPayment Gateway Provider\nSelect Adyen OMS Provider.\n\n\nMerchant Credential\nSelect AdyenCheckout.\n\n\nStatus\nActive\n\n\nExternal Reference\nAdyen_POS. This value must match your SFCC B2C Payment Processor ID.\n\n\n\n\n\nSelect Save.\n\n\nSet up webhooks\nAdyen uses webhooks to send you updates on payment statuses. To enable receiving these webhooks:\n\nExpose a Salesforce site endpoint. You need to expose different Salesforce site endpoints to receive default payment status updates, and updates related to payment modifications initiated from the Adyen Customer Area.\nUpdate the Site URL for your Named Credential.\nConfigure webhooks in the Customer Area, for each of your Salesforce site endpoints.\nTest your webhook configuration.\n\nExpose the Salesforce site endpoint\n\nIn your Salesforce OMS Org, go to Setup &gt; User Interface &gt; Sites and Domains - Sites, and then select Sites.\nSelect New.\nEnter a label, for example Adyen.\nEnter a unique value for the default web address, for example http:\/\/dev-myorganization--sandbox.cs17.force.com\/adyen.\nSelect Active.\nSelect an Active Site Home Page, for example, UnderConstruction.\nSelect Guest Access to the Payments API.\nSelect Save to save your changes and make sure the site is active.\n\n\n    \n\nFor example:\n\n    \n\nSave the endpoint URL in your system, you will need it when you configure webhooks in the Customer Area.\nConfigure permissions for the site endpoint\n\nFrom the Site details page, click Public Access Settings.\nConfigure Custom Metadata Type Access:\n\nUnder Apps, select Custom Metadata Type Access, click Edit and enable the Adyen Adapter metadata type by moving it to the Enabled column, then Save.\n\nConfigure Apex Class Access:\n\nUnder Apps, select Apex Class Access, click Edit, and add AdyenWebhookNotificationHandler &amp; NonPaymentWebhookHandler to Enabled Apex Classes, then Save.\n\nConfigure External Credential Principal Access:\n\nUnder Apps, select External Credential Principal Access, click Edit, add NoAuthCredential to Enabled External Credential Principals, then Save.\n\n\nUpdate Site URL for the Named Credential\n\nGo to Setup &gt; Security &gt; Named Credentials, and select AdyenWebhookEndpoint.\nOn the Named Credential page, select Edit.\nThis opens a modal window.\nFor the URL&lt; enter your Salesforce site URL. For example: https:\/\/dev-clientname.cs17.force.com\/adyen.\nSelect Enable for Callouts.\nSelect Save.\n\nConfigure webhooks in the Customer Area\nConfigure webhooks for each of the Salesforce site endpoint URLs you exposed.\nTo configure a webhook:\n\n\nIn your Customer Area, go to Developers\u00a0&gt;\u00a0 Webhooks.\n\nWe recommend to configure webhooks for your company account. This ensures that you do not have duplicate webhook configurations, and improves performance.\n\n\n\nSelect  Webhook.\n\n\nFrom the list of webhooks, next to Standard webhook, select Add.\n\n\nUnder General, configure the following:\n\n\n\nSetting\nDescription\n\n\n\n\nEnabled\nSelect the toggle to enable or disable the webhook.\n\n\nVersion\nThe webhook version.\n\n\nDescription\nYour description of the webhook.\n\n\nMerchant accounts\nYou can apply the webhook to all merchant accounts under a company account, or only to specific merchant accounts.\n\n\n\n\n\nUnder Server configuration, configure the following:\n\n\n\nSetting\nDescription\n\n\n\n\nURL\nYour webhook endpoint URL.\n\n\nMethod\nJSON\n\n\nEncryption protocol\nThe latest TLS version in the list.\n\n\n\n\n\nUnder Security, configure the following:\n\n\n\n\n\nSetting\nDescription\n\n\n\n\nHMAC Key\nGenerate the HMAC Key, copy it, and store it securely in your system. You need to enter the HMAC key when you configure package components.\n\n\n\n\nUnder Events, in addition to the default events that are selected, select the following events:\n\nCAPTURE, CAPTURE_FAILED, REFUND, and REFUND_FAILED.\nFor Authorization Reversal, select CANCELLATION.\nFor Order on Behalf Of, select AUTHORISATION.\n\nSelect Save configuration.\n\n\nRarely, a refund or capture can fail after you have received a REFUND or CAPTURE webhook with success: true. After a payment is processed in Salesforce, the status cannot be changed. Therefore, we recommend to monitor these cases in the GatewayResultCode field of the PaymentGatewayLog object in Salesforce. When a refund or capture fails, the GatewayResultCode is marked with CAPTURE_FAILED, or REFUND_FAILED. Learn more in our Capture and Refund documentation.\n\nTest your webhook configuration\nBefore you can test your webhook configuration, you have to add your HMAC key in your Salesforce custom metadata configuration.\n\nIn your Customer Area, go to Developers &gt; Webhooks.\nNext to Standard webhook, select the edit webhook icon .\nSelect Test Configuration.\nIf you are on a company account, select a Merchant account from the dropdown list.\nIn the Event dropdown list, select the event code.\n\nIf your webhook configuration is correct, it shows a successful HTTP response status code, for example ResponseCode: 200.\nConfigure package components\nIn your Salesforce OMS Org, configure package components:\n\nAdd new Adyen fields to the layout.\nSet up the Principal Credential.\nConfigure Adyen custom metadata type.\nOptionally, configure a merchant account for a sales channel.\n\nAdd new Adyen fields to the layout\n\nFrom Setup, go to Object Manager.\nSearch for and click on the Sales Channel object.\nClick on Page Layouts and select the page layout that you want the new Adyen Merchant Account field to appear in.\nDrag and drop the field to your selected layout.\nClick Save.\n\nRepeat these steps for the Payment and Payment Authorization objects by adding the Adyen Payment Method and Adyen Payment Method Variant fields.\nSet up the Principal Credential\nThe package uses Named Credentials to perform authentication between the Salesforce OMS and Adyen. When you install the app, the Named Credential is set up automatically.\nYou must also set up a  Principal Credential.\n\n Legacy Named Credentials  are deprecated by Salesforce and are not used in our package from this version onwards.\n\nThese steps below are based on the Salesforce Enhanced Profile User Interface. If you use the old view, the steps you have to take may differ.\nIn addition to the Named Credential, you need to set up a Principal Credential. To do this, in your OMS Org:\n\nGo to Setup &gt; Security &gt; Named Credentials.\nUnder External Credential, select Adyen API.\nUnder Principals, next to the AdyenParameterKey, select the Actions button, and then select Edit.\nThis opens a modal window.\nSelect Add, and add an authentication parameter with the following properties:\n\nName: ApiKey\nValue: Your API key\n\n\nAfter setting up the Principal, give access to this Principal with a permission set:\n\nGo to Setup &gt; Users &gt; Permission Sets.\nSelect New.\nIn the Label field, enter a name, and select Save.\nSelect External Credential Principal Access.\nSelect Edit and enable the Principal you have set up by moving it from the Available to the Enabled column.\nGo back to the permission set, and select Object Settings.\nSelect User External Credentials, and select Edit.\nNext to Read, select the checkbox to give read access.\n\nAssign the permission set you have created to the Automated Process user. This user is a hidden Salesforce user that runs scheduled flows and other automated processes, including the payment flows. If you have modified  your process automation settings , this user may differ.\n\nSelect Manage Assignments, and then select Add Assignment.\nIn the user list, select the Automated Process user, and select Next.\nIf the user is not visible in the list, switch to the All Users list view and search for auto,\nSelect Assign.\n\nAlternatively, you can assign also assign the permission set to the Automated Process user by:\n\n\nIn your Developer Console, query the Profile Id for this user with the following:\n\n\n\n\n\nConstruct a URL to access the page where you can edit permissions.\n\n\n\n\nYOUR_SF_ORG_URL: Your Salesforce Org Url.\nPROFILE_ID: The profile Id you received as a result to the query.\n\n\n\nNavigate to the URL that you constructed.\n\n\nSelect Edit and enable the Principal you have set up by moving it from the Available to the Enabled column.\n\n\nSelect Save.\n\n\n\n\nConfigure Adyen custom metadata type\n\nIn your OMS Org, go to Setup &gt; Custom Code &gt; Custom Metadata Types.\nNext to Adyen Adapter, select Manage Records.\nNext to Adyen Default, select Edit.\nFill the following fields:\n\nMerchant Account: your Adyen merchant account name. This field is case-sensitive.\nHMAC Key: your HMAC key.\nWebhook ID: your Webhook ID.\n\nSelect Save.\n\nAfter you have added your HMAC key in Salesforce, test your webhook configuration.\n(Optional) Configure sales channels\nOptionally, you can link your  sales channels  to use specific Adyen merchant accounts. Sales channels that are not linked to a specific merchant account use the merchant account you configured in the Adyen Default custom metadata record.\nBefore you can link an Adyen merchant account to a sales channel, make sure that:\n\nThe merchant account has API permissions.\nThere is a custom metadata record with the merchant account name in the Adyen Adapter custom metadata object.\n\nTo link an Adyen merchant account to a sales channel:\n\nIn your OMS Org, go to the App Launcher, , search for Sales Channels.\nSelect the Sales Channel that you want to configure a merchant account for.\nSet the Adyen Merchant Account field to the name of the merchant account that you want to link to this sales channel.\n\nSet up alternative payment methods\nTo set up alternative payment methods, add permissions in Salesforce:\n\nIn your Salesforce OMS Org, go to Setup &gt; Permission Sets &gt; Order Management B2C service &gt; Object Settings &gt; Alternative Payment Methods &gt; Edit.\nUnder Record Type Assignments &gt; Alternative Payment Method record type, select the Assigned Record Types checkbox.\nClick Save.\nGo back to Object Settings and go to Payment Authorizations &gt; Edit.\nUnder Field Permissions, add Edit access for the Adyen Payment Method and Adyen Payment Method Variant fields.\nClick Save.\nGo back to Object Settings and go to Payments &gt; Edit.\nUnder Field Permissions, add Edit access for the Adyen Payment Method and Adyen Payment Method Variant fields.\nClick Save.\n\nConfigure capture settings\nWith our OMS package, you can capture payments at any step in your order fulfillment flow. The steps you need to follow to configure captures in SFCC depends on your capture setting in the Adyen Customer Area:\n\n\n  Manual capture\n: you can capture payments from the OMS after they have been authorized.\n\n  Automatic capture\n: payments are captured automatically after authorization. You do not have to manually capture payments from the OMS. Our OMS package handles the automatic captures without disrupting the payment flow. If you have set up automatic capture in your Customer Area, follow the steps to enable automatic captures with OMS.\n\nRegardless of your setting, payments for some payment methods are captured immediately after authorization. You must specify these payment methods in your Salesforce Business Manager to prevent duplicate capture requests.\nEnable automatic captures\nTo prevent OMS from making duplicate capture requests to Adyen when you have set up automatic captures in your Adyen Customer Area, follow the steps below.\n\n\nIn your Salesforce OMS Org, go to Setup &gt; Custom Code &gt; Custom Metadata Types.\n\n\nSelect Adyen Adapter.\n\n\nScroll down to Adyen Adapter Layout, and select Edit.\n\n\nDrag and drop the Auto Capture Enabled and Manual Capture Payment Methods fields to the Adyen Adapter Layout.\n\n\nSelect Save.\n\n\nSelect Manage Adyen Adapters.\n\n\nNext to Adyen Default, select Edit.\n\n\nSelect the checkbox next to Auto Capture Enabled.\nWhen you have set this up, OMS will process the payment record without an additional capture request, and the following payment gateway log will be created:\n[capture-complete] Auto Capture enabled\n\n\nFor some payment methods, manual captures are required even when you have set up automatic captures in your Adyen Customer Area. In the Manual Capture Payment Methods field, specify the payment methods that require manual capture, using the \n  paymentMethodVariant\n for each payment method. Separate each variant with a comma, for example:\nklarna, klarna_account\n\n\nSelect Save.\n\n\nSpecify payments without separate captures in SFCC\nPayments for some payment methods are captured immediately after authorization regardless of your capture settings. You need to specify these payment methods that you enabled in the Adyen Customer Area in your Salesforce Business Manager. This prevents OMS from initiating duplicate capture requests.\n\nIn your Salesforce Business Manager, go to Merchant Tools &gt; Site Preferences &gt; Adyen settings &gt; Local payment method settings.\nIn the Payment methods without separate capture field, specify the payment methods that you added in your Customer Area. Separate each variant with a comma, for example:\nideal, paypal, applepay, visa_applepay, mc_applepay, amex_applepay, klarna_paynow, twint, sepadirectdebit, bcmc, wechatpay, multibanco, blik, mbway, pix, onlineBanking_PL\nSelect Save Changes.\n\nGo live\nWhen you are ready to go live, apply for a live account. Review the process to start accepting payments on Get started with Adyen.\nWhen you get your live account:\n\nFollow our SFCC go-live checklist. You do not need to follow the steps to configure the SFCC Business Manager in the checklist.\nUpdate the Adyen credentials you used to set up your Salesforce OMS Org:\n\nIn the custom metadata record:\n\nUpdate your HMAC key.\nIf you are using a different merchant account in the live environment, update the merchant account name.\n\n\nSwitch the URL for the Adyen Checkout named credential to your live URL:\n\nIn your OMS Org, go to Setup &gt; Security &gt; Named Credentials.\nSelect the Adyen Checkout named credential.\nReplace the test URL with https:\/\/[YOUR_LIVE_PREFIX]-checkout-live.adyenpayments.com\/checkout. Get your live prefix from the live Customer Area.\n\nSwitch your test API key to your live API Key:\n\nSelect the External Credential linked to your Adyen Checkout named credential.\nUnder Principals, update your API key authentication parameter to your live API key.\n\n\nNext steps\n\nSet up Order on Behalf OfEnable your customer service employees to place orders on behalf of shoppers.Enable Auhtorization ReversalsHandle situations where you need to reverse an authorization.\n","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Plugins","lvl2":"Salesforce Order Management System","lvl3":"Install and set up the Salesforce OMS package","lvl4":"Manually set up the package"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/plugins","lvl2":"https:\/\/docs.adyen.com\/pt\/plugins\/salesforce-order-management-system","lvl3":"https:\/\/docs.adyen.com\/pt\/plugins\/salesforce-order-management-system\/install-and-set-up-the-package","lvl4":"\/pt\/plugins\/salesforce-order-management-system\/install-and-set-up-the-package\/manual-setup"},"levels":5,"category":"Plugins","category_color":"green","tags":["Manually","package"]}}
