Adyen provides a LINK cartridge to integrate with Salesforce Commerce Cloud (SFCC). This cartridge enables an SFCC storefront to use the Adyen payment service.
- SFRA version 5.x.x, 6.x.x. & 7.x.x.: Supported in all cartridge versions, see the latest
- SiteGenesis JS-Controllers version 103.1.11 and higher: Hosted in a separate repo - see cartridge v22.2.3
This cartridge allows you to integrate with Adyen without the need for any development work from your end.
- Online payments are processed on the back-end using the Checkout API, and on the client side, Adyen’s Web Components are used to render payment methods.
- Point of Sale (POS) payments are processed using a cloud-based Terminal API.
This cartridge contains 2 folders, /src and /cartridges. The /src folder is the origin, while the /cartridges folder contains the transpiled code.
Some files in the /src directory contain modern JavaScript (ES6, MobX) that Salesforce Commerce Cloud does not natively support. To make the code compatible, we downgrade the ES6 to ES5 by transpiling, compiling, and uploading the auto-generated code to the /cartridges directory, see more in our Docs.
After v 23.2.1
- Best practice! Modularizing customizations is the recommended approach, as outlined by Salesforce.
- To customize Adyen payments, create a new cartridge in your /cartridges directory or leverage
int_custom_cartridge
, which is already set up in this repository. - Customizations added to a separate cartridge will not be transpiled and will be preserved when you upgrade to a new cartridge version.
- For more guidance on customization, refer to Adyen Customization Guide.
Before v 23.2.1
- Best practice! Modularizing customizations is also the recommended approach for older versions, as noted by Salesforce.
- Customizations added to a separate cartridge will not be transpiled and will be preserved when you upgrade to a new cartridge version.
- For more guidance on customization, refer to Adyen Customization Guide.
Not Recommended
- We strongly discourage adding changes directly to /cartridges or /src/cartridges.
- Customizations made in these directories cannot be easily separated from your codebase once deployed to production, leading to a more complex and costly upgrade process.
It is required to have an Adyen TEST and, later, LIVE account to use the cartridge. You can set it up here or contact Adyen.
Installation, Usage and Configuration is explained in Adyen's online documentation.
Apple Pay configuration for both Adyen certificate and Apple certificate using Salesforce cartridge can be found here. We recommend using Apple pay with Adyen certificate.
End-to-End tests can be found in the adyen-salesforce-commerce-cloud/tests/e2e
directory.
They are run automatically via Github Actions using the E2E.yml
workflow.
To run the tests locally use the following command:
`npm run test:e2e`
Note: Please make sure to fill in the environment variables in the fixtures
directory before running the tests locally.
As for Unit tests, they are currently only available for SFRA. Test files can be found next to the files they are testing. Mocks are kept in the jest
directory.
To run SFRA unit tests locally use the following command:
`npm run test`
We provide specialized cartridge support for 2 years for major versions, following the SFCC B2C Support policy, along with permanent Adyen support.
When a major cartridge version is no longer under cartridge support, it will be treated as a custom merchant integration. From version 23 onward, we do not provide any level of support for SiteGenesis integrations.
SFCC Cartridge Support Schedule for SFRA and SiteGenesis
We strongly encourage you to join us in contributing to this repository so everyone can benefit from:
- New features and functionality
- Resolved bug fixes and issues
- Any general improvements
Read our contribution guidelines to find out how.
Read more information about the Adyen platform.
MIT license see LICENSE.