{"title":"Embedded Commerce integration","category":"default","creationDate":1781866579,"content":"<p>You can build your own AI agent interface that shoppers interact with to initiate transactions. Your AI agent interface connects with your Adyen online payments integration to process payments, so that shoppers can make complete transactions without leaving the interaction with your AI agent.<\/p>\n<h2>Requirements<\/h2>\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;\">An existing <a href=\"\/online-payments\/build-your-integration\">online payments<\/a> integration.<\/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, make sure that your online payments integration works as expected, end-to-end.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Your AI agent interface must use <a href=\"https:\/\/github.com\/Adyen\/adyen-web\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Web Drop-in\/Components<\/a> for a secure payment form that encrypts payment details.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<p>Your AI agent interface handles the interaction with the shopper. When the shopper initiates checkout, your interface uses your existing online payments integration to start checkout and complete the payment.<\/p>\n<p>The following examples show how you can integrate your AI agent with your existing online payments integration, depending on which <a href=\"\/online-payments\/build-your-integration#choose-your-server-side-implementation\">server-side flow<\/a> it uses.<\/p>\n<h3>Sessions flow<\/h3>\n<p>In this example:<\/p>\n<ul>\n<li>Your AI agent interface is an AI chat window. <\/li>\n<li>Your online payments integration uses Web Drop-in with Sessions flow.<\/li>\n<\/ul>\n<p>The following shows the process of a shopper using your AI agent to make a transaction:<\/p>\n<ol>\n<li>The shopper instructs your AI agent to initiate a transaction.<\/li>\n<li>Your AI agent communicates with your payment server to initiate a payment session.<\/li>\n<li>Your payment server <a href=\"\/online-payments\/build-your-integration\/sessions-flow\/?platform=Web&amp;integration=Drop-in#create-payment-session\">makes a request to create a session<\/a> to Adyen.<\/li>\n<li>Adyen's server returns session data to your payment server.<\/li>\n<li>Your payment server returns the session data to your AI agent.<\/li>\n<li>Your AI agent <a href=\"\/online-payments\/build-your-integration\/sessions-flow\/?platform=Web&amp;integration=Drop-in#create-instance\">renders the Drop-in payment form<\/a> in the AI chat window.<\/li>\n<li>The shopper enters their payment details and submits their payment using the Drop-in payment form.<\/li>\n<li>Drop-in handles the payment, passing payment data to Adyen.<\/li>\n<li>Adyen <a href=\"\/online-payments\/build-your-integration\/sessions-flow\/?platform=Web&amp;integration=Drop-in#inform-the-shopper\">returns the payment outcome to Drop-in<\/a>.<\/li>\n<li>Your AI agent shows the order confirmation or payment outcome to the shopper.<\/li>\n<\/ol>\n<div id=\"mermaid-6a352595bba9b-wrapper\"><div id=\"mermaid-6a352595bba9b\" class=\"mermaid-shortcode loading\">CnNlcXVlbmNlRGlhZ3JhbQogICAgcGFydGljaXBhbnQgUyBhcyBTaG9wcGVyCiAgICBwYXJ0aWNpcGFudCBBIGFzIFlvdXIgQUkgYWdlbnQKICAgIHBhcnRpY2lwYW50IFAgYXMgWW91ciBwYXltZW50IHNlcnZlcgogICAgcGFydGljaXBhbnQgRCBhcyBBZHllbgoKICAgIFMtPj5BOiAxLiBJbnN0cnVjdCB0byBpbml0aWF0ZSBhIHRyYW5zYWN0aW9uCiAgICBBLT4+UDogMi4gUmVxdWVzdCBhIHBheW1lbnQgc2Vzc2lvbgogICAgUC0+PkQ6IDMuIE1ha2UgcmVxdWVzdCB0byBjcmVhdGUgYSBzZXNzaW9uIChQT1NUIC9zZXNzaW9ucykKICAgIEQtLT4+UDogNC4gUmV0dXJuIHNlc3Npb24gZGF0YQogICAgUC0tPj5BOiA1LiBSZXR1cm4gc2Vzc2lvbiBkYXRhCiAgICBBLT4+QTogNi4gUmVuZGVyIERyb3AtaW4gcGF5bWVudCBmb3JtCiAgICBTLT4+QTogNy4gRW50ZXIgcGF5bWVudCBkZXRhaWxzIGFuZCBzdWJtaXQKICAgIEEtPj5EOiA4LiBEcm9wLWluIHNlbmRzIHBheW1lbnQgZGF0YQogICAgRC0tPj5BOiA5LiBSZXR1cm4gcGF5bWVudCBvdXRjb21lCiAgICBBLT4+UzogMTAuIFNob3cgb3JkZXIgY29uZmlybWF0aW9uIG9yIHBheW1lbnQgb3V0Y29tZQo=<\/div><\/div>\n<h3>AI chat interfact that collects the shopper's payment details through a dialogue<\/h3>\n<p>In this example:<\/p>\n<ul>\n<li>Your AI agent interface is an AI chat window. <\/li>\n<li>Your online payments integration uses <a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components\">Web Components with Advanced flow<\/a>.<\/li>\n<\/ul>\n<p>The following shows the process of a shopper using your AI agent to make a transaction:<\/p>\n<ol>\n<li>The shopper instructs your agent for help with shopping.<\/li>\n<li>Your AI agent handles product discovery, selection, and order details within the conversation.<\/li>\n<li>The shopper instructs your AI agent to initiate a transaction.<\/li>\n<li>Your AI agent communicates with your payment server to get a list of available payment methods, based on the payment amount and the shopper's location.<\/li>\n<li>Your payment server <a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components#get-available-payment-methods\">makes a request to Adyen to get available payment methods<\/a> to Adyen.<\/li>\n<li>Adyen returns the list of available payment methods to your payment server.<\/li>\n<li>Your payment server returns the list of available payment methods to your AI agent.<\/li>\n<li>Your AI agent shows the available payment methods to the shopper.<\/li>\n<li>The shopper indicates the payment method they choose to your AI agent.<\/li>\n<li>Your AI agent <a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components#pm-config\">renders the corresponding payment method Component<\/a> with the payment form.<\/li>\n<li>The shopper enters their payment details and submits their payment using the Component payment form.<\/li>\n<li>The Component passes the required payment data from your AI agent interface to your server.<\/li>\n<li>Your payment server <a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components#make-a-payment\">makes a payment request<\/a> to Adyen.<\/li>\n<li>Adyen returns to your payment server one of the following:\n<ul>\n<li>The payment status.<\/li>\n<li>An additional action to complete the payment.<\/li>\n<\/ul><\/li>\n<li>If the response from Adyen includes an additional action, your online payments integration <a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components&amp;version=6.36.0#additional-action\">handles the additional action<\/a>.<\/li>\n<li>Your payment server returns the payment status to your AI agent.<\/li>\n<li>Your AI agent shows the order confirmation or payment outcome to the shopper.<\/li>\n<\/ol>\n<div id=\"mermaid-6a352595bba9f-wrapper\"><div id=\"mermaid-6a352595bba9f\" class=\"mermaid-shortcode loading\">CnNlcXVlbmNlRGlhZ3JhbQogICAgcGFydGljaXBhbnQgUyBhcyBTaG9wcGVyCiAgICBwYXJ0aWNpcGFudCBBIGFzIFlvdXIgQUkgYWdlbnQKICAgIHBhcnRpY2lwYW50IFAgYXMgWW91ciBwYXltZW50IHNlcnZlcgogICAgcGFydGljaXBhbnQgRCBhcyBBZHllbgoKICAgIFMtPj5BOiAxLiBBc2sgZm9yIGhlbHAgd2l0aCBzaG9wcGluZwogICAgQS0+PlM6IDIuIEhhbmRsZSBwcm9kdWN0IGRpc2NvdmVyeSBhbmQgc2VsZWN0aW9uCiAgICBTLT4+QTogMy4gSW5zdHJ1Y3QgdG8gaW5pdGlhdGUgYSB0cmFuc2FjdGlvbgogICAgQS0+PlA6IDQuIFJlcXVlc3QgYXZhaWxhYmxlIHBheW1lbnQgbWV0aG9kcwogICAgUC0+PkQ6IDUuIE1ha2UgcmVxdWVzdCB0byBnZXQgYXZhaWxhYmxlIHBheW1lbnQgbWV0aG9kcyAoUE9TVCAvcGF5bWVudE1ldGhvZHMpCiAgICBELS0+PlA6IDYuIFJldHVybiBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBQLS0+PkE6IDcuIFJldHVybiBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBBLT4+UzogOC4gU2hvdyBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBTLT4+QTogOS4gQ2hvb3NlIHBheW1lbnQgbWV0aG9kCiAgICBBLT4+QTogMTAuIFJlbmRlciBDb21wb25lbnQgcGF5bWVudCBmb3JtCiAgICBTLT4+QTogMTEuIEVudGVyIHBheW1lbnQgZGV0YWlscyBhbmQgc3VibWl0CiAgICBBLT4+UDogMTIuIENvbXBvbmVudCBwYXNzZXMgcGF5bWVudCBkYXRhCiAgICBQLT4+RDogMTMuIE1ha2UgcGF5bWVudCByZXF1ZXN0IChQT1NUIC9wYXltZW50cykKICAgIEQtLT4+UDogMTQuIFJldHVybiBwYXltZW50IHN0YXR1cyBvciBhZGRpdGlvbmFsIGFjdGlvbgogICAgb3B0IEFkZGl0aW9uYWwgYWN0aW9uIHJlcXVpcmVkCiAgICAgICAgUC0+PkE6IDE1LiBSZXR1cm4gYWRkaXRpb25hbCBhY3Rpb24KICAgICAgICBBLT4+UzogQ29tcG9uZW50IHNob3dzIFVJIG9yIHJlZGlyZWN0cyBzaG9wcGVyIGZvciBhZGRpdGlvbmFsIGFjdGlvbgogICAgICAgIFMtPj5BOiBGaW5pc2ggYWRkaXRpb25hbCBhY3Rpb24KICAgICAgICBBLT4+UDogUGFzcyBhZGRpdG9uYWwgYWN0aW9uIGRhdGEgZnJvbSBDb21wb25lbnQKICAgICAgICBQLT4+RDogTWFrZSByZXF1ZXN0IHRvIHNlbmQgYWRkaXRpb25hbCBkYXRhIChQT1NUIC9wYXltZW50cy9kZXRhaWxzKQogICAgZW5kCiAgICBQLS0+PkE6IDE2LiBSZXR1cm4gcGF5bWVudCBzdGF0dXMKICAgIEEtPj5TOiAxNy4gU2hvdyBvcmRlciBjb25maXJtYXRpb24gb3IgcGF5bWVudCBvdXRjb21lCg==<\/div><\/div>\n<h2>Recommended integration architecture<\/h2>\n<p>We recommend an agentic payment integration that handles communication with the following components:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Component<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Your AI agent interface<\/strong><\/td>\n<td style=\"text-align: left;\">Your AI agent interface that the shopper interacts with. When the shopper communicates the intention to pay, this interface renders Adyen Web Drop-in\/Components inside the interaction window to collect the shopper's payment details.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Your online payments integration<\/strong><\/td>\n<td style=\"text-align: left;\">Your online payments integration that includes:  <ul><li markdown=\"1\">Web Drop-in\/Components with your configuration.<\/li><li markdown=\"1\">Your payment server that communicates with Adyen's Checkout API.<\/li><li markdown=\"1\">Your webhook server that handles webhook messages from Adyen.<\/li><\/ul> This handles communication with Adyen, so your shopper does not communicate with Adyen directly<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Adyen<\/strong><\/td>\n<td style=\"text-align: left;\">Communicates with your payment server to processes payments, handles 3D Secure authentication, and sends webhook messages to your webhook server.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div id=\"mermaid-6a352595bbaa1-wrapper\"><div id=\"mermaid-6a352595bbaa1\" class=\"mermaid-shortcode loading\">CmZsb3djaGFydCBMUgogICAgQVtBSSBhZ2VudCBpbnRlcmZhY2VdIDwtLT4gQltZb3VyIG9ubGluZSBwYXltZW50cyBpbnRlZ3JhdGlvbl0gPC0tPiBDW0FkeWVuXQo=<\/div><\/div>\n<h2>Security and PCI compliance guidelines<\/h2>\n<p>Use the following guidelines to ensure your integration is secure and complies with <a href=\"\/online-payments\/pci-dss-compliance\">PCI DSS requirements<\/a>:<\/p>\n<h3>Use Adyen Web Drop-in\/Components<\/h3>\n<p>Payment details are encrypted by Drop-in\/Components, so that the shopper's data remains secure when passing information between your system and Adyen. You never handle raw card data, reducing your scope of PCI DSS compliance requirements.<\/p>\n<h3>Do not collect card data in chat messages<\/h3>\n<p>Chat message inputs do not comply with PCI DSS requirements, because they are plain-text inputs. Do not store card numbers or other secure payment information.<\/p>\n<h3>Store only the PSP reference<\/h3>\n<p>Adyen returns a <code>pspReference<\/code> for each payment. Use this as your reference for payment modifications like captures and refunds, and for questions to our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a>. <\/p>\n<h3>Verify webhook events with HMAC signatures<\/h3>\n<p>Use <a href=\"\/development-resources\/webhooks\/secure-webhooks\/verify-hmac-signatures\">HMAC signatures to verify that webhook events<\/a> are from Adyen. Reject all webhook events that fail HMAC verification, and do not process transactions based on unverified webhook events.<\/p>\n<h2>Test and go live<\/h2>\n<p>Test your integration end-to-end before going live.<\/p>\n<h3>Test<\/h3>\n<p>In the test environment, test the following:<\/p>\n<ul>\n<li>Communication between your AI agent interface and your payment server.<\/li>\n<li>Communication between your payment server and Adyen.<\/li>\n<li>Rendering Drop-in\/Components in your AI agent interface.<\/li>\n<li>The end-to-end payment flow initiated by your AI agent, using <a href=\"\/development-resources\/testing\/test-card-numbers\">test cards<\/a>.<\/li>\n<li>Handling different payment statuses in your AI agent interface. For example, if you receive the <a href=\"\/online-payments\/build-your-integration\/payment-result-codes#final-payment-status\">error result code<\/a>, inform the shopper in your chat interface and ask the shopper to attempt the payment again. <\/li>\n<li>Receiving webhook messages for payments initiated by your AI agent.<\/li>\n<\/ul>\n<h3>Go live<\/h3>\n<p>Make sure that you have completed the <a href=\"\/online-payments\/go-live-checklist\">Go-live checklist<\/a> for your online payments integration.<\/p>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/online-payments\/build-your-integration\"\n                        target=\"_self\"\n                        >\n                    Build your online payments integration\n                <\/a><\/li><li><a href=\"\/online-payments\/build-your-integration\/sessions-flow?platform=Web&amp;integration=Drop-in\"\n                        target=\"_self\"\n                        >\n                    Web Drop-in integration with Sessions flow\n                <\/a><\/li><li><a href=\"\/online-payments\/build-your-integration\/advanced-flow?platform=Web&amp;integration=Components\"\n                        target=\"_self\"\n                        >\n                    Web Components integration with Advanced flow\n                <\/a><\/li><li><a href=\"\/online-payments\/pci-dss-compliance\"\n                        target=\"_self\"\n                        >\n                    PCI DSS compliance\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/online-payments\/agentic-commerce\/merchant\/embedded-commerce-integration","articleFields":{"description":"Initiate transactions in your own AI agent interface and process payments with Adyen.","feedback_component":true,"filters_component":false,"decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/online-payments\/agentic-commerce\/merchant\/embedded-commerce-integration","title":"Embedded Commerce integration","content":"You can build your own AI agent interface that shoppers interact with to initiate transactions. Your AI agent interface connects with your Adyen online payments integration to process payments, so that shoppers can make complete transactions without leaving the interaction with your AI agent.\nRequirements\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nAn existing online payments integration.\n\n\nSetup steps\nBefore you begin, make sure that your online payments integration works as expected, end-to-end.\n\n\nLimitations\nYour AI agent interface must use Web Drop-in\/Components for a secure payment form that encrypts payment details.\n\n\n\nHow it works\nYour AI agent interface handles the interaction with the shopper. When the shopper initiates checkout, your interface uses your existing online payments integration to start checkout and complete the payment.\nThe following examples show how you can integrate your AI agent with your existing online payments integration, depending on which server-side flow it uses.\nSessions flow\nIn this example:\n\nYour AI agent interface is an AI chat window. \nYour online payments integration uses Web Drop-in with Sessions flow.\n\nThe following shows the process of a shopper using your AI agent to make a transaction:\n\nThe shopper instructs your AI agent to initiate a transaction.\nYour AI agent communicates with your payment server to initiate a payment session.\nYour payment server makes a request to create a session to Adyen.\nAdyen's server returns session data to your payment server.\nYour payment server returns the session data to your AI agent.\nYour AI agent renders the Drop-in payment form in the AI chat window.\nThe shopper enters their payment details and submits their payment using the Drop-in payment form.\nDrop-in handles the payment, passing payment data to Adyen.\nAdyen returns the payment outcome to Drop-in.\nYour AI agent shows the order confirmation or payment outcome to the shopper.\n\nCnNlcXVlbmNlRGlhZ3JhbQogICAgcGFydGljaXBhbnQgUyBhcyBTaG9wcGVyCiAgICBwYXJ0aWNpcGFudCBBIGFzIFlvdXIgQUkgYWdlbnQKICAgIHBhcnRpY2lwYW50IFAgYXMgWW91ciBwYXltZW50IHNlcnZlcgogICAgcGFydGljaXBhbnQgRCBhcyBBZHllbgoKICAgIFMtPj5BOiAxLiBJbnN0cnVjdCB0byBpbml0aWF0ZSBhIHRyYW5zYWN0aW9uCiAgICBBLT4+UDogMi4gUmVxdWVzdCBhIHBheW1lbnQgc2Vzc2lvbgogICAgUC0+PkQ6IDMuIE1ha2UgcmVxdWVzdCB0byBjcmVhdGUgYSBzZXNzaW9uIChQT1NUIC9zZXNzaW9ucykKICAgIEQtLT4+UDogNC4gUmV0dXJuIHNlc3Npb24gZGF0YQogICAgUC0tPj5BOiA1LiBSZXR1cm4gc2Vzc2lvbiBkYXRhCiAgICBBLT4+QTogNi4gUmVuZGVyIERyb3AtaW4gcGF5bWVudCBmb3JtCiAgICBTLT4+QTogNy4gRW50ZXIgcGF5bWVudCBkZXRhaWxzIGFuZCBzdWJtaXQKICAgIEEtPj5EOiA4LiBEcm9wLWluIHNlbmRzIHBheW1lbnQgZGF0YQogICAgRC0tPj5BOiA5LiBSZXR1cm4gcGF5bWVudCBvdXRjb21lCiAgICBBLT4+UzogMTAuIFNob3cgb3JkZXIgY29uZmlybWF0aW9uIG9yIHBheW1lbnQgb3V0Y29tZQo=\nAI chat interfact that collects the shopper's payment details through a dialogue\nIn this example:\n\nYour AI agent interface is an AI chat window. \nYour online payments integration uses Web Components with Advanced flow.\n\nThe following shows the process of a shopper using your AI agent to make a transaction:\n\nThe shopper instructs your agent for help with shopping.\nYour AI agent handles product discovery, selection, and order details within the conversation.\nThe shopper instructs your AI agent to initiate a transaction.\nYour AI agent communicates with your payment server to get a list of available payment methods, based on the payment amount and the shopper's location.\nYour payment server makes a request to Adyen to get available payment methods to Adyen.\nAdyen returns the list of available payment methods to your payment server.\nYour payment server returns the list of available payment methods to your AI agent.\nYour AI agent shows the available payment methods to the shopper.\nThe shopper indicates the payment method they choose to your AI agent.\nYour AI agent renders the corresponding payment method Component with the payment form.\nThe shopper enters their payment details and submits their payment using the Component payment form.\nThe Component passes the required payment data from your AI agent interface to your server.\nYour payment server makes a payment request to Adyen.\nAdyen returns to your payment server one of the following:\n\nThe payment status.\nAn additional action to complete the payment.\n\nIf the response from Adyen includes an additional action, your online payments integration handles the additional action.\nYour payment server returns the payment status to your AI agent.\nYour AI agent shows the order confirmation or payment outcome to the shopper.\n\nCnNlcXVlbmNlRGlhZ3JhbQogICAgcGFydGljaXBhbnQgUyBhcyBTaG9wcGVyCiAgICBwYXJ0aWNpcGFudCBBIGFzIFlvdXIgQUkgYWdlbnQKICAgIHBhcnRpY2lwYW50IFAgYXMgWW91ciBwYXltZW50IHNlcnZlcgogICAgcGFydGljaXBhbnQgRCBhcyBBZHllbgoKICAgIFMtPj5BOiAxLiBBc2sgZm9yIGhlbHAgd2l0aCBzaG9wcGluZwogICAgQS0+PlM6IDIuIEhhbmRsZSBwcm9kdWN0IGRpc2NvdmVyeSBhbmQgc2VsZWN0aW9uCiAgICBTLT4+QTogMy4gSW5zdHJ1Y3QgdG8gaW5pdGlhdGUgYSB0cmFuc2FjdGlvbgogICAgQS0+PlA6IDQuIFJlcXVlc3QgYXZhaWxhYmxlIHBheW1lbnQgbWV0aG9kcwogICAgUC0+PkQ6IDUuIE1ha2UgcmVxdWVzdCB0byBnZXQgYXZhaWxhYmxlIHBheW1lbnQgbWV0aG9kcyAoUE9TVCAvcGF5bWVudE1ldGhvZHMpCiAgICBELS0+PlA6IDYuIFJldHVybiBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBQLS0+PkE6IDcuIFJldHVybiBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBBLT4+UzogOC4gU2hvdyBhdmFpbGFibGUgcGF5bWVudCBtZXRob2RzCiAgICBTLT4+QTogOS4gQ2hvb3NlIHBheW1lbnQgbWV0aG9kCiAgICBBLT4+QTogMTAuIFJlbmRlciBDb21wb25lbnQgcGF5bWVudCBmb3JtCiAgICBTLT4+QTogMTEuIEVudGVyIHBheW1lbnQgZGV0YWlscyBhbmQgc3VibWl0CiAgICBBLT4+UDogMTIuIENvbXBvbmVudCBwYXNzZXMgcGF5bWVudCBkYXRhCiAgICBQLT4+RDogMTMuIE1ha2UgcGF5bWVudCByZXF1ZXN0IChQT1NUIC9wYXltZW50cykKICAgIEQtLT4+UDogMTQuIFJldHVybiBwYXltZW50IHN0YXR1cyBvciBhZGRpdGlvbmFsIGFjdGlvbgogICAgb3B0IEFkZGl0aW9uYWwgYWN0aW9uIHJlcXVpcmVkCiAgICAgICAgUC0+PkE6IDE1LiBSZXR1cm4gYWRkaXRpb25hbCBhY3Rpb24KICAgICAgICBBLT4+UzogQ29tcG9uZW50IHNob3dzIFVJIG9yIHJlZGlyZWN0cyBzaG9wcGVyIGZvciBhZGRpdGlvbmFsIGFjdGlvbgogICAgICAgIFMtPj5BOiBGaW5pc2ggYWRkaXRpb25hbCBhY3Rpb24KICAgICAgICBBLT4+UDogUGFzcyBhZGRpdG9uYWwgYWN0aW9uIGRhdGEgZnJvbSBDb21wb25lbnQKICAgICAgICBQLT4+RDogTWFrZSByZXF1ZXN0IHRvIHNlbmQgYWRkaXRpb25hbCBkYXRhIChQT1NUIC9wYXltZW50cy9kZXRhaWxzKQogICAgZW5kCiAgICBQLS0+PkE6IDE2LiBSZXR1cm4gcGF5bWVudCBzdGF0dXMKICAgIEEtPj5TOiAxNy4gU2hvdyBvcmRlciBjb25maXJtYXRpb24gb3IgcGF5bWVudCBvdXRjb21lCg==\nRecommended integration architecture\nWe recommend an agentic payment integration that handles communication with the following components:\n\n\n\nComponent\nDescription\n\n\n\n\nYour AI agent interface\nYour AI agent interface that the shopper interacts with. When the shopper communicates the intention to pay, this interface renders Adyen Web Drop-in\/Components inside the interaction window to collect the shopper's payment details.\n\n\nYour online payments integration\nYour online payments integration that includes:  Web Drop-in\/Components with your configuration.Your payment server that communicates with Adyen's Checkout API.Your webhook server that handles webhook messages from Adyen. This handles communication with Adyen, so your shopper does not communicate with Adyen directly\n\n\nAdyen\nCommunicates with your payment server to processes payments, handles 3D Secure authentication, and sends webhook messages to your webhook server.\n\n\n\nCmZsb3djaGFydCBMUgogICAgQVtBSSBhZ2VudCBpbnRlcmZhY2VdIDwtLT4gQltZb3VyIG9ubGluZSBwYXltZW50cyBpbnRlZ3JhdGlvbl0gPC0tPiBDW0FkeWVuXQo=\nSecurity and PCI compliance guidelines\nUse the following guidelines to ensure your integration is secure and complies with PCI DSS requirements:\nUse Adyen Web Drop-in\/Components\nPayment details are encrypted by Drop-in\/Components, so that the shopper's data remains secure when passing information between your system and Adyen. You never handle raw card data, reducing your scope of PCI DSS compliance requirements.\nDo not collect card data in chat messages\nChat message inputs do not comply with PCI DSS requirements, because they are plain-text inputs. Do not store card numbers or other secure payment information.\nStore only the PSP reference\nAdyen returns a pspReference for each payment. Use this as your reference for payment modifications like captures and refunds, and for questions to our Support Team. \nVerify webhook events with HMAC signatures\nUse HMAC signatures to verify that webhook events are from Adyen. Reject all webhook events that fail HMAC verification, and do not process transactions based on unverified webhook events.\nTest and go live\nTest your integration end-to-end before going live.\nTest\nIn the test environment, test the following:\n\nCommunication between your AI agent interface and your payment server.\nCommunication between your payment server and Adyen.\nRendering Drop-in\/Components in your AI agent interface.\nThe end-to-end payment flow initiated by your AI agent, using test cards.\nHandling different payment statuses in your AI agent interface. For example, if you receive the error result code, inform the shopper in your chat interface and ask the shopper to attempt the payment again. \nReceiving webhook messages for payments initiated by your AI agent.\n\nGo live\nMake sure that you have completed the Go-live checklist for your online payments integration.\nSee also\n\n\n                    Build your online payments integration\n                \n                    Web Drop-in integration with Sessions flow\n                \n                    Web Components integration with Advanced flow\n                \n                    PCI DSS compliance\n                \n","type":"page","locale":"en","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Adyen Agentic","lvl3":"Merchant","lvl4":"Embedded Commerce integration"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/online-payments","lvl2":"https:\/\/docs.adyen.com\/online-payments\/agentic-commerce","lvl3":"https:\/\/docs.adyen.com\/online-payments\/agentic-commerce\/merchant","lvl4":"\/online-payments\/agentic-commerce\/merchant\/embedded-commerce-integration"},"levels":5,"category":"Online Payments","category_color":"green","tags":["Embedded","Commerce","integration"]}}
