2022-10-28 14:30:32 +02:00
<!DOCTYPE html>
< html class = "no-js" lang = "de" >
< head >
< title > Webhooks - unzer< / title >
< meta name = "description" content = "" >
< meta name = "author" content = "D³ Data Development" >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< link rel = "icon" href = "../../themes/d3/img/favicon.png" type = "image/x-icon" >
<!-- Mobile -->
< meta name = "apple-mobile-web-app-capable" content = "yes" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
<!-- Font -->
<!-- CSS -->
< link href = '../../themes/d3/css/theme-blue.min.css' rel = 'stylesheet' type = 'text/css' > < link href = '../../themes/d3/css/d3.css' rel = 'stylesheet' type = 'text/css' >
<!-- Tipue Search -->
< link href = "../../tipuesearch/tipuesearch.css" rel = "stylesheet" >
<!-- [if lt IE 9]>
< script src = "../../themes/d3/js/html5shiv-3.7.3.min.js" > < / script >
<![endif]-->
< / head >
< body class = " " >
< div class = "Columns content" >
< aside class = "Columns__left Collapsible" >
< button type = "button" class = "Button Collapsible__trigger" >
< span class = "Collapsible__trigger__bar" > < / span >
< span class = "Collapsible__trigger__bar" > < / span >
< span class = "Collapsible__trigger__bar" > < / span >
< / button >
< a class = "Brand" href = "../../index.html" > < i class = 'fab fa-d3 d3fa-color-blue' > < / i > unzer< / a >
< div class = "Search" >
< svg class = "Search__icon" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 451 451" >
< path d = "M447.05 428l-109.6-109.6c29.4-33.8 47.2-77.9 47.2-126.1C384.65 86.2 298.35 0 192.35 0 86.25 0 .05 86.3.05 192.3s86.3 192.3 192.3 192.3c48.2 0 92.3-17.8 126.1-47.2L428.05 447c2.6 2.6 6.1 4 9.5 4s6.9-1.3 9.5-4c5.2-5.2 5.2-13.8 0-19zM26.95 192.3c0-91.2 74.2-165.3 165.3-165.3 91.2 0 165.3 74.2 165.3 165.3s-74.1 165.4-165.3 165.4c-91.1 0-165.3-74.2-165.3-165.4z" / >
< / svg >
< input type = "search" id = "tipue_search_input" class = "Search__field" placeholder = "Suchen..." autocomplete = "on"
results=25 autosave=text_search>
< / div >
< div class = "Collapsible__content" >
<!-- Navigation -->
< ul class = 'Nav' > < li class = 'Nav__item Nav__item--open has-children' > < a href = "../../configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html" class = "folder" > < i class = "Nav__arrow" > < / i > Konfiguration< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html" > Konfiguration der Zahlungsarten< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/automatische_Vorkasse_und_Rechnungskauf.html" > Automatische Vorkasse und Rechnungskauf (nur Legacy Payments / NGW))< / a > < / li > < li class = 'Nav__item has-children' > < a href = "../../configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html" class = "folder" > < i class = "Nav__arrow" > < / i > Cronjob einrichten< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html" > Cronjob per Konsole einrichten (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Webaufruf_einrichten.html" > Cronjob per Webaufruf einrichten (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Cronjob_einrichten/Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.html" > Zahlungseingänge bei Unzer erneut abrufen (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Cronjob_einrichten/OXID_eShop_Enterprise_Edition.html" > OXID eShop Enterprise Edition (nur Legacy Payments / NGW)< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html" class = "folder" > < i class = "Nav__arrow" > < / i > Informationen und Anleitung von iDeal und Przelewy24< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html" > Was hat sich im Bestellprozess geändert? (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_macht_der_Cronjob.html" > Was macht der Cronjob? (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_passiert_bei_einem_Refund.html" > Was passiert bei einem Refund? (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Wie_ist_der_Cronjob_einzurichten.html" > Wie ist der Cronjob einzurichten? (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_ist_noch_zu_beachten.html" > Was ist noch zu beachten? (nur Legacy Payments / NGW)< / a > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Infos_fuer_Entwickler.html" > Infos für Entwickler (nur Legacy Payments / NGW)< / a > < / li > < / ul > < / li > < li class = 'Nav__item ' > < a href = "../../configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html" > Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen< / a > < / li > < li class = 'Nav__item Nav__item--active' > < a href = "../../configuration/Konfiguration/Webhooks.html" > Webhooks< / a > < / li > < / ul > < / li > < li class = 'Nav__item has-children' > < a href = "../../configuration/Schnittstellenwechsel/Start.html" class = "folder" > < i class = "Nav__arrow" > < / i > Schnittstellenwechsel< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a href = "../../configuration/Schnittstellenwechsel/Start.html" > Schnittstellenwechsel< / a > < / li > < li class = 'Nav__item has-children' > < a href = "../../configuration/Schnittstellenwechsel/Vorbereitung/was_wird_benoetigt.html" class = "folder" > < i class = "Nav__arrow" > < / i > Vorbereitung< / a > < ul class = 'Nav' > < li class = 'Nav__item ' > < a hre
< div class = 'versionselector' > Version wechseln:
< select onchange = "window.location.href=this.options[this.selectedIndex].value" size = "1" >
< ?php
$versionpath = implode("/", array_slice(explode("/", $_SERVER['SCRIPT_NAME']), 2));
$modulepath = implode("/", array_slice(explode("/", $_SERVER['SCRIPT_NAME']), 0, 2));
$path = str_replace($versionpath, "", $_SERVER['SCRIPT_FILENAME']);
$paths = explode('/', $versionpath);
$currpath = $paths[0];
$dirs = array_filter(glob($path . '/*'), 'is_dir');
arsort($dirs);
foreach ($dirs as $dir) {
$dir = str_replace($path.'/', '', $dir);
$selected = ($dir === $currpath) ? 'selected="selected"' : "";
echo '< option value = "'. $modulepath .'/'. $dir .'" ' . $ selected . ' > '. $dir .'< / option > ';
}
?>
< / select > < / div >
< div class = "Links" >
< hr / >
< a href = "https://www.oxidmodule.com" target = "_blank" > Shop< / a > < br / >
< a href = "https://blog.oxidmodule.com" target = "_blank" > Blog< / a > < br / >
< a href = "https://faq.d3data.de" target = "_blank" > FAQ< / a > < br / >
< a href = "https://docs.oxidmodule.com" target = "_blank" > Dokumentationen< / a > < br / >
< a href = "https://support.oxidmodule.com" target = "_blank" > D³ Support Center< / a > < br / >
< a href = "https://www.oxidmodule.com/kontakt" target = "_blank" > Kontakt< / a > < br / >
< a href = "https://www.oxidmodule.com/impressum" target = "_blank" > Impressum< / a > < br / >
< / div >
< / div >
< / aside >
< div class = "Columns__right Columns__right--full" >
< div class = "Columns__right__content" >
< div class = "doc_content" >
< article class = "Page" >
< div class = "Page__header" >
< h1 > < a href = "../../configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html" > Konfiguration< / a > < svg class = "Page__header--separator" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 477.175 477.175" > < path d = "M360.73 229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1 0s-5.3 13.8 0 19.1l215.5 215.5-215.5 215.5c-5.3 5.3-5.3 13.8 0 19.1 2.6 2.6 6.1 4 9.5 4 3.4 0 6.9-1.3 9.5-4l225.1-225.1c5.3-5.2 5.3-13.8.1-19z" / > < / svg > < a href = "../../configuration/Konfiguration/Webhooks.html" > Webhooks< / a > < / h1 >
< span class = "ModifiedDate" >
2022-12-16 15:43:05 +01:00
16.12.2022 < / span >
2022-10-28 14:30:32 +02:00
< / div >
< div class = "s-content" >
< p > Neben der synchronen Kommunikation mit Unzer kann auch unabhängig von der Nutzerinteraktion eine asynchrone Kommunikation seitens Unzer stattfinden.< / p >
< p > Hierfür kann man < a href = "https://docs.unzer.com/reference/supported-webhook-events/" class = "Link--external" > Webhooks< / a > registrieren, über die Unzer die teilnehmenden Systeme (z.B. Shop, WaWi, ...) über Statusänderungen informieren kann. Das jeweilige System kann auf die Benachrichtigung passend reagieren.< / p >
< h2 id = "page_Warum-sind-Webhooks-notwendig" > Warum sind Webhooks notwendig?< / h2 >
< p > Es kommt immer wieder vor, dass beim Durchführen der Bezahlung bis zum Rücksprung in den Webshop die Transaktion abgebrochen wird. Dies kann technische Gründe haben (z.B. Shop nicht erreichbar),
aber auch (versehentlich) vom Shopbesucher so ausgelöst werden (z.B. Browser geschlossen). Dann bleibt die Bestellung in einem unklaren Zwischenstadium stehen.
Mit Webhooks kann Unzer den Shop auch später noch anrufen und die konfigurierten Aktionen auslösen.< / p >
< h2 id = "page_Webhook-einrichten" > Webhook einrichten< / h2 >
< p > Für den Shop mit dem Unzer-Modul wird automatisch ein Webhook eingerichtet, sobald die Einstellungen unter " Admin -> D3 Module -> Unzer -> Einstellungen -> Stamm" gespeichert werden.< / p >
< p > Alle dann eingerichteten Webhooks (Shopeigene und Shopfremde) werden dann dort angezeigt.< / p >
< p > Beim erneuten Speichern werden alle Shopwebhooks aktualisiert.< / p >
< h2 id = "page_Aktionen" > Aktionen< / h2 >
< p > Die Webhooks werden grundsätzlich von Unzer selbst ausgelöst, können aber zu Debugzwecken auch manuell gestartet werden.< / p >
< p > Im OXID-Modul wird auf die folgenden Trigger reagiert:< / p >
< ul >
< li > payment.completed: Eine Transaktion wurde komplett bezahlt. Der Shop stellt den Bestellstatus auf " OK" und setzt das Versanddatum.< / li >
< li > payment.partly: Eine Transaktion wurde teilweise bezahlt. Die Bestellung wird auf " Pending" gestellt und eine Mail an den Shopbetreiber verschickt.< / li >
< li > payment.chargeback: Eine Belastung der Zahlungsart wird zurückgesetzt. Die Auslösung kann durch z.B. Kreditinstitute oder tlw. auch durch den Kunden erfolgen. Die Bestellung wird auf " Pending" gestellt und eine Mail an den Shopbetreiber verschickt.< / li >
< / ul >
< / div >
< nav >
< ul class = "Pager" >
< li class = Pager--prev > < a href = "../../configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html" > Zurück< / a > < / li > < li class = Pager--next > < a href = "../../configuration/Schnittstellenwechsel/Start.html" > Weiter< / a > < / li > < / ul >
< / nav >
< / article >
< / div >
< / div >
< / div >
< / div >
<!-- JS -->
< script src = "../../themes/d3/js/jquery-1.11.3.min.js" > < / script > < script src = "../../themes/d3/js/highlight.pack.js" > < / script > < script src = "../../themes/d3/js/daux.js" > < / script > < script src = "../../themes/d3/js/fontawesome-all.js" > < / script >
<!-- Tipue Search -->
< script type = "text/javascript" src = "../../tipuesearch/tipuesearch.js" > < / script >
< script >
window.onunload = function(){}; // force $(document).ready to be called on back/forward navigation in firefox
$(function() {
tipuesearch({
'base_url': '../../'
});
});
< / script >
< / body >
< / html >