CINXE.COM

PAYONE Documentation Platform | Integrationsanleitung Magento 2

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="author" content="PAYONE"> <title>PAYONE Documentation Platform | Integrationsanleitung Magento 2 </title> <meta name="description" content=""> <link rel="icon" href="https://docs.payone.com/bl-themes/payone-docs/img/favicon.ico" type="image/png"> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/font-line-aw-1.3.0/css/line-awesome.min.css?version=3.15.0"> <!-- Theme --> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/bulma.min.css?version=3.15.0"> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/bulma-tooltip.min.css?version=3.15.0"> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/bulma.overrides.css?version=3.15.0"> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/payone.icons.css?version=3.15.0"> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/payone.misc.css?version=3.15.0"> <!-- Highlight --> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/css/highlight.github.min.css?version=3.15.0"> <!-- Api template --> <link rel="stylesheet" type="text/css" href="https://docs.payone.com/bl-themes/payone-docs/php/api/api-template.css?version=3.15.0"> <!-- Load Plugins: Site head --> <link rel="canonical" href="https://docs.payone.com/integration/plugins/integrationsanleitung-magento-2"/> <!-- Robots plugin --> </head> <body> <!-- Load Bludit Plugins: Site Body Begin --> <div class="site_container" id="payone-sitecontainer"> <!-- Navbar --> <div id="navbardiv_on_index"> <nav class="navbar" role="navigation" aria-label="main navigation"> <div class="navbar-brand"> <a class="navbar-item" href="https://docs.payone.com"> <img src="/bl-themes/payone-docs/img/logo.svg" width="150" height="44" class="mt-3 mb-3"> </a> <a role="button" class="navbar-burger" data-target="navbarMenuContent" aria-label="menu" aria-expanded="false"> <span aria-hidden="true"></span> <span aria-hidden="true"></span> <span aria-hidden="true"></span> </a> <button id="mobileSubmenu" title="Open submenu"></button> </div> <div id="static top right sight" class="navbar-menu" style="display: block !important;"> <div class="navbar-end"> <div class="navbar-item"><div class="field has-addons"><div class="control"><input type="hidden" id="jspluginPayoneSearchMinChars" value="3" readonly><span id="jspluginPayoneSearchTextTooltip"><input type="text" class="input is-primary" id="jspluginPayoneSearchText" /> </span></div><div class="control"><button id="jspluginPayoneSearchButton" class="button is-primary" onClick="pluginPayoneSearch()" ><i class="payone-icon-tiny payone-white-search"></i></button></div></div></div><script> function openMinCharsMessage() { const tooltip = document.getElementById("jspluginPayoneSearchTextTooltip"); const minChars = document.getElementById("jspluginPayoneSearchMinChars").value; const message = 'Please enter at least ' + minChars + ' characters!'; tooltip.dataset.tooltip = message; tooltip.classList.add( 'has-tooltip-left', 'has-tooltip-arrow', 'has-tooltip-primary', 'has-tooltip-active' ); } function pluginPayoneSearch() { const text = document.getElementById("jspluginPayoneSearchText").value; const minChars = document.getElementById("jspluginPayoneSearchMinChars").value; const valid = (text.length >= minChars); if (!valid) { openMinCharsMessage(); return false; } window.open('https://docs.payone.com/'+'search/'+text, '_self'); return true; } document.getElementById("jspluginPayoneSearchText").onkeypress = function(e) { if (!e) e = window.event; var keyCode = e.keyCode || e.which; if (keyCode == '13'){ pluginPayoneSearch(); return false; } } </script> <div id="login" class="navbar-item"> <div class="buttons"> <a class="btn btn-outline-primary" type="button" href="https://login.pay1.de/"> Login PMI </a> </div> </div> <!-- <div id="signup" class="navbar-item"> <div class="buttons"> <a class="btn btn-primary" type="button" src="https://www.payone.com/DE-de/formulare/enterprise"> Sign up </a> </div> </div> --> </div> </div> </nav> <nav class="navbar payone-hide-navbar-mobile"> <div id="navbarMenuContent" class="navbar-menu box"> <div class="navbar-start"> <a class="navbar-item" href="/pcp/payone-commerce-platform"> PAYONE Commerce Platform </a> <a class="navbar-item" href="/payment-methods/"> Payment Methods </a> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link" href="/integration"> Integration </a> <div class="navbar-dropdown"> <a class="navbar-item" href="/integration/plugins"> Plugins </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/channel-server-api"> Server API </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/channel-client-api"> Client API </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/channel-payone-link"> Channel PAYONE Link </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/channel-frontend"> Channel Frontend </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/response-handling"> Response Handling </a> <hr class="navbar-divider"> <a class="navbar-item" href="/integration/testdata"> Testdata </a> </div> </div> <a class="navbar-item" href="/advanced-features"> Advanced Features </a> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link"> Security & Risk Management </a> <div class="navbar-dropdown"> <a class="navbar-item" href="/security-risk-management/3d-secure"> 3DS </a> <hr class="navbar-divider"> <a class="navbar-item" href="/security-risk-management/fraudprevention"> Fraud </a> <hr class="navbar-divider"> <a class="navbar-item" href="/security-risk-management/consumerscore"> Consumer score </a> </div> </div> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link"> Information </a> <div class="navbar-dropdown"> <a class="navbar-item" href="/information/general-information"> General information </a> <hr class="navbar-divider"> <a class="navbar-item" href="/information/platform-codes"> Platform codes </a> <hr class="navbar-divider"> <a class="navbar-item" href="/information/payone-merchant-interface"> PAYONE Merchant Interface (PMI) </a> <hr class="navbar-divider"> <a class="navbar-item" href="/information/sequence-diagrams"> Sequence diagrams </a> <hr class="navbar-divider"> <a class="navbar-item" href="/information/privacy-policy"> Privacy Policy </a> <hr class="navbar-divider"> <a class="navbar-item" href="https://www.payone.com/DE-de/service/kontakt" target="_blank"> Contact (DE) </a> <hr class="navbar-divider"> <a class="navbar-item" href="https://www.payone.com/DE-de/service/feedback-beschwerde" target="_blank"> Report an issue (DE) </a> </div> </div> </div> </div> </nav> </div> <div class="payone-breadcrumbs"> <nav class="breadcrumb has-arrow-separator is-small payone-breadcrumbs-nav" aria-label="breadcrumbs"> <ul> <li class=""><a href="/integration">Integration</a></li><li class=""><a href="/integration/plugins">Plugins</a></li><li class="is-active"><a href="/integration/plugins/integrationsanleitung-magento-2">Integrationsanleitung Magento 2</a></li><!-- <li><a href="#">Bulma</a></li> <li><a href="#">Documentation</a></li> <li><a href="#">Components</a></li> <li class="is-active"><a href="#" aria-current="page">Breadcrumb</a></li> --> </ul> </nav> <div class="payone-breadcrumbs-toc"> <div class="navbar-item has-dropdown is-hoverable"> <a class="navbar-link payone-font-smaller"> Table Of Contents </a> <div class="navbar-dropdown payone-navbar-dropdown-toc is-right"> <a href="#Introduction" class="navbar-item" style="padding-left: 1rem;"><i class="payone-icon-nano payone-blue-right"></i>&nbsp;&nbsp;EINLEITUNG</a><a href="#Requirements" class="navbar-item" style="padding-left: 1rem;"><i class="payone-icon-nano payone-blue-right"></i>&nbsp;&nbsp;VORAUSSETZUNGEN</a><a href="#InstallPlugin" class="navbar-item" style="padding-left: 1rem;"><i class="payone-icon-nano payone-blue-right"></i>&nbsp;&nbsp;INSTALLATION DES PLUGINS</a><a href="#PortalConfig" class="navbar-item" style="padding-left: 1rem;"><i class="payone-icon-nano payone-blue-right"></i>&nbsp;&nbsp;KONFIGURATION IM PAYONE - PORTAL</a><a href="#AdminConfig" class="navbar-item" style="padding-left: 1rem;"><i class="payone-icon-nano payone-blue-right"></i>&nbsp;&nbsp;KONFIGURATION IM MAGENTO2 - ADMIN</a> </div> </div> </div> </div> <div class="docs-container is-flex"> <aside id="aside" class="column is-2 is-narrow-mobile is-fullheight is-hidden-touch"><ul class="tree"><li><a target="_self" href="https://docs.payone.com/integration">Integration</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/plugins">Plugins</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-shopware-6">Integration Guide Shopware 6 </a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/shopware-6-integrationsanleitung">Integrationsanleitung Shopware 6 </a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-magento-2">Integration Guide Magento 2</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-magento-2">Integrationsanleitung Magento 2</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-shopware-5">Integration Guide Shopware 5</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-shopware-5">Integrationsanleitung Shopware 5</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-woocommerce">Integration Guide WooCommerce</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-woocommerce">Integrationsanleitung WooCommerce</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-oxid-6">Integrationsanleitung Oxid 6</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-oxid-6">Integration Guide Oxid 6</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-oxid-7">Integrationsanleitung Oxid 7</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-oxid-7">Integration Guide Oxid 7</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/installationsanleitung-magento-1">Installationsanleitung Magento 1</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-magento-1">Integration Guide Magento 1</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api">Channel-Server-API</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-preauthorization">Server API - Preauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-authorization">Server API - Authorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-capture">Server API - Capture</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-refund">Server API - Refund</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-debit">Server API - Debit</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-managemandate">Server API - Managemandate</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getinvoice">Server API - Getinvoice</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getfile">Server API - Getfile</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-vauthorizatuion">Server API - Vauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-creditcardcheck">Server API - Creditcardcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getuser">Server API - Getuser</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updateuser">Server API - Updateuser</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-3dscheck">Server API - 3dscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-bankaccountcheck">Server API - Bankaccountcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-addresscheck">Server API - Addresscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-createaccess">Server API - Createaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updateaccess">Server API - Updateaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updatereminder">Server API - Updatereminder</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-general-definitions">Server API - General Interface Definitions</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-checkout-demo-app">Server API - checkout demo app</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api">Channel-Client-API</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-preauthorization">Client API - Preauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-authorization">Client API - Authorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-creditcardcheck">Client API - Creditcardcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-managemandate">Client API - Managemandate</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-general-interface-definitions">Client API - General Interface Definitions</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-createaccess">Client API - Createaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-vauthorization">Client API - Vauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-bankaccountcheck">Client API - Bankaccountcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-ajax-mode">Client API - AJAX-Mode</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-redirect-mode">Client API - Redirect-Mode</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-addresscheck">Client API - Addresscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode">Client API - Hosted iFrame Mode </a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode/hosted-iframe-examples">Hosted Iframe Examples</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode/client-api-additional-tips">Client API - Additional Tips</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/calculation-of-the-hash-value">Client API - Calculation of the HASH value</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link">PAYONE Link</a><ul style="display:none"><li><a target="_blank" href="https://docs.payone.com/integration/channel-payone-link/payone-link-api?fullwidth=1">PAYONE Link - API</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-notification-api">PAYONE Link - Notification-API</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/how-to-verify-notifications">PAYONE Link - How to Verify Notifications</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-authorization">PAYONE Link - Authorization + Linkstatus</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-complete-bash-example">PAYONE Link - Complete Bash Example + HMAC SHA256 Examples</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend">Channel-Frontend</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend/frontend-available-payment-types">Frontend - Available payment types</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend/payment-portals-access-shop">Payment portals (Access - Shop Versions)</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling">Response Handling</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/response-handling/transactionstatus-notification"> Transactionstatus Notifications - Samples and Responses</a></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling/json-responses">JSON-Responses</a></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling/json-examples">JSON Examples</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/testdata">Testdata</a></li></ul></li></ul></aside> <div id="payone-modal-submenu" class="modal"> <div class="modal-background"></div> <div class="modal-card"> <header class="modal-card-head"> <p class="modal-card-title"> Integration </p> <button class="delete payone-primary-background" aria-label="close"></button> </header> <section class="modal-card-body"> <ul class="tree"> <li><a target="_self" href="https://docs.payone.com/integration">Integration</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/plugins">Plugins</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-shopware-6">Integration Guide Shopware 6 </a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/shopware-6-integrationsanleitung">Integrationsanleitung Shopware 6 </a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-magento-2">Integration Guide Magento 2</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-magento-2">Integrationsanleitung Magento 2</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-shopware-5">Integration Guide Shopware 5</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-shopware-5">Integrationsanleitung Shopware 5</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-woocommerce">Integration Guide WooCommerce</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-woocommerce">Integrationsanleitung WooCommerce</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-oxid-6">Integrationsanleitung Oxid 6</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-oxid-6">Integration Guide Oxid 6</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integrationsanleitung-oxid-7">Integrationsanleitung Oxid 7</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-oxid-7">Integration Guide Oxid 7</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/installationsanleitung-magento-1">Installationsanleitung Magento 1</a></li><li><a target="_self" href="https://docs.payone.com/integration/plugins/integration-guide-magento-1">Integration Guide Magento 1</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api">Channel-Server-API</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-preauthorization">Server API - Preauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-authorization">Server API - Authorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-capture">Server API - Capture</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-refund">Server API - Refund</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-debit">Server API - Debit</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-managemandate">Server API - Managemandate</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getinvoice">Server API - Getinvoice</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getfile">Server API - Getfile</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-vauthorizatuion">Server API - Vauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-creditcardcheck">Server API - Creditcardcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-getuser">Server API - Getuser</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updateuser">Server API - Updateuser</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-3dscheck">Server API - 3dscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-bankaccountcheck">Server API - Bankaccountcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-addresscheck">Server API - Addresscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-createaccess">Server API - Createaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updateaccess">Server API - Updateaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-updatereminder">Server API - Updatereminder</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-general-definitions">Server API - General Interface Definitions</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-server-api/server-api-checkout-demo-app">Server API - checkout demo app</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api">Channel-Client-API</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-preauthorization">Client API - Preauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-authorization">Client API - Authorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-creditcardcheck">Client API - Creditcardcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-managemandate">Client API - Managemandate</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-general-interface-definitions">Client API - General Interface Definitions</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-createaccess">Client API - Createaccess</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-vauthorization">Client API - Vauthorization</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-bankaccountcheck">Client API - Bankaccountcheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-ajax-mode">Client API - AJAX-Mode</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-redirect-mode">Client API - Redirect-Mode</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-addresscheck">Client API - Addresscheck</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode">Client API - Hosted iFrame Mode </a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode/hosted-iframe-examples">Hosted Iframe Examples</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/client-api-hosted-iframe-mode/client-api-additional-tips">Client API - Additional Tips</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-client-api/calculation-of-the-hash-value">Client API - Calculation of the HASH value</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link">PAYONE Link</a><ul style="display:none"><li><a target="_blank" href="https://docs.payone.com/integration/channel-payone-link/payone-link-api?fullwidth=1">PAYONE Link - API</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-notification-api">PAYONE Link - Notification-API</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/how-to-verify-notifications">PAYONE Link - How to Verify Notifications</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-authorization">PAYONE Link - Authorization + Linkstatus</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-payone-link/payone-link-complete-bash-example">PAYONE Link - Complete Bash Example + HMAC SHA256 Examples</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend">Channel-Frontend</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend/frontend-available-payment-types">Frontend - Available payment types</a></li><li><a target="_self" href="https://docs.payone.com/integration/channel-frontend/payment-portals-access-shop">Payment portals (Access - Shop Versions)</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling">Response Handling</a><ul style="display:none"><li><a target="_self" href="https://docs.payone.com/integration/response-handling/transactionstatus-notification"> Transactionstatus Notifications - Samples and Responses</a></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling/json-responses">JSON-Responses</a></li><li><a target="_self" href="https://docs.payone.com/integration/response-handling/json-examples">JSON Examples</a></li></ul></li><li><a target="_self" href="https://docs.payone.com/integration/testdata">Testdata</a></li></ul></li> </ul> </section> <footer class="modal-card-foot"> <div class="buttons"> <button class="btn btn-outline-primary">Cancel</button> </div> </footer> </div> </div> <!-- Content --> <section class="section"> <div class="column is-12 mb-3 payone-sitedivs"> <div class="pagetitle"> <h2 class="h2Header">Integrationsanleitung Magento 2</h2> </div> <div id="navigation"><nav class="in-page-sub-nav" id="subnavbar"> <table style="width: 100%;"> <tbody> <tr> <td style="width: 20.0%;"> <p class="navbar"><a href="#Introduction" title="Introduction">Einleitung</a></p> </td> <td style="width: 20.0%;"> <p class="navbar"><a href="#Requirements" title="Requirements">Voraussetzungen</a></p> </td> <td style="width: 20.0%;"> <p class="navbar"><a href="#InstallPlugin" title="Install_plugin">Installation des Plugins</a></p> </td> <td style="width: 20.0%;"> <p class="navbar"><a href="#PortalConfig" title="Portal_Config">Konfiguration im PAYONE - Portal</a></p> </td> <td style="width: 20.0%;"> <p class="navbar"><a href="#AdminConfig" title="Admin_config">Konfiguration im Magento 2 - Admin</a></p> </td> </tr> </tbody> </table> </nav></div> <div class="payone-white-content-section" title="Introduction"> <h4 class="h4Header" id="Introduction">Einleitung</h4> <p>Unser Magento2-Plugin wird regelmäßig aktualisiert und bietet eine vielseitige, sofort einsatzbereite Lösung zur einfachen Annahme von Online-Zahlungen:</p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Derzeit unterstützte Zahlungsarten:</span></div> <div class="responsesDivcontent"> <p></p> <ul style="list-style: disc inside;"> <li>Kreditkarten (Visa, Mastercard, American Express, JCB, Diners Club, Maestro International, Carde Bleue)</li> <li>Amazon Pay (v1) + (v2)</li> <li>Alipay</li> <li>Apple Pay</li> <li>Bancontact</li> <li>Barzahlen</li> <li>EPS</li> <li>iDEAL</li> <li>Klarna Payments</li> <li>PAYONE gesicherte Rechnung</li> <li>PAYONE gesicherter Rechnungskauf, gesicherte Lastschrift und gesicherter Ratenkauf</li> <li>PAYONE Lastschrift</li> <li>PAYONE offene Rechnung</li> <li>PAYONE Vorkasse</li> <li>PayPal und PayPal Express</li> <li>PayPal v2 und PayPal Express v2</li> <li>PostFinance Card und E-Finance</li> <li>Przelewy24</li> <li>Sofort</li> <li>Ratepay Rechnungskauf, Lastschrift und Ratenkauf</li> <li>Trustly</li> <li>Unzer Rechnungskauf, Lastschrift und Ratenkauf</li> <li>WeChat Pay</li> </ul> <p></p> </div> <p>Behalten Sie unsere Release Notes im Auge, um über Updates und neue Funktionen (z.B. Zahlungsmethoden, Funktionen, Integrationsmodi) informiert zu bleiben, die wir diesem Plugin hinzugefügt haben!</p> <p>Schauen Sie sich unsere Dokumentation an, um zu erfahren, wie Sie Ihren Shop mit unserer Plattform verbinden können, um von allen Funktionen zu profitieren!</p> <p>Aktuelles Release: <strong>v3.13.1</strong></p> <div class="buttons"><a class="btn btn-success has-text-white" type="button" href="https://github.com/PAYONE-GmbH/magento-2/releases/tag/v3.13.1" target="_blank" rel="noopener"> Download Plugin </a></div> </div> <div class="payone-white-content-section" title="Requirements"> <h4 class="h4Header" id="Requirements">Voraussetzungen</h4> <p>Sie brauchen unbedingt einen aktiven PAYONE – Account. Wenn Sie noch keinen Account haben, <a href="https://www.payone.com/DE-de/service/kontakt" target="_blank" rel="noopener">kontaktieren Sie uns bitte</a>.</p> </div> <div class="payone-white-content-section" title="Install Plugin"> <h4 class="h4Header" id="InstallPlugin">Installation des Plugins</h4> <p>Sie haben 2 Möglichkeiten unser Plugin zu installieren:</p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Installation via Composer<span></span></span></div> <div class="responsesDivcontent"> <p></p> <pre class="language-markup"><code>composer require payone-gmbh/magento-2 php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento cache:clean</code></pre> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Installation via Github<span></span></span></div> <div class="responsesDivcontent"> <p></p> <div class="buttons"><a class="btn btn-success has-text-white" type="button" href="https://github.com/PAYONE-GmbH/magento-2/releases" target="_blank" rel="noopener">Download von Github</a></div> </div> </div> <p></p> <div class="payone-white-content-section" title="Portal Config"> <h4 class="h4Header" id="PortalConfig">Konfiguration im PAYONE - Portal</h4> <p>Um den Transaktionsstatus an die richtige Adresse zu senden, melden Sie sich bitte im PAYONE Merchant Interface (PMI) an.</p> <div class="infobox">&lt;SHOPURL&gt;/index.php/payone/transactionstatus</div> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/M2_de_Admin.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/M2_de_Admin.png" alt="" width="500"></a></p> <h5 class="h5Header">Additional Response-data</h5> <p>Setzen Sie unter General, die Additional Response-data sowohl für Live als auch für Test auf "on".</p> <p><a href="https://docs.payone.com/bl-themes/payone-docs/img/start_here/pmi-additional-resp-data.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-themes/payone-docs/img/start_here/pmi-additional-resp-data.png" width="400" height="156" alt=""></a></p> </div> <div class="payone-white-content-section" title="Admin Config"> <h4 class="h4Header" id="AdminConfig">Konfiguration im Magento2 - Admin</h4> <ul style="list-style: disc inside;"> <li>Klicken Sie unter PAYONE → Allgemein</li> </ul> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-1.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-1.png" alt="" width="272" height="272"></a></p> <ul style="list-style: disc inside;"> <li>Tragen Sie hier bitte Ihre Zugangsdaten, aus dem PMI, ein:</li> </ul> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-2.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-2.png" alt="" width="279" height="279"></a></p> <div class="tryoutbox">Wir empfehlen dringend, maximal 5 Zeichen als Präfix zu verwenden. Ist kein Refentenznummernpräfix gesetzt, wird nur die Magento-Bestellnummer übermittelt.</div> <ul style="list-style: disc inside;"> <li>Legen Sie fest ob nach einer erfolgreichen Zahlung per "Autorisierung" automatisch eine E-Mail mit der Rechnung an den Kunden senden soll:</li> </ul> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-3.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-3.png" alt="" width="330" height="44"></a></p> <ul style="list-style: disc inside;"> <li>Jede Zahlungsart kann mit separaten Zugangsdaten genutzt werden. Diese können direkt in der Zahlungsart eingetragen werden.</li> </ul> <h5 class="h5Header">Konfiguration der Zahlungsarten</h5> <ul style="list-style: disc inside;"> <li>Klicken Sie unter PAYONE → Zahlarten</li> </ul> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-4.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-4.png" alt="" width="285" height="285"></a></p> <ul style="list-style: disc inside;"> <li>Aktivieren/ Deaktivieren Sie die gewünschten Zahlungsarten im Feld "Aktiviert".</li> </ul> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-5.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-5.png" alt="" width="400"></a></p> <div class="alertbox">Aufgrund von Einschränkungen, die in Magento 2.3.1 eingeführt wurden, sind alle Zahlungsmethoden nach der Erstinstallation standardmäßig aktiv. Bitte stellen Sie sicher, dass Sie alle Zahlungsmethoden, die Sie nicht benötigen, vor dem Start deaktivieren!</div> <h5 class="h5Header">Spezielle Anpassungen</h5> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Gesicherter Rechnungskauf (neu) + Gesicherter Ratenkauf<span></span></span></div> <div class="responsesDivcontent"> <p></p> <p>Diese beiden Zahlungsarten benötigen ein eigenes Zahlungsportal. Bitte gehen Sie unter PAYONE → Zahlarten → Gesicherter Rechnungskauf (neu) bzw. Gesicherter Ratenkauf → Nutze Globale Einstellungen auf "Nein" und eine separate Portal ID eintragen.</p> <div class="tryoutbox">Wenn die Bestellungen teilgecaptured werden, müssen die Refunds in der gleichen Höhe erstellt werden. Hintergrund ist, dass bei jedem Capture eine neue Forderung entsteht.</div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Klarna</span></div> <div class="responsesDivcontent"> <div class="tryoutbox">Die Klarna-Zahlungsmethoden:<br> - Klarna Rechung<br> - Klarna Lastschrift<br> - Klarna Ratenkauf<br>sind in einer Klarna Basiszahlungsmethode zusammengefasst.</div> <div><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-15.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-15.png" alt="" width="200"></a></div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Ratepay</span></div> <div class="responsesDivcontent"> <div><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-16.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-16.png" alt="" width="200"></a></div> <div>Ratepay erfordert die Einstellung einer oder mehrerer Shop-IDs. Diese erhalten Sie von Ratepay. Klicken Sie nach dem Hinzufügen auf "Ratepay Shop-IDs aktualisieren". Gültige Shop-IDs werden mit ihrer von Ratepay festgelegten Konfiguration angezeigt.</div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Amazon Pay</span></div> <div class="responsesDivcontent"> <div> <h5 class="h5Param">Integrationseinstellungen in Seller Central</h5> </div> <div>Bitte tragen Sie im Punkt "Integrationseinstellungen" in Seller Central unter Integrator-URL folgende URL ein: https://gpc-sys.pay1.de/gpc/amazon/1.0/notify - die "Seller URL" kann leer bleiben. Diese URL stellt sicher, dass der Shop alle Benachrichtigungen von Amazon erhält.</div> <div><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-12.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-12.png" alt="" width="200"></a></div> <div>Bitte stellen Sie auch sicher, dass Sie alle URLs Ihres Shops als erlaubte Javascript Origin in Seller Central speichern.</div> <div></div> <ol style="padding-left: 25px;"> <li>Wählen Sie auf der Seller Central-Startseite in der Navigationsleiste oben links "Integration - Integration Central".</li> <li>Scrollen Sie auf der Seite "Integration Central" nach unten zum Abschnitt "Kunden-ID/Shop-ID(s) verwalten" und klicken Sie auf "Kunden-ID/Shop-ID(s) anzeigen".</li> <li>Wenn Sie eine bestehende Kunden- oder Shop-ID registriert haben, überprüfen Sie die Konfiguration des ausgewählten Shops. Sie können auf den Link "Bearbeiten" auf der rechten Seite klicken, um die Informationen zu bearbeiten.</li> <li>Wenn Sie auf die Schaltfläche "Bearbeiten" klicken, können Sie alle Details der Kundenkonfiguration bearbeiten.</li> <li>Wenn Sie ab Schritt 3 auf den Link "Neue Konfiguration erstellen" oben klicken, können Sie eine neue Kundenkonfiguration erstellen und alle relevanten Informationen angeben.</li> </ol> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-13.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-13.png" alt="" width="200"></a></p> <h5 class="h5Param">Abrufen der Konfiguration im Magento-Backend</h5> <p>Um die Zahlungsmethode zu aktivieren, verwenden Sie bitte den Button "get configuration". Dies ruft Ihre Kunden-ID und Verkäufer-ID von unserer Plattform ab. Sie sollten dann die Werte in den entsprechenden Feldern sehen.</p> <h5 class="h5Param">Aktivieren Sie die Zahlungsmethode</h5> <p>Bitte beachten Sie, dass Sie nur dann Live-Zahlungen vornehmen können, wenn die Zahlungsmethode für Live-Zahlungen in Seller Central zugelassen ist.</p> <p> <a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-14.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-14.png" alt="" width="200"></a></p> <div> <table class="payone-simpleTable" style="width: 57.1374%;"> <thead> <tr> <th class="payone-simpleTh" style="width: 13.144%;">Feld</th> <th class="payone-simpleTh" style="width: 86.856%;">Beschreibung</th> </tr> </thead> <tbody> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Client ID</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <p>Zeigt die derzeitige Client ID</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Seller ID</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <p>Zeigt die derzeitige Seller ID</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Get configuration</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <p>Mit diesem Button erhalten Sie die Konfiguration von PAYONE</p> <div class="alertbox"> <p>Diese Zahlungsart funktioniert nicht, bevor die Konfiguration gespeichert wurde!</p> </div> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Button Type</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <ul style="list-style: disc inside;"> <li>Amazon Pay (normal) </li> <li>Pay (smaller)</li> <li>Amazon Pay (smallest)</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Button Type</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <ul style="list-style: disc inside;"> <li>Gold</li> <li>Light grey</li> <li>Dark grey</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Mode</p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <ul style="list-style: disc inside;"> <li>Automatic (verwendet die Standardsprache)</li> <li>Englisch</li> <li>Deutsch</li> <li>French</li> <li>Italian</li> <li>Spanish</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 13.144%;"> <p>Amazon Mode<br> </p> </td> <td class="payone-simpleTd" style="width: 86.856%;"> <ul style="list-style: disc inside;"> <li>Always Synchronous</li> <li>Asynchronous on failure</li> </ul> </td> </tr> </tbody> </table> </div> <div class="responsesDivcontent"> <div class="tryoutbox">In manchen Fällen kann es zu einer Interferenz zwischen unserem Plugin und dem Amazon-Plugin im Magento Core kommen. Wenn Sie also ein "seltsames Verhalten" feststellen, wie z.B. das Verschwinden von Amazon-Buttons, können Sie den folgenden Befehl im Magento-Root auszuführen:<br> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big"></div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>php bin/magento module:disable Amazon_Payment </code></pre> </td> </tr> </tbody> </table> </div> <p class="endOfBlock m-0 p-0"></p> </div> </div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Kreditkarte</span></div> <div class="responsesDivcontent"> <p></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-6.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-6.png" alt="" width="200" height="150"></a></p> <p>Wählen Sie unter Kartentyp aus, welche Kreditkarten Sie anbieten wollen.</p> <p>Das Feld Prüfe Kartenprüfziffer bestimmt, ob die Kreditkartenprüfnummer abgefragt wird.</p> <div class="tryoutbox">Aus rein technischer Sicht ist die Abfrage der CVC optional. Die meisten Endkunden sind jedoch an die Abfrage gewöhnt.</div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">PAYONE Lastschrift </span></div> <div class="responsesDivcontent"> <p></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-7.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-7.png" alt="" width="200"></a></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-8.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-8.png" alt="" width="200"></a></p> <div> <table class="payone-simpleTable" style="width: 51.9064%; height: 363px;"> <thead> <tr style="height: 39px;"> <th class="payone-simpleTh" style="width: 25.5061%; height: 39px;">Feld</th> <th class="payone-simpleTh" style="width: 74.4939%; height: 39px;">Beschreibung</th> </tr> </thead> <tbody> <tr style="height: 120px;"> <td class="payone-simpleTd" style="width: 25.5061%; height: 12px;"> <p>BIC Abfrage</p> </td> <td class="payone-simpleTd" style="width: 74.4939%; height: 12px;"> <p>Bestimmt, ob die BIC im Checkout abgefragt wird. Verwenden Sie diese Konfiguration für eine bessere Kompatibilität mit Bankkonten von außerhalb der DACH-Region.</p> </td> </tr> <tr style="height: 78px;"> <td class="payone-simpleTd" style="width: 25.5061%; height: 78px;"> <p>Download Mandat als PDF</p> </td> <td class="payone-simpleTd" style="width: 74.4939%; height: 78px;"> <p>Bei der Auswahl Ja wird nach der Bestellung ein Link angeboten, über den der Endkunde das SEPA-Mandat als PDF-Datei herunterladen kann.</p> </td> </tr> <tr style="height: 78px;"> <td class="payone-simpleTd" style="width: 25.5061%; height: 78px;"> <p>Liste der unterstützten Kontoländer</p> </td> <td class="payone-simpleTd" style="width: 74.4939%; height: 78px;"> <p>Mehrfachauswahl der Länder, aus denen die Zahlungsart Lastschrift unterstützt wird. Die PAYONE Plattform unterstützt derzeit nur Lastschriften für deutsche Bankkonten.</p> </td> </tr> <tr style="height: 78px;"> <td class="payone-simpleTd" style="width: 25.5061%; height: 78px;"> <p>Mandatserteilung aktivieren</p> </td> <td class="payone-simpleTd" style="width: 74.4939%; height: 78px;"> <p>Soll der SEPA-Mandatsmanager verwendet werden? Eine Prüfung der Bankverbindung ist obligatorisch. Eine Prüfung gegen die POS-Sperrliste ist nicht möglich.</p> </td> </tr> <tr style="height: 78px;"> <td class="payone-simpleTd" style="width: 25.5061%; height: 78px;"> <p>Prüfe Bankverbindung</p> </td> <td class="payone-simpleTd" style="width: 74.4939%; height: 78px;"> <p>Schaltet eine Überprüfung der Bankverbindung mittels "bankaccountcheck"-Aufforderung ein.</p> <div class="alertbox">Diese Einstellung ist Teil unseres optionalen Risk Management Modul</div> </td> </tr> </tbody> </table> </div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">PayPal v2<span></span></span></div> <div class="responsesDivcontent"> <p></p> <p>Im Testsystem ist es nicht erforderlich, eine „PayPal Merchant ID“ in den PayPal V2 Einstellungen einzugeben. Beim Wechsel in die Live-Umgebung muss jedoch die „PayPal Merchant ID“ des Händlers hier eingetragen werden.</p> <p>Hier finden sie eine <a href="https://docs.payone.com/payment-methods/paypal/paypal-v2/paypalv2-credentials#/" target="_blank" rel="noopener">detaillierte Beschreibung</a>, wo genau Sie Ihre PayPal Merchant ID finden können.</p> <a href="https://docs.payone.com/bl-content/uploads/pages/c26dff931b46dd445bed5bcefd63a1dd/Magento2PPv2.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/c26dff931b46dd445bed5bcefd63a1dd/Magento2PPv2.png" alt="" width="300"></a></div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Apple Pay<span></span></span></div> <div class="responsesDivcontent"> <p></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-9.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-9.png" alt="" width="200"></a></p> <div> <table class="payone-simpleTable" style="width: 36.7604%;"> <thead> <tr> <th class="payone-simpleTh" style="width: 2.25225%;">Feld</th> <th class="payone-simpleTh" style="width: 97.7477%;">Beschreibung</th> </tr> </thead> <tbody> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Aktiviert</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Ja/ Nein</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Titel</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Name der Zahlart, welcher im Checkout erscheint</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Apple Pay Merchant Id</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Diesen Wert können Sie dem Apple Developer Portal als "Identifier" Ihrer Merchant ID entnehmen:</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-10.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-10.png" alt="" width="200"></a></p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Certificate file</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Bitte laden Sie Ihr Händleridentifikationszertifikat aus dem Apple Developer Portal im .pem Format hoch. Sie können die Datei merchant_id.cer mit diesem Konsolenbefehl in .pem konvertieren:</p> <p></p> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big">Certificate file</div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>openssl x509 -inform der -in merchant_id.cer -outform pem -out merchant_id.pem </code></pre> </td> </tr> </tbody> </table> </div> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Private key file</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Bitte laden Sie hier die private Schlüsseldatei hoch, mit der Sie die Apple Pay CSR erstellt haben.<br><br></p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Private key password</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Hier können Sie das Passwort zur Verwendung des Private Keys festlegen<br><br></p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 2.25225%;"> <p>Allowed card types</p> </td> <td class="payone-simpleTd" style="width: 97.7477%;"> <p>Wählen Sie hier die Kartentypen, die für Apple Pay erlaubt sind. Bitte wählen Sie hier nur die Kartentypen aus, die auch Bestandteil Ihres PAYONE-Vertrags sind.<br> </p> </td> </tr> </tbody> </table> </div> <div class="tryoutbox"> <p>Neben der Konfiguration in Magento ist für den Betrieb von Apple Pay als Zahlart auch das Einrichten der entsprechenden Zertifikate nötig. Hinweise dazu finden Sie hier: Special Remarks - Apple Pay</p> <p>Zusätzlich verlangt Apple die Validierung der Shop-Domain für Apple Pay. Folgen Sie dafür den Anweisungen im Apple Developer Portal:</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-11.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/thumbnails/Magento2-11.png" alt="" width="200"></a></p> </div> </div> <h5></h5> <h5 class="h5Header">Bearbeiten der Bestellungen</h5> <p>Klicken Sie unter PAYONE → Bestellungen</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-17.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-17.png" alt="" width="200"></a></p> <h5 class="h5Param">Überblick</h5> <p class="endOfBlock m-0 p-0"><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-18.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-18.png" alt="" width="300"></a></p> <p>Hier finden Sie eine PAYONE-spezifische Bestellübersicht ähnlich der Magento-Bestellübersicht. Neben den Standardinformationen können Sie hier den Zahlungsstatus auf der PAYONE Plattform, die genaue Art der Zahlung (z.B. Kreditkartenmarken) und ggf. den Mahnstatus einsehen. Ein Klick auf Ansicht öffnet die Detailansicht der entsprechenden Bestellung.</p> <h5 class="h5Header">Erfassung/ Capture</h5> <p>Vorautorisierte Transaktionen müssen erfasst werden, um den eigentlichen Geldfluss auszulösen. Unter PAYONE → Bestellungen → Bestelldetails → Rechnungsbeleg können Sie mit der Rechnungserstellung den Capture auslösen.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-19.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-19.png" alt="" width="200"></a></p> <p>Durch die Auswahl von "Online erfassen" in der oben gezeigten Dropdown-Liste wird die Forderung auf der PAYONE Plattform eingezogen. Wenn Sie das Geld nicht erfassen, aber dennoch eine Rechnung und Forderung erstellen möchten, wählen Sie bitte stattdessen "Offline erfassen".</p> <p>Teilerfassungen sind ebenfalls möglich, indem Sie einfach die fakturierbare Menge der Artikel anpassen.</p> <p><strong style="color: rgba(0, 150, 214, 1);">Rückerstattung/ Refund</strong></p> <p>Bereits erfasste Gelder können durch Erstellen einer Gutschrift für eine bestehende Rechnung zurückerstattet werden.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-20.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-20.png" alt="" width="200"></a></p> <p>Rufen Sie sich die Rechnungsdetails der Rechnung auf, die gutgeschrieben werden soll. Klicken Sie oben rechts auf Credit Memo.</p> <p> <a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-21.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-21.png" alt="" width="300"></a></p> <p>Geben Sie hier ein, welche Summe erstattet werden soll:</p> <p> <a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-22.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-22.png" alt="" width="200"></a></p> <p>Mit Klick auf die Schaltfläche "Refund", wird das Geld an die Zahlungsmethode des Kunden zurückgeschickt. "Refund Offline" erstellt die Gutschrift, löst aber keinen Geldfluss aus.</p> <p>Teilerstattungen sind nach der gleichen Methode wie bei Teilerfassungen möglich. Sie können auch die Summe der Rückerstattung anpassen, um die Gebühren während der Rückerstattung zu berücksichtigen. Bedenken Sie, dass einige Zahlungsarten darauf angewiesen sind, dass die Artikel im Warenkorb mit der ursprünglichen Bestellung übereinstimmen.</p> <h5 class="h5Header">Erweiterte Konfigurationen</h5> <p>Hier finden Sie separate Einstellungsmöglichkeiten, mit den Sie unser Plugin genauer an Ihre Bedürfnisse anpassen können:</p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Rechnungsinformationen senden</span></div> <div class="responsesDivcontent"> <p></p> <p>Unter PAYONE → Allgemein → Send invoicing information aktivieren Sie die Übermittlung von Artikeldaten, um eine Rechnung auf der PAYONE Plattform zu erstellen.</p> <p>Der Text kann frei gewählt werden und erscheint als dynamischer Text auf der Rechnung bzw. Gutschrift. Es können verschiedene Magento-Variablen als Platzhalter verwendet werden.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-23.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-23.png" alt="" width="200"></a></p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Status Mapping</span></div> <div class="responsesDivcontent"> <p></p> <p>Unter PAYONE → Allgemein → Status Mapping können die verschiedenen Transaktionsstatus der PAYONE Plattform auf Magento-Bestellstatus abgebildet werden. Wird ein neuer Transaktionsstatus empfangen, wird der entsprechende "Magento-Status" in der Bestellübersicht im Magento-Backend gesetzt. Dies kann für jede Zahlart separat eingetragen werden.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-24.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-24.png" alt="" width="300"></a></p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Kreditkarte - CSS Anpassungen</span></div> <div class="responsesDivcontent"> <p></p> <p>Klicken Sie unter PAYONE → Allgemein → Kreditkartenzahlung → Feldkonfiguration → Benutzerdefinierte Anpassung hosted-Iframe</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-25.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-25.png" alt="" width="200"></a></p> <table class="payone-simpleTable" style="width: 50.121%; height: 612px;"> <thead> <tr style="height: 39px;"> <th class="payone-simpleTh" style="width: 18.9759%; height: 39px;">Feld</th> <th class="payone-simpleTh" style="width: 81.0241%; height: 39px;">Beschreibung</th> </tr> </thead> <tbody> <tr style="height: 36px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 36px;"> <p>Aktiv</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 36px;"> <p>Ja/Nein</p> </td> </tr> <tr style="height: 57px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 57px;"> <p>Anzahl Zeichen</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 57px;"> <p>Länge des Feldes in Zeichen (HTML attribute size)</p> </td> </tr> <tr style="height: 36px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 36px;"> <p>Breite</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 36px;"> <p>CSS - Spezifiziert width</p> </td> </tr> <tr style="height: 99px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 99px;"> <p>CSS</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 99px;"> <p>Spezifikation von CSS properties für das Feld</p> <p>Deaktiviert mit der Vorauswahl des Standard</p> </td> </tr> <tr style="height: 39px;"> <th class="payone-simpleTh" style="background-color: #ecf0f1; width: 100%; height: 39px;" colspan="2">Fehlerausgabe</th> </tr> <tr style="height: 36px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 36px;"> <p>Höhe</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 36px;"> <p>CSS - Indikator height</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>iFrame</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <ul style="list-style: disc inside;"> <li><strong>Standard </strong>- Verwendet Breite und Höhe vom Standardstils</li> <li><strong>Benutzerdefiniert </strong>- Verwendet Breite und Höhe aus den folgenden Feldern</li> </ul> </td> </tr> <tr style="height: 63px;"> <td class="payone-simpleTd" style="width: 18.9759%; height: 63px;"> <p>iFrame</p> </td> <td class="payone-simpleTd" style="width: 81.0241%; height: 63px;"> <ul style="list-style: disc inside;"> <li><strong>Width </strong>- CSS Spezifikation</li> <li><strong>Height </strong>- CSS Spezifikation</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>Language</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <p>Wählen Sie die Sprache, in der die Fehlermeldung ausgegeben werden soll.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>Standardstil</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <ul style="list-style: disc inside;"> <li><strong>Eingabe </strong>- CSS Spezifikation für alle Eingabefelder (HTML input)</li> <li><strong>Auswahl </strong>- CSS Spezifikation für alle Auswahlfelder (HTML select )</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>Stil</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <ul style="list-style: disc inside;"> <li><strong>Standard </strong>- Nutzt CSS Spezifikation vom Standard</li> <li><strong>Benutzerdefiniert </strong>- Nutzt CSS Spezifikation von den folgenden Feldern</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>Typ</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <ul style="list-style: disc inside;"> <li><strong>Numerisch </strong>- Es sind nur Zahlen erlaubt und für mobile Geräte wird die numerische Tastatur verwendet input type="tel".</li> <li><strong>Passwort </strong>- input type="password"</li> <li><strong>Text </strong>- input type="text"</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 18.9759%;"> <p>Zeichen Max</p> </td> <td class="payone-simpleTd" style="width: 81.0241%;"> <p>Maximale Länge der Eingabe (HTML attribute maxlength)</p> </td> </tr> </tbody> </table> <h5 class="h5Param">Vorschau</h5> <p>An dieser Stelle sehen Sie, wie das Erscheinungsbild entsprechend der vorherigen Einstellung der Zahlungsart Kreditkarte im Checkout aussieht.</p> <p> <a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-26.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-26.png" alt="" width="200"></a></p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Simple Protect</span></div> <div class="responsesDivcontent"> <p></p> <p>Simple Protect ist die einfache und flexible Art, alle Daten zu nutzen, die Sie haben, und zwar genau in dem Moment, in dem Ihr Shop den Checkout durchführt. Sie können z.B. Informationen von:</p> <ul style="list-style: disc inside;"> <li>die Datenbank Ihres Magento 2 Shops</li> <li>die aktuelle Checkout-Sitzung</li> <li>externe Quellen, die vom Shopserver aus erreicht werden können (Datawarehouse; csv / xml / txt - Dateien, auf die mit PHP zugegriffen werden kann; APIs oder Erweiterungen wie die PAYONE Protect Funktionen und viele mehr.)</li> </ul> <p></p> <p>Im Folgenden finden Sie ein Beispiel für einige komplexe Entscheidungen, die mit Hilfe unseres simple protect framework getroffen werden können:</p> <p> <a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-27.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-27.png" alt="" width="300"></a></p> <div class="tryoutbox"> <p>Simple Protect befindet sich derzeit im Beta-Stadium. Wenn Sie diese Funktionalität nutzen möchten, müssen Sie die PAYONE Integration aus dem Simple Protect-Zweig herunterladen:</p> <a href="https://github.com/PAYONE-GmbH/magento-2/tree/simple-protect">https://github.com/PAYONE-GmbH/magento-2/tree/simple-protect</a><br><br> <p>Danach folgen Sie bitte den Anweisungen zur Installation der Simple Protect-Vorlage hier:</p> <a href="https://github.com/PAYONE-GmbH/magento-2-simple-protect">https://github.com/PAYONE-GmbH/magento-2-simple-protect</a></div> <div class="infobox"> <p>Eine komplette Beispielimplementation finden Sie hier:</p> <div class="buttons"><a class="btn btn-success has-text-white" type="button" href="https://github.com/PAYONE-GmbH/magento-2-simple-protect" target="_blank" rel="noopener"> Download Plugin </a></div> </div> <div class="alertbox"> <p>Bitte beachten Sie, dass alle im Legacy-Teil dieser Dokumentation beschriebenen Funktionen bei der Verwendung von simple protect nicht mehr zur Verfügung stehen. Zur Zeit bieten wir auch keinen Migrationsmechanismus an.<br>Bitte beachten Sie ebenfalls, dass Sie sich an die Richtlinien des <span style="color: #3598db;"><a href="https://de.wikipedia.org/wiki/Datenschutz-Grundverordnung" target="_blank" rel="noopener" style="color: #3598db;">GDPR</a> </span>halten müssen.</p> </div> <h5>einbindung</h5> <div class="circnum">1</div> <div> <p>Schritt eins, die Initialisierung eines database objects:</p> <pre class="language-php"><code>/** * Database connection resource * * @var \Magento\Framework\App\ResourceConnection */ protected $databaseResource;</code></pre> </div> <div class="circnum">2</div> <div> <p>der Zusammenbau deselbigen</p> <pre class="language-php"><code>/** * Constructor * * @param \Magento\Framework\App\ResourceConnection $resource */ public function __construct( \Magento\Framework\App\ResourceConnection $resource ) { $this-&gt;databaseResource = $resource; }</code></pre> </div> <div class="circnum">3</div> <div> <p>Danach können Sie die Datenbank nach Informationen wie den folgenden fragen</p> <pre class="language-php"><code>/** * Get count of customers orders * * @param CustomerInterface $oCustomer * @return int */ protected function getCustomersOrderCount(CustomerInterface $oCustomer) { $db = $this-&gt;databaseResource-&gt;getConnection(); $oSelect = $db-&gt;select() -&gt;from($this-&gt;databaseResource-&gt;getTableName('sales_order'), ['COUNT(entity_id)']) -&gt;where("customer_id = :customerId"); $iCount = $db-&gt;fetchOne($oSelect, ['customerId' =&gt; $oCustomer-&gt;getId()]); if ($iCount === null) { return 0; } return $iCount; }</code></pre> </div> <p></p> <h4>Ausführung der payoNE protect checks</h4> <div class="infobox" style="background-position-y: 15px;"> <p>Um den PAYONE protect check ausführen zu können müssen Sie vorher den PAYONE prtectFunnel initieren und aufbauen</p> <pre class="language-php"><code>/** * PAYONE Protect model providing access to consumerscore and addresscheck requests * * @var \Payone\Core\Model\SimpleProtect\ProtectFunnel */ protected $protectFunnel; public function __construct( \Payone\Core\Model\SimpleProtect\ProtectFunnel $protectFunnel ) { $this-&gt;protectFunnel = $protectFunnel; }</code></pre> </div> <h6>adressencheck</h6> <p>nachfolgend eine einfache Methode um einen Adresscheck der Rechnungsadresse auszuführen</p> <br> <pre class="language-php"><code>/** * Example for addresscheck usage * * @param Quote $oQuote * @return AddresscheckResponse|bool */ protected function executeAddresscheck(Quote $oQuote) { $oAddress = $oQuote-&gt;getBillingAddress(); $sAddresscheckType = AddressCheckType::BASIC; return $this-&gt;protectFunnel-&gt;executeAddresscheck($oAddress, $this-&gt;getOperationMode(), $sAddresscheckType); }</code></pre> <p></p> <p>Wenn Sie einen Adresscheck der Versandadresse durchführen möchten, müssen Sie die Variable $oAddress - wie folgt ändern</p> <pre class="language-php"><code>/** * getting the shipping address */ $oAddress = $oQuote-&gt;getShippingAddress();</code></pre> <p></p> <p>Um den Adresscheck anderweitig zu nutzen haben Sie folgende Möglichkeiten</p> <pre class="language-php"><code>/** * Examples of all the types for addresscheck usage */ $sAddresscheckType = AddressCheckType::NONE; $sAddresscheckType = AddressCheckType::BASIC; $sAddresscheckType = AddressCheckType::PERSON; $sAddresscheckType = AddressCheckType::BONIVERSUM_BASIC; $sAddresscheckType = AddressCheckType::BONIVERSUM_BASIC;</code></pre> <h6>consumerscore</h6> <p>Nachfolgend eine einfach Methode um den consumerscore abzufragen. Wie im Adresscheck beschrieben kann man auch die zu erfragende Adresse ändern</p> <pre class="language-php"><code>/** * getting the shipping address */ $oAddress = $oQuote-&gt;getShippingAddress();</code></pre> <p></p> <p>Weitere Optionen für die consumerscore -Abfrage</p> <pre class="language-php"><code>/** * Examples of all the options for consumerscore usage */ $sConsumerscoreType = CreditratingCheckType::INFOSCORE_HARD; $sConsumerscoreType = CreditratingCheckType::INFOSCORE_ALL; $sConsumerscoreType = CreditratingCheckType::INFOSCORE_ALL_BONI; $sConsumerscoreType = CreditratingCheckType::BONIVERSUM_VERITA;</code></pre> <p></p> <p>Ein Beispiel</p> <pre class="language-php"><code>/** * Example for consumerscore usage * * @param Quote $oQuote * @return ConsumerscoreResponse|bool */ protected function executeConsumerscore(Quote $oQuote) { $oAddress = $oQuote-&gt;getBillingAddress(); $sConsumerscoreType = CreditratingCheckType::INFOSCORE_ALL; return $this-&gt;protectFunnel-&gt;executeConsumerscore($oAddress, $this-&gt;getOperationMode(), $sConsumerscoreType, $sAddresscheckType); }</code></pre> <p></p> <p>Oben erlangtes Ergebnis können Sie wie folgt verwenden</p> <pre class="language-php"><code>/** * Check the result of executing the consumerscore * @return bool */ $oResponse = $this-&gt;executeConsumerscore($oQuote); if ($oResponse instanceof ConsumerscoreResponse &amp;&amp; ($oResponse-&gt;getStatus() != 'VALID' || $oResponse-&gt;getScore() != 'G')) { return true; }</code></pre> <div class="infobox" style="background-position-y: 15px;"> <p>Im oben genannten Beispiel der Aufruf $oResponse-&gt;getScore() gibt Ihnen den Scorewert wie hier beschrieben zurück.</p> </div> <h6>Filter Im store view</h6> <p>Wenn Sie noch weitere Entscheidungen im Store View treffen wollen, können Sie mit weiteren Magento Objekten danach fragen</p> <pre class="language-php"><code>/** * Change AddressCheckType for the stores * @default AddressCheckType::NONE */ $sAddresscheckType = AddressCheckType::NONE; if ($oQuote-&gt;getStore()-&gt;getName() == 'new Brands') { $sAddresscheckType = AddressCheckType::PERSON; } else if ($oQuote-&gt;getStore()-&gt;getCode() == 'old_Brands') { $sAddresscheckType = AddressCheckType::BASIC; }</code></pre> <p></p> </div> <h5 class="h5Param">Konfiguration</h5> <p>Klicken Sie unter PAYONE → Protect</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-28.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-28.png" alt="" width="200"></a></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-29.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-29.png" alt="" width="300"></a></p> <div class="alertbox">Diese Option betrifft nur Anfragen bezüglich der PAYONE - API wie adresscheck oder consumerscore. Sonstiger Code wird wie entwickelt ausgeführt.</div> <div> <h5 class="h5Param">Entry points / Points of action</h5> <p>Die Klasse app/code/Payone/SimpleProtect/Model/SimpleProtect/SimpleProtect.php ist der zentrale Punkt zur Umsetzung der Entscheidungen.</p> <p>Die folgenden Methoden geben die Punkte wieder, an denen die Aktionen stattfinden.</p> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big"><span class="sampleboxhtext has-text-white">Beispiel einer kompletten Integration</span></div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-php"><code>&lt;?php /** * PAYONE Magento 2 Connector is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * PAYONE Magento 2 Connector is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with PAYONE Magento 2 Connector. If not, see &lt;http://www.gnu.org/licenses/&gt;. * * PHP version 5 * * @category Payone * @package Payone_Magento2_SimpleProtect * @author FATCHIP GmbH &lt;support@fatchip.de&gt; * @copyright 2003 - 2019 Payone GmbH * @license &lt;http://www.gnu.org/licenses/&gt; GNU Lesser General Public License * @link http://www.payone.de */ namespace Payone\SimpleProtect\Model\SimpleProtect; use Magento\Payment\Model\MethodInterface; use Magento\Quote\Model\Quote; use Payone\Core\Model\SimpleProtect\SimpleProtect as OrigSimpleProtect; use Payone\Core\Model\PayoneConfig; use Magento\Customer\Api\Data\CustomerInterface; use Magento\Quote\Model\Quote\Address; use Payone\Core\Model\Source\AddressCheckType; use Payone\Core\Model\Source\CreditratingCheckType; use Magento\Framework\Exception\LocalizedException; use Payone\Core\Model\Exception\FilterMethodListException; use Payone\Core\Model\Api\Response\AddresscheckResponse; use Payone\Core\Model\Api\Response\ConsumerscoreResponse; use Magento\Quote\Api\Data\AddressInterface; use Magento\Store\Model\ScopeInterface; class SimpleProtect extends OrigSimpleProtect { const MODULE_VERSION = '1.0.0'; /** * Whitelist of safe payment methods * * @var array */ protected $safePaymentMethods = [ PayoneConfig::METHOD_ADVANCE_PAYMENT, PayoneConfig::METHOD_CREDITCARD, PayoneConfig::METHOD_PAYPAL ]; /** * PAYONE Protect model providing access to consumerscore and addresscheck requests * * @var \Payone\Core\Model\SimpleProtect\ProtectFunnel */ protected $protectFunnel; /** * Database connection resource * * @var \Magento\Framework\App\ResourceConnection */ protected $databaseResource; /** * Checkout session object * * @var \Magento\Checkout\Model\Session\Proxy */ protected $checkoutSession; /** * Scope config object * * @var \Magento\Framework\App\Config\ScopeConfigInterface */ protected $scopeConfig; /** * Constructor * * @param \Payone\Core\Model\SimpleProtect\ProtectFunnel $protectFunnel * @param \Magento\Framework\App\ResourceConnection $resource * @param \Magento\Checkout\Model\Session\Proxy $checkoutSession * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig */ public function __construct( \Payone\Core\Model\SimpleProtect\ProtectFunnel $protectFunnel, \Magento\Framework\App\ResourceConnection $resource, \Magento\Checkout\Model\Session\Proxy $checkoutSession, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig ) { parent::__construct($protectFunnel); $this-&gt;databaseResource = $resource; $this-&gt;checkoutSession = $checkoutSession; $this-&gt;scopeConfig = $scopeConfig; } /** * Returns configured operation mode used for the addresscheck and consumerscore * * @return string */ public function getOperationMode() { return $this-&gt;scopeConfig-&gt;getValue('payone_general/global/protect_mode', ScopeInterface::SCOPE_STORES); } /** * Get count of customers orders * * @param CustomerInterface $oCustomer * @return int */ protected function getCustomersOrderCount(CustomerInterface $oCustomer) { $db = $this-&gt;databaseResource-&gt;getConnection(); $oSelect = $db-&gt;select() -&gt;from($this-&gt;databaseResource-&gt;getTableName('sales_order'), ['COUNT(entity_id)']) -&gt;where("customer_id = :customerId"); $iCount = $db-&gt;fetchOne($oSelect, ['customerId' =&gt; $oCustomer-&gt;getId()]); if ($iCount === null) { return 0; } return $iCount; } /** * Check if the customer has ordered before * * @param CustomerInterface $oCustomer * @return bool */ protected function isRecurringCustomer(CustomerInterface $oCustomer) { if ($this-&gt;getCustomersOrderCount($oCustomer) == 0) { return false; } return true; } /** * Possibility to whiteliste customers with custom functionality * * @param CustomerInterface $oCustomer * @return bool */ protected function isCustomerWhitelisted(CustomerInterface $oCustomer) { return true; // implement this for yourself or remove completely } /** * Generate hash of given address for comparison * * @param Address $oAddress * @return string */ protected function getAddressHash(Address $oAddress) { $sAddress = $oAddress-&gt;getFirstname(); $sAddress .= $oAddress-&gt;getLastname(); $sAddress .= $oAddress-&gt;getCity(); $sAddress .= $oAddress-&gt;getPostcode(); $sAddress .= $oAddress-&gt;getCountry(); $sAddress .= $oAddress-&gt;getStreetFull(); return md5($sAddress); } /** * Compare given addresses, return true if they are the same * * @param Address $oBilling * @param Address $oShipping * @return bool */ protected function isBillingAndShippingAddressTheSame(Address $oBilling, Address $oShipping) { if ($this-&gt;getAddressHash($oBilling) != $this-&gt;getAddressHash($oShipping)) { return false; } return true; } /** * Filter out all payment methods except for the safe payment methods * * @param MethodInterface[] $aPaymentMethods * @return MethodInterface[] */ protected function getSafePaymentMethods($aPaymentMethods) { $aReturn = []; foreach ($aPaymentMethods as $oPaymentMethod) { if (in_array($oPaymentMethod-&gt;getCode(), $this-&gt;safePaymentMethods) === true) { $aReturn[] = $oPaymentMethod; } } return $aReturn; } /** * Examples of all the options for addresscheck usage * * @param Quote $oQuote * @return AddresscheckResponse|bool */ protected function executeAddresscheck(Quote $oQuote) { $oAddress = $oQuote-&gt;getBillingAddress(); #$oAddress = $oQuote-&gt;getShippingAddress(); #$sAddresscheckType = AddressCheckType::NONE; $sAddresscheckType = AddressCheckType::BASIC; #$sAddresscheckType = AddressCheckType::PERSON; #$sAddresscheckType = AddressCheckType::BONIVERSUM_BASIC; #$sAddresscheckType = AddressCheckType::BONIVERSUM_PERSON; return $this-&gt;protectFunnel-&gt;executeAddresscheck($oAddress, $this-&gt;getOperationMode(), $sAddresscheckType, $this-&gt;getModuleVersion()); } /** * Examples of all the options for consumerscore usage * * @param Quote $oQuote * @return ConsumerscoreResponse|bool */ protected function executeConsumerscore(Quote $oQuote) { $oAddress = $oQuote-&gt;getBillingAddress(); #$oAddress = $oQuote-&gt;getShippingAddress(); #$sConsumerscoreType = CreditratingCheckType::INFOSCORE_HARD; $sConsumerscoreType = CreditratingCheckType::INFOSCORE_ALL; #$sConsumerscoreType = CreditratingCheckType::INFOSCORE_ALL_BONI; #$sConsumerscoreType = CreditratingCheckType::BONIVERSUM_VERITA; $sAddresscheckType = AddressCheckType::NONE; #$sAddresscheckType = AddressCheckType::BASIC; #$sAddresscheckType = AddressCheckType::PERSON; #$sAddresscheckType = AddressCheckType::BONIVERSUM_BASIC; #$sAddresscheckType = AddressCheckType::BONIVERSUM_PERSON; return $this-&gt;protectFunnel-&gt;executeConsumerscore($oAddress, $this-&gt;getOperationMode(), $sConsumerscoreType, $sAddresscheckType, $this-&gt;getModuleVersion()); } /** * Check rules for recurring registered customers * * @param Quote $oQuote * @return bool */ protected function isOnlySafePaymentApplicableForRecurringCustomer(Quote $oQuote) { if ($oQuote-&gt;getBaseGrandTotal() &gt; 400 || $this-&gt;isCustomerWhitelisted($oQuote-&gt;getCustomer()) === false) { return true; } return false; } /** * Check rules for first time registered customer * * @param Quote $oQuote * @param bool $blIsPrePaymentSelection * @return bool */ protected function isOnlySafePaymentApplicableForInitialOrder(Quote $oQuote, $blIsPrePaymentSelection) { if ($blIsPrePaymentSelection === false &amp;&amp; $this-&gt;isBillingAndShippingAddressTheSame($oQuote-&gt;getBillingAddress(), $oQuote-&gt;getShippingAddress()) === false) { return true; } if ($oQuote-&gt;getBaseGrandTotal() &gt; 120) { return true; } if ($blIsPrePaymentSelection === false &amp;&amp; !in_array($oQuote-&gt;getPayment()-&gt;getMethodInstance()-&gt;getCode(), $this-&gt;safePaymentMethods)) { $oResponse = $this-&gt;executeConsumerscore($oQuote); if ($oResponse instanceof ConsumerscoreResponse &amp;&amp; ($oResponse-&gt;getStatus() != 'VALID' || $oResponse-&gt;getScore() != 'G')) { return true; } } return false; } /** * Check if only safe payment methods are applicable * * @param Quote $oQuote * @param bool $blIsPrePaymentSelection * @return bool */ protected function isOnlySafePaymentApplicable(Quote $oQuote, $blIsPrePaymentSelection) { if ($this-&gt;checkoutSession-&gt;getPayoneSimpleProtectOnlySafePaymentsAllowed() === true) { return true; } if ($oQuote-&gt;getCustomerId() === null) { // if guest checkout return true; } if ($this-&gt;isRecurringCustomer($oQuote-&gt;getCustomer()) === true) { return $this-&gt;isOnlySafePaymentApplicableForRecurringCustomer($oQuote); } return $this-&gt;isOnlySafePaymentApplicableForInitialOrder($oQuote, $blIsPrePaymentSelection); } /************************* MAIN SIMPLEPROTECT HOOKS *************************/ /** * This method can be extended for individual custom behaviour * * Extending this method gives the following possibilities: * 1. Filtering out payment methods based on your own rule set * 2. Throwing a LocalizedException to send the user back to shipping method selection * * @param Quote $oQuote * @param MethodInterface[] $aPaymentMethods * @return MethodInterface[] */ public function handlePrePaymentSelection(Quote $oQuote, $aPaymentMethods) { if ($this-&gt;isOnlySafePaymentApplicable($oQuote, true) === true) { return $this-&gt;getSafePaymentMethods($aPaymentMethods); } return $aPaymentMethods; } /** * This method can be extended for individual custom behaviour * * Extending this method gives the following possibilities: * 1. Throwing a LocalizedException will stop the order creation and throw the user back to payment selection with the given thrown message * 2. Throwing a FilterMethodListException with an array of safe payment methods will stop the order creation and * throw the user back to payment selection with the given thrown message and remove all other payment methods except for the given ones * 3. Finishing the method - so throwing no Exception will finish the order creation * * @param Quote $oQuote * @return void * @throws LocalizedException * @throws FilterMethodListException */ public function handlePostPaymentSelection(Quote $oQuote) { if ($this-&gt;isOnlySafePaymentApplicable($oQuote, false) === true) { $sMethodCode = $oQuote-&gt;getPayment()-&gt;getMethodInstance()-&gt;getCode(); if (!in_array($sMethodCode, $this-&gt;safePaymentMethods)) { $this-&gt;checkoutSession-&gt;setPayoneSimpleProtectOnlySafePaymentsAllowed(true); throw new FilterMethodListException(__('Please select another payment method.'), $this-&gt;safePaymentMethods); } } } /** * This method can be extended to transfer the version of your Simple-Protect implementation to Payone * It is recommended to transfer the name of your module and the version, otherwise Payone doesn't know that it is a Simple-Protect call * * @return string|null */ public function getModuleVersion() { return 'Payone_SimpleProtect-'.self::MODULE_VERSION; } }</code></pre> </td> </tr> </tbody> </table> </div> <p></p> <div class="tryoutbox">Wir haben weitere Beispiele unter Magento 2 - Simple Protect zusammengestellt. Hier finden Sie weitere Informationen darüber, wie Sie Daten für Ihre Entscheidungen gewinnen können. Sie sind auch eingeladen, weitere Beispiele als Themen auf Github oder per E-Mail an <a href="mailto:docs@payone.com">docs@payone.com</a> hinzuzufügen.</div> <div> <h5 class="h5Param">handlePrePaymentSelection</h5> <p>Die Umsetzung dieser Methode bietet Ihnen folgende Möglichkeiten:</p> <ol style="padding-left: 25px;"> <li>Das Auslösen einer LocalizedException stoppt die Auftragserstellung und wirft den Benutzer mit der angegebenen Meldung zurück zur Zahlungsauswahl</li> <li>Das Auslösen einer FilterMethodListException mit einem Array von sicheren Zahlungsmethoden stoppt die Auftragserstellung und wirft den Benutzer mit der angegebenen Meldung zurück zur Zahlungsauswahl und entfernt alle anderen Zahlungsmethoden außer den angegebenen</li> <li>Beenden der Methode - also keine Exception auslösen, beendet die Auftragserstellung</li> </ol> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big">handlePrePaymentSelection</div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>@param Quote $oQuote @param MethodInterface[] $aPaymentMethods @return MethodInterface[] public function handlePrePaymentSelection(Quote $oQuote, $aPaymentMethods) { if ($this-&gt;isOnlySafePaymentApplicable($oQuote, true) === true) { return $this-&gt;getSafePaymentMethods($aPaymentMethods); } return $aPaymentMethods; }</code></pre> </td> </tr> </tbody> </table> <p></p> </div> <p></p> <h5 class="h5Param">handlePostPaymentSelection</h5> <p>Die Umsetzung dieser Methode bietet Ihnen folgende Möglichkeiten:</p> <ol style="padding-left: 25px;"> <li>Das Auslösen einer LocalizedException stoppt die Auftragserstellung und wirft den Benutzer mit der angegebenen Meldung zurück zur Zahlungsauswahl</li> <li>Das Auslösen einer FilterMethodListException mit einem Array von sicheren Zahlungsmethoden stoppt die Auftragserstellung und wirft den Benutzer mit der angegebenen Meldung zurück zur Zahlungsauswahl und entfernt alle anderen Zahlungsmethoden außer den angegebenen</li> <li>Beenden der Methode - also keine Exception auslösen, beendet die Auftragserstellung</li> </ol> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big">handlePostPaymentSelection</div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>@param Quote $oQuote @return void @throws LocalizedException @throws FilterMethodListException public function handlePostPaymentSelection(Quote $oQuote) { if ($this-&gt;isOnlySafePaymentApplicable($oQuote, false) === true) { $sMethodCode = $oQuote-&gt;getPayment()-&gt;getMethodInstance()-&gt;getCode(); if (!in_array($sMethodCode, $this-&gt;safePaymentMethods)) { $this-&gt;checkoutSession-&gt;setPayoneSimpleProtectOnlySafePaymentsAllowed(true); throw new FilterMethodListException(__('Please select another payment method.'), $this-&gt;safePaymentMethods); } } }</code></pre> </td> </tr> </tbody> </table> </div> <h5 class="h5Param">handleEnterOrChangeBillingAddress</h5> <p>Die Umsetzung dieser Methode bietet Ihnen folgende Möglichkeiten:</p> <ol style="padding-left: 25px;"> <li>Wenn true zurückgegeben wird, wird der Prozess fortgesetzt, ohne dass etwas geändert wird.</li> <li>Die Rückgabe einer (geänderten) Adressobjektinstanz von AddressInterface zeigt dem Kunden eine Aufforderung zur Adresskorrektur</li> <li>Das Auslösen einer LocalizedException zeigt dem Kunden die angegebene Ausnahmemeldung an</li> </ol> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big">handleEnterOrChangeBillingAddress</div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>@param AddressInterface $oAddressData @param bool $blIsVirtual @param double $dTotal @return AddressInterface|bool @throws LocalizedException public function handleEnterOrChangeBillingAddress(AddressInterface $oAddressData, $blIsVirtual, $dTotal) { $response = $this-&gt;protectFunnel-&gt;executeAddresscheck($oAddressData, $this-&gt;getOperationMode(), AddressCheckType::BASIC); if ($oAddressData-&gt;getCity() == "FalscheStadt") { $oAddressData-&gt;setCity($response-&gt;getCity()); return $oAddressData; } return true; }</code></pre> </td> </tr> </tbody> </table> </div> <p></p> <h5 class="h5Param">handleEnterOrChangeShippingAddress</h5> <p>Die Umsetzung dieser Methode bietet Ihnen folgende Möglichkeiten:</p> <ol style="padding-left: 25px;"> <li>Wenn true zurückgegeben wird, wird der Prozess fortgesetzt, ohne dass etwas geändert wird.</li> <li>Die Rückgabe einer (geänderten) Adressobjektinstanz von AddressInterface zeigt dem Kunden eine Aufforderung zur Adresskorrektur</li> <li>Das Auslösen einer LocalizedException zeigt dem Kunden die angegebene Ausnahmemeldung an</li> </ol> <div class="samplebox responsesDIV"> <div class="sampleboxheader sbflex-big">handleEnterOrChangeShippingAddress</div> <button type="button" class="payone-copy-text button payone-is-tiny btn-primary sbflex"> <span class="icon-text"> <span class="icon payone-is-tiny"> <i class="payone-copy-outline"></i> </span> <span>Copy</span> </span> </button> <button class="btn-primary button payone-is-tiny sbflex" aria-expanded="false"> <svg class="svg-Up svg2" version="1.1" viewbox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true" style="fill: currentColor;"> <polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon> </svg><span>expand</span> <!--<span class="sc-jcwpoC DVwyR"></span> --></button> <table class="samplecodebox sbflex-full"> <tbody> <tr style="height: 179px;"> <td> <pre class="language-markup"><code>@param AddressInterface $oAddressData @param bool $blIsVirtual @param double $dTotal @return AddressInterface|bool @throws LocalizedException public function handleEnterOrChangeShippingAddress(AddressInterface $oAddressData, $blIsVirtual, $dTotal) { $response = $this-&gt;protectFunnel-&gt;executeAddresscheck($oAddressData, $this-&gt;getOperationMode(), AddressCheckType::BASIC); if ($oAddressData-&gt;getCity() == "FalscheStadt") { $oAddressData-&gt;setCity($response-&gt;getCity()); return $oAddressData; } return true; }</code></pre> </td> </tr> </tbody> </table> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Protect (Legacy)<span></span></span></div> <div class="responsesDivcontent"> <p></p> <p>Klicken Sie unter PAYONE → Protect</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-30.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-30.png" alt="" width="200"></a></p> <h5 class="h5Param">Adressprüfung</h5> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-31.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-31.png" alt="" width="300"></a></p> <div> <table class="payone-simpleTable" style="width: 48.4206%;"> <thead> <tr> <th class="payone-simpleTh" style="width: 35.6698%;">Feld</th> <th class="payone-simpleTh" style="width: 64.3302%;">Beschreibung</th> </tr> </thead> <tbody> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Aktiviert</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Aktiviert die Adressprüfung</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Betriebsmodus</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Hier wird bestimmt, ob die PAYONE Plattform im Test- oder Live-Modus angesprochen wird.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Prüfe Rechnungsadresse</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Konfiguration, mit welcher Prüfung die Rechnungsadresse geprüft werden soll.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Prüfe Lieferadresse</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Konfiguration, mit welcher Prüfung die Lieferadresse geprüft werden soll.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Prüfe Rechnungsadresse für virtuelle Bestellungen</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Wählen Sie, ob die Rechnungsadresse bei virtuellen Bestellungen geprüft werden soll.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Bestätigung der Adresskorrektur</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Auswahl, ob eine Adresskorrektur vom Käufer bestätigt werden muss.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Meldung bei ungültigen Daten</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Tragen Sie hier die Fehlermeldung ein, die beim Status "INVALID" angezeigt werden soll.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Behandlung von Fehlern</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Was soll nach einem Fehler in der Extension oder der PAYONE Plattform ausgeführt werden?</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Minimaler Warenwert</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Mindestbetrag für die Durchführung einer Adressprüfung.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Maximaler Warenwert</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Maximalbetrag für die Durchführung einer Adressprüfung</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 35.6698%;"> <p>Gültigkeit</p> </td> <td class="payone-simpleTd" style="width: 64.3302%;"> <p>Anzahl der Tage, an denen keine neue Adressüberprüfung durchgeführt wird.</p> </td> </tr> </tbody> </table> <p></p> <h5 class="h5Param">Bonitätsprüfung</h5> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-32.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-32.png" alt="" width="300"></a></p> <div> <table class="payone-simpleTable" style="width: 48.0829%;"> <thead> <tr> <th class="payone-simpleTh" style="width: 29.7488%;">Feld</th> <th class="payone-simpleTh" style="width: 70.2512%;">Beschreibung</th> </tr> </thead> <tbody> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Aktiviert</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Aktiviert die Bonitätsprüfung</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Betriebsmodus</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Hier wird bestimmt, ob die PAYONE Plattform im Test- oder Live-Modus angesprochen wird.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Zeitpunkt der Prüfung</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Auswahl der "Vor/Nach der Zahlartenauswahl"</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Bonitätscheck-Typ</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <ul style="list-style: disc inside;"> <li>Infoscore (Harte Merkmale, Alle Merkmale, Alle Merkmale + Boniscore)</li> <li>Boniversum (VERITA Score)</li> </ul> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Standardwert für unbekannte Scores</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Auswahl einer Ampelfarbe für den Rückgabestatus "Unbekannt"</p> </td> </tr> <tr> <td class="payone-simpleTd" colspan="2" style="background-color: #ecf0f1; width: 100%;"> <p>Das betrifft nur Prüfungsergebnisse bei Verwendung des Bonitätschecks 'Boniversum VERITA Score</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Erlaubte Zahlarten bei Ampelwert "Gelb/Rot"</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Mehrfachauswahl der zulässigen Zahlungsarten nach Ampelfarbe</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Behandlung von Fehlern</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Was ist zu tun, wenn ein Fehler in der Integration oder auf der PAYONE Plattform auftritt?</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Insufficient score error message</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Meldung, die dem Kunden angezeigt wird, wenn ein unzureichender Punktwert erreicht wird.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Minimaler Warenwert</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Mindestbetrag für die Durchführung einer Adressprüfung.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Maximaler Warenwert</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Maximalbetrag für die Durchführung einer Adressprüfung.</p> </td> </tr> <tr> <td class="payone-simpleTd" style="width: 29.7488%;"> <p>Gültigkeit</p> </td> <td class="payone-simpleTd" style="width: 70.2512%;"> <p>Anzahl der Tage, an denen keine neue Adressüberprüfung durchgeführt wird.</p> </td> </tr> </tbody> </table> <p></p> <div class="tryoutbox"><strong>Dienstleister für Adress- und Bonitätsprüfung</strong><br>Für die Adress- und Bonitätsprüfung stehen verschiedene Dienstleister zur Verfügung. Unser Support-Team erklärt Ihnen gerne, welchen Leistungsumfang die einzelnen Prüfungen haben und welcher Dienstleister für Sie der Richtige ist.</div> </div> </div> </div> </div> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Liste mit PAYONE IP-Adressen</span></div> <div class="responsesDivcontent"> <p></p> <p>Klicken Sie unter PAYONE → Sonstiges</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-33.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-33.png" alt="" width="200"></a></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-34.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-34.png" alt="" width="300"></a></p> <p>Nach der Installation sind dort die aktuell gültigen IP-Adressen angegeben, die einen Transaktionsstatus liefern dürfen. Ändern Sie diese nur bei Bedarf. Sie müssen diese Adressen nur dann hinzufügen, wenn Ihre Systemlandschaft z.B. mit Load Balancern oder Proxy-Systemen arbeitet.</p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Weiterleitung des Transaktionsstatus</span></div> <div class="responsesDivcontent"> <p></p> <p>Klicken Sie unter PAYONE → Sonstiges</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-35.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-35.png" alt="" width="200"></a></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-36.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-36.png" alt="" width="300"></a></p> <p>An dieser Stelle können Sie festlegen, welcher Status an welche URL weitergeleitet wird und wie lange der Timeout in Sekunden ist, bis der Umleitungsversuch beendet wird.</p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Rechnungsinformationen</span></div> <div class="responsesDivcontent"> <p>Klicken Sie unter PAYONE → Sonstiges</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-35.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-35.png" alt="" width="200"></a></p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-37.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-37.png" alt="" width="300"></a></p> <h5 class="h5Param">Rechnungsinformation - Rabatt</h5> <p>Hier können Sie eine SKU festlegen, die zur Identifizierung von Rabattartikeln verwendet werden soll. Dies kann leer gelassen werden, es sei denn, Sie haben Probleme mit Einkaufswagenartikeln.</p> <h5 class="h5Param">Rechnungsinformation - Versandkosten</h5> <p>Hier können Sie eine SKU festlegen, die zur Identifizierung von Versandartikeln verwendet werden soll. Dies kann leer gelassen werden, es sei denn, Sie haben Probleme mit Einkaufswagenartikeln.</p> <h5 class="h5Param">Rechnungsinformation - Gutschein</h5> <p>Hier können Sie eine SKU angeben, die zur Identifizierung von Gutscheinen verwendet werden soll. Dies kann leer gelassen werden, es sei denn, Sie haben Probleme mit Einkaufswagenartikeln.</p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Konfiguration exportieren</span></div> <div class="responsesDivcontent"> <p>Klicken Sie unter PAYONE → Konfiguration exportieren</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-38.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-38.png" alt="" width="200"></a></p> <p>Mit dem Klick auf Konfiguration exportieren wird eine Datei heruntergeladen.</p> <p>Sie können diese Datei nun mit einem XML-Editor öffnen, ansehen oder speichern. Dieser Export ist für jede Support-Anfrage an das PAYONE Team sehr wichtig, um mögliche Konfigurationsprobleme zu vermeiden. Anhand dieser Datei kann auch festgestellt werden, ob weitere Erweiterungen installiert wurden, die Kompatibilitätsprobleme verursachen könnten.</p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">PAYONE Logs</span></div> <div class="responsesDivcontent"> <p>Klicken Sie unter PAYONE → Protokolle</p> <p>Unter dem Punkt Protokolle finden Sie alle Informationen über die abgewickelten Zahlungen und die Kommunikation mit der PAYONE Plattform.</p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">API Logs<span></span></span></div> <div class="responsesDivcontent"> <p>In dieser Übersicht finden Sie alle Anfragen des Magento Shops an die PAYONE Plattform sowie die Antworten der PAYONE Plattform auf diese Anfragen. Lediglich die Anfragen, die über die Client API an die PAYONE Plattform übermittelt wurden, sind in dieser Übersicht nicht aufgeführt. Dies gilt für Kreditkarteninformationen, die mittels Ajax-Technologie direkt vom Browser des Käufers an die PAYONE Plattform übertragen werden, so dass Ihr Shop nicht mit sensiblen Kreditkarteninformationen in Berührung kommt. Mit einem Klick auf Ansicht können Sie sich eine API-Anfrage im Detail anzeigen lassen.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-39.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-39.png" alt="" width="300"></a></p> <p>In der linken Spalte sehen Sie die Anfrage, die der Magento-Shop an die PAYONE Plattform gesendet hat. Auf der rechten Seite finden Sie die Antwort. Eine detaillierte Erklärung der jeweiligen Parameter finden Sie in der technischen Dokumentation der PAYONE Plattform im PAYONE Merchant Interface (PMI) unter Downloads → Dokumentation.</p> </div> <p></p> <div class="is-relative"><a href="#/" class="my_plus my_radius"></a><span class="OptionalsSpan">Transaktionsstatus Logs</span></div> <div class="responsesDivcontent"> <p>Klicken Sie unter PAYONE → Transaktionsstatus</p> <p>Der Unterpunkt Transaktionen zeigt die von Magento empfangenen Benachrichtigungen über den Transaktionsstatus für jede Bestellung und Transaktion an. Diese Benachrichtigungen werden von der PAYONE Plattform an Ihren Shop gesendet. Im Fehlerfall können Sie hier erfahren, ob der Transaktionsstatus korrekt empfangen wurde und wie der aktuelle Status einer Transaktion ist. Mit einem Klick auf Ansicht können Sie sich Details zu einem Transaktionsstatus anzeigen lassen.</p> <p><a href="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-40.png" target="_blank" rel="noopener"><img src="https://docs.payone.com/bl-content/uploads/pages/45112abd826dc8011bfb22b25862bd34/Magento2-40.png" alt="" width="300"></a></p> <p>Auf der Detailseite sehen Sie alle Informationen zum Transaktionsstatus, die über die PAYONE Plattform an Ihren Shop übermittelt werden. So können Sie jederzeit nachvollziehen, welche Daten Ihr Magento-Shop erhalten und verarbeitet hat.</p> <p>Eine detaillierte Erklärung der jeweiligen Parameter finden Sie in der technischen Dokumentation der PAYONE Plattform im PAYONE Merchant Interface (PMI) unter Downloads → Dokumentation.</p> </div> </div> </div> </div> </section> <!-- Javascript --> <script src="https://docs.payone.com/bl-kernel/js/jquery.min.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/js/highlight.min.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/js/jquery-resizable.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/js/payone.misc.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/php/api/jquery.json-editor.min.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/php/api/stickyNavigator.js?version=3.15.0"></script> <script src="https://docs.payone.com/bl-themes/payone-docs/php/api/autosize.js?version=3.15.0"></script> <script> hljs.initHighlighting(); </script> <script> autosize(document.querySelectorAll('.codetext')); </script> <script> $(function() { /***************************************** PHP generated Sidebar Add Active Navigation Class Based on URL *****************************************/ const browserPath = (location.pathname).slice(1); $('ul.tree li a').each(function(){ var $this = $(this); // We need to extract path from anchor href, so we can do exact comparision const checkLink = $this.attr('href'); const extractedPathWithDomain = checkLink.replace(/http(s)?(:)?(\/\/)?|(\/\/)/g, ''); const pathParts = extractedPathWithDomain.split('/'); pathParts.shift(); const extractedPath = pathParts.join('/'); if(browserPath === extractedPath) { $this.parent().addClass('is-active'); $this.parent().children('ul').show() } // for localhost only // or (window.location.hostname === "localhost" && window.location.pathname==="/bludit/") if (window.location.pathname==="/bludit-commercetools/") { $this.parent().removeClass('is-active'); } }); /************************ Sidebar SVG icon ************************/ jQuery('.svgCl').each(function(){ jQuery(this).css({'height': $(this).closest('ul').height($(this).height() + 5) + 'px'}); jQuery(this).css({'display': 'inline-block'}); }); /************************ Sidebar Nav items toggle open/close ************************/ $( 'ul.tree li' ).each( function() { if($(this).children('ul').length > 0) { $(this).addClass('parentLi'); $('li.parentLi > a').attr('href'); } if ($(this).find('ul > li').hasClass('is-active')) { $(this).addClass('activated'); $(this).children('ul').show(); // ul > display:none is hardcoded in sidebar.php } }); $( 'ul.tree li > ul > li' ).each( function() { $(this).addClass('parentLi'); if ($(this).hasClass('is-active')) { $(this).addClass('activated'); } }); }); // doc ready </script> <script> /************************ Copy to clipboard ************************/ function copyToClipboard(text) { var aux = document.createElement("input"); aux.setAttribute("value", text); document.body.appendChild(aux); aux.select(); document.execCommand("copy"); document.body.removeChild(aux); } function copyToClipboardAsFormatted(text) { navigator.clipboard.writeText(text); } function stripHtml(inputHtml) { const brToNewline = inputHtml.replace(/<br\s*[\/]?>/gi, "\n"); const content = brToNewline.replace(/<\/?[^>]+(>|$)/g, ""); return content; } $(function() { $( ".payone-copy-text" ).on( "click", function() { const currentCopyBtn = $(this); let parentNode = currentCopyBtn.closest('div.divcopybtn'); let payloadbox; if (parentNode.length > 0) { payloadbox = parentNode.next('div.payloadbox'); } else { parentNode = currentCopyBtn.closest('div.samplebox'); parentNode = parentNode.children('table'); parentNode = parentNode.children('tbody'); parentNode = parentNode.children('tr'); payloadbox = parentNode.children('td'); } if (payloadbox.length == 0) { return; } const preNode = payloadbox.children('pre'); const htmlContent = preNode.html(); const content = stripHtml(htmlContent); copyToClipboardAsFormatted(content); }); }); $(function() { $("h2").click(function() { var id = $(this).attr("id"); var permalink = "https://docs.payone.com/integration/plugins/integrationsanleitung-magento-2"; var link = permalink+"#"+id; copyToClipboard(link); }); }); // doc ready </script> <script> /************************ Sticky navbar ************************/ // Declare the function first var myFunction; // When the user scrolls the page, assign myFunction window.onscroll = function() { if (typeof myFunction === "function") { myFunction(); } }; // Get the navbar var navbar = document.getElementById("subnavbar"); // Check if the navbar exists if (navbar) { // Get the offset position of the navbar var sticky = navbar.offsetTop; // Define the function myFunction = function() { if (window.scrollY >= sticky) { navbar.classList.add("sticky"); } else { navbar.classList.remove("sticky"); } }; } </script> <script src="https://docs.payone.com/bl-themes/payone-docs/php/api/api-template.js?version=3.15.0"></script> <!-- Load Plugins: Site Body End --> </div> </div> <div class="site_footer" id="footcontainer"> <footer class="footer site-footer"> <!-- Footer --> <div class="container"> <!-- Column 1 Links --> <div class="footer-column"> <h3 class="h3Footer">PAYONE</h3> <ul> <li><a href="https://www.payone.com/DE-de/agb">Terms and Conditions</a></li> <li><a href="https://www.payone.com/DE-de/impressum">Legal Notice</a></li> <li><a href="/information/privacy-policy">Privacy Policy</a></li> <li><a href="https://www.payone.com/DE-de/ueber-uns/presse">Press</a></li> </ul> </div> <!-- Column 2 Links --> <div class="footer-column"> <h3 class="h3Footer">Service</h3> <ul> <li><a href="https://www.payone.com/DE-de/service/kundenportale">Customer Portals</a></li> <li><a href="https://www.payone.com/DE-de/ueber-uns/partner">Partner</a></li> <li><a href="https://github.com/PAYONE-GmbH">Github</a></li> <li><a href="https://www.payone.com/DE-de/service/downloads">Downloads</a></li> <li><a href="https://www.payone.com/DE-de/service/kontakt">Contact</a></li> <li><a href="https://www.payone.com/DE-de/service/feedback-beschwerde">Feedback</a></li> </ul> </div> <!-- Column 3 Links --> <div class="footer-column"> </div> <!-- Column 4 Social and Logo --> <div class="footer-column-social"> <!-- Social Links --> <div class="social-links" style="width: 100%;justify-content: space-evenly;"> <p> <a href="https://www.instagram.com/payone_gmbh/" style="padding: 5px;"> <i class="payone-icon-medium payone-black-instagram"></i></a> <a href="https://www.linkedin.com/company/payone_gmbh" style="padding: 5px;"> <i class="payone-icon-medium payone-black-linkedin"></i></a> <a href="https://www.facebook.com/PAYONEGmbH/"><i class="payone-icon-medium payone-black-facebook"></i></a> <a href="https://github.com/PAYONE-GmbH/" style="padding: 5px;"> <i class="payone-icon-medium payone-black-github"></i></a> <a href="https://www.youtube.com/channel/UCM7Eky84PKzkyTILI6xga-Q" style="padding: 5px;"> <i class="payone-icon-medium payone-black-youtube"></i></a> </p> </div> </div> <div class="footer-column-copyright"> <!--<div class="footer-powered-copyright"> <p>Powered by <a href="https://www.bludit.com/" target="_blank" rel="noopener noreferrer">Bludit</a></p> <p>&copy; MyCompany 2023</p> </div>--> <div class="footer-powered-copyright"> <p ><span style="font-size:13px;">&copy; PAYONE GmbH, Powered by <a target="_blank" class="text-white" href="https://www.bludit.com">Bludit</a></span></p> </div> </div> <div class="footer-column-worldline"> <!-- Logo and Text --> <div class="logo-text"> <img src="//media3.payone.com/f/64176/4200x387/933f1413c4/payone_worldline_endorsement_dunkelgrau.png" alt="" style="max-width:200px;"> </div> </div> </div> </footer> </div> <button id="backToTopBtn" title="Go to page start"></button> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10