Release 6.1.10

This commit is contained in:
Drew Rowan
2025-01-22 15:31:27 +01:00
parent 9d83aa83a0
commit c8acf18146
163 changed files with 19465 additions and 0 deletions
+692
View File
@@ -0,0 +1,692 @@
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
*:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 100%;
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-ms-overflow-style: scrollbar;
-webkit-tap-highlight-color: transparent;
}
@-ms-viewport {
width: device-width;
}
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
font-size: 1rem;
font-weight: 300;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
padding-right: 0 !important;
position: relative;
}
html,body {
width: 100%;
height: 100%;
}
[tabindex="-1"]:focus {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
h1 {
font-size: 2.5rem;
font-weight: 200;
margin-bottom: 1.875rem;
}
h2 {
font-size: 1.625rem;
font-weight: 300;
margin-bottom: 1.3rem;
}
h3 {
font-size: 1.3rem;
font-weight: 300;
margin-top: 1.3rem;
}
h4 {
font-size: 1.125rem;
font-weight: 400;
margin-top: 1.875rem;
margin-bottom: 1.3rem;
}
h5 {
font-size: 1rem;
font-weight: bold;
margin-top: 1.875rem;
margin-bottom: 1.3rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title], abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol, ul, dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol, ul ul, ol ul, ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
dfn {
font-style: italic;
}
b, strong {
font-weight: bold;
}
small {
font-size: 80%;
}
sub, sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
-webkit-text-decoration-skip: objects;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre, code, kbd, samp {
font-family: monospace, monospace;
font-size: 90%;
padding: 2px 4px 2px 4px;
color: #c7254e;
background-color: #f9f2f4;
border-radius: 4px;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg:not(:root) {
overflow: hidden;
}
table {
border-collapse: collapse;
background-color: transparent;
}
caption {
padding-top: 8px;
padding-bottom: 8px;
color: #a7a7a7;
text-align: left;
}
th {
text-align: left;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
table col[class*="col-"] {
position: static;
float: none;
display: table-column;
}
table td[class*="col-"],table th[class*="col-"] {
position: static;
float: none;
display: table-cell;
}
ol.glossary {
counter-reset: glossary-counter;
list-style: none;
padding-left: 40px;
}
ol.glossary li {
counter-increment: glossary-counter;
position: relative;
}
ol.glossary li::before {
content: counter(glossary-counter);
position: absolute;
background-color: #73EAA9;
color: #fff;
border-radius: 100px;
width: 24px;
left: -40px;
text-align: center;
font-weight: bold;
line-height: 24px;
}
.layout-wrapper {
position: relative;
width: 100%;
height: auto;
min-height: 100%;
}
.layout-title {
padding: 1.875rem 0;
border-bottom: 1px solid #f0f0f0;
}
.layout-title h1 {
font-size: 3rem;
font-weight: 200;
text-align: center;
margin: 0;
}
.layout-title h2 {
font-size: 2rem;
font-weight: 200;
text-align: center;
color: #999;
margin-bottom: 0;
}
.layout-navigation .nav {
padding: 1.875rem 0;
border-bottom: 1px solid #f0f0f0;
text-align: center;
background: #fff;
z-index: 1000;
}
.layout-navigation .nav > li {
display: inline-block;
}
.layout-navigation .nav > li > a {
border: 1px solid #007bff;
border-radius: 100px;
padding: 6px 12px;
margin: 0 8px;
}
.layout-navigation .nav > li > a:hover, .layout-navigation .nav > li > a:active, .layout-navigation .nav > li > a:focus {
border: 1px solid #0056b3;
color: #0056b3;
text-decoration: none;
}
.layout-content {
position: relative;
}
.layout-content:before, .layout-content:after {
content: " ";
display: table;
}
.layout-content:after {
clear: both;
}
.layout-content .col-right {
width: 25%;
float: right;
}
.layout-content .col-right-wrapper {
width: 100%;
position: relative;
overflow-x: hidden;
overflow-y: auto;
padding: 2.5rem 2rem 0;
}
.layout-content .col-body {
width: 75%;
float: left;
}
.layout-content .col-body:before, .layout-content .col-body:after {
content: " ";
display: table;
}
.layout-content .col-body:after {
clear: both;
}
.layout-content .col-body-wrapper {
position: relative;
width: 100%;
padding: 2.5rem 2rem 0;
}
.nav {
padding-left: 0;
margin-bottom: 0;
list-style: none;
line-height: 2;
}
.table-of-contents {
padding: 1.25rem 0;
}
.table-of-contents .nav > li > a {
display: flex;
}
.table-of-contents .nav > li > a .item-number {
display: none;
}
.table-of-contents .nav > li > a .item-title {
color: #212529;
overflow: hidden;
text-overflow: ellipsis;
flex-grow: 1;
white-space: nowrap;
}
.table-of-contents .nav > li > a .item-title:hover {
color: #0056b3;
}
.table-of-contents .nav > li.extended > a .item-title, .table-of-contents .nav > li.active > a .item-title, .table-of-contents .nav > li.extended > a .item-title:hover, .table-of-contents .nav > li.active > a .item-title:hover {
color: #007bff;
}
.table-of-contents > .nav > li > .nav {
display: none;
margin-bottom: 0.5rem;
}
.table-of-contents > .nav > li > .nav > li > a {
padding-left: 1rem;
}
.table-of-contents > .nav > li > .nav > li > a .item-title {
font-size: 0.875rem;
}
.table-of-contents > .nav > li > .nav > li > .nav > li > a {
padding-left: 2rem;
}
.table-of-contents > .nav > li > .nav > li > .nav > li > a .item-title {
font-size: 0.75rem;
}
.table-of-contents > .nav > li.active > .nav {
display: block;
}
.chapter {
margin: 0 0 6rem;
font-weight: 300;
}
.section {
margin-top: 3rem;
}
.chapter > .chapter-title h1, .chapter > .chapter-title h2, .chapter > .chapter-title h3, .chapter > .chapter-title h4, .chapter > .chapter-title h5, .chapter > .chapter-title h6, .section > .section-title h1, .section > .section-title h2, .section > .section-title h3, .section > .section-title h4, .section > .section-title h5, .section > .section-title h6 {
margin-top: 0;
}
.chapter > .chapter-title h1 {
border-bottom: 2px solid #eeeeee;
margin-bottom: 1.5rem;
padding-bottom: 0.2em;
}
.chapter-title .title-number, .section-title .title-number {
display: none;
}
.paragraph {
line-height: 1.75em;
}
.paragraph + .paragraph {
margin-top: 1em;
}
.dlist {
margin-top: 30px;
}
.dlist dl dt {
float: left;
width: 160px;
clear: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dlist dl dd {
margin-left: 180px;
}
.ulist {
margin-top: 30px;
}
.imageblock {
margin: 30px auto;
}
.imageblock .content img {
max-width: 100%;
}
.imageblock .title {
padding: 10px 0 0;
}
.exampleblock, .quoteblock, .literalblock {
background: #f5f4f4;
padding: 20px;
margin: 30px 0;
}
.exampleblock .title, .quoteblock .title, .literalblock .title {
text-transform: uppercase;
font-size: 0.75em;
font-weight: 400;
color: #979797;
margin-bottom: 10px;
}
.quoteblock blockquote {
margin: 0;
padding: 0;
border: 0;
font-size: inherit;
}
.quoteblock blockquote p:last-child, .quoteblock blockquote ul:last-child, .quoteblock blockquote ol:last-child {
margin-bottom: 9px;
}
.literalblock pre {
border: 0;
padding: 0;
margin: 0;
}
.listingblock {
margin: 30px 0;
}
.listingblock pre {
border: 0;
padding: 0;
margin: 0;
}
.listingblock pre code {
display: block;
padding: 20px;
}
.admonitionblock {
line-height: 1.8em;
padding: 20px;
margin: 30px 0;
}
.admonitionblock .icon {
display: none;
}
.admonitionblock.important {
background: #fce1e1;
border-left: 5px solid #ff6060;
}
.admonitionblock.note, .admonitionblock.tip {
background: #e0f2fc;
border-left: 5px solid #88d5ff;
}
.admonitionblock.caution, .admonitionblock.warning {
background: #fdf3d8;
border-left: 5px solid #f1c654;
}
table.tableblock {
background-color: #fff;
width: 100%;
max-width: 100%;
margin-bottom: 18px;
margin: 30px 0;
}
table.tableblock > thead > tr > th, table.tableblock > tbody > tr > th, table.tableblock > tfoot > tr > th, table.tableblock > thead > tr > td, table.tableblock > tbody > tr > td, table.tableblock > tfoot > tr > td {
padding: 8px;
line-height: 1.42857143;
vertical-align: top;
border-top: 1px solid #eee;
}
table.tableblock > thead > tr > th {
vertical-align: bottom;
border-bottom: 2px solid #eee;
}
table.tableblock > caption + thead > tr:first-child > th, table.tableblock > colgroup + thead > tr:first-child > th, table.tableblock > thead:first-child > tr:first-child > th, table.tableblock > caption + thead > tr:first-child > td, table.tableblock > colgroup + thead > tr:first-child > td, table.tableblock > thead:first-child > tr:first-child > td {
border-top: 0;
}
table.tableblock > tbody + tbody {
border-top: 2px solid #eee;
}
table.tableblock .table {
background-color: #fff;
}
table.tableblock > tbody > tr:nth-of-type(odd) {
background-color: #f7f7f7;
}
table.tableblock > thead > tr > th p:last-child, table.tableblock > tbody > tr > th p:last-child, table.tableblock > tfoot > tr > th p:last-child, table.tableblock > thead > tr > td p:last-child, table.tableblock > tbody > tr > td p:last-child, table.tableblock > tfoot > tr > td p:last-child {
margin-bottom: 0;
}
.loaded .table-of-contents .nav .nav {
display: none;
}
@media (min-width: 1200px) {
.layout-wrapper .layout-title, .layout-wrapper .layout-navigation, .layout-wrapper .layout-content {
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
}
@media (max-width: 991px) {
html {
font-size: 90%;
}
.layout-content .col-right {
display: none;
}
.layout-content .col-body {
width: 100%;
}
}
@media print {
body {
color: #000;
font-family: Georgia, "Times New Roman", Times, serif;
}
a {
color: #000;
}
h1 {
font-size: 1.6rem;
}
h2 {
font-size: 1.4rem;
}
h3 {
font-size: 1.2rem;
}
h4 {
font-size: 1rem;
}
h5 {
font-size: 0.9rem;
}
.layout-title h1 {
font-size: 2rem;
}
.layout-content .col-right {
display: none;
}
.layout-content .col-body {
width: 100%;
}
.chapter {
margin-bottom: 3rem;
}
.section {
margin-top: 2rem;
}
}
+14
View File
@@ -0,0 +1,14 @@
(function($){
hljs.initHighlightingOnLoad();
$(document).ready(function(){
$('.col-right-wrapper').stick_in_parent({
parent: '.layout-content'
});
$('body').scrollspy({
target: '.table-of-contents'
});
});
})(jQuery);
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
+83
View File
@@ -0,0 +1,83 @@
/*
Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #23241f;
}
.hljs,
.hljs-tag,
.hljs-subst {
color: #f8f8f2;
}
.hljs-strong,
.hljs-emphasis {
color: #a8a8a2;
}
.hljs-bullet,
.hljs-quote,
.hljs-number,
.hljs-regexp,
.hljs-literal,
.hljs-link {
color: #ae81ff;
}
.hljs-code,
.hljs-title,
.hljs-section,
.hljs-selector-class {
color: #a6e22e;
}
.hljs-strong {
font-weight: bold;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-name,
.hljs-attr {
color: #f92672;
}
.hljs-symbol,
.hljs-attribute {
color: #66d9ef;
}
.hljs-params,
.hljs-class .hljs-title {
color: #f8f8f2;
}
.hljs-string,
.hljs-type,
.hljs-built_in,
.hljs-builtin-name,
.hljs-selector-id,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-addition,
.hljs-variable,
.hljs-template-variable {
color: #e6db74;
}
.hljs-comment,
.hljs-deletion,
.hljs-meta {
color: #75715e;
}
+9
View File
@@ -0,0 +1,9 @@
/* ========================================================================
* Bootstrap: scrollspy.js v3.3.7
* http://getbootstrap.com/javascript/#scrollspy
* ========================================================================
* Copyright 2011-2016 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* ======================================================================== */
!function(r){"use strict";function o(t,s){this.$body=r(document.body),this.$scrollElement=r(t).is(document.body)?r(window):r(t),this.options=r.extend({},o.DEFAULTS,s),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",r.proxy(this.process,this)),this.refresh(),this.process()}function s(i){return this.each(function(){var t=r(this),s=t.data("bs.scrollspy"),e="object"==typeof i&&i;s||t.data("bs.scrollspy",s=new o(this,e)),"string"==typeof i&&s[i]()})}o.VERSION="3.3.7",o.DEFAULTS={offset:10},o.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},o.prototype.refresh=function(){var t=this,i="offset",o=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),r.isWindow(this.$scrollElement[0])||(i="position",o=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=r(this),s=t.data("target")||t.attr("href"),e=/^#./.test(s)&&r(s);return e&&e.length&&e.is(":visible")&&[[e[i]().top+o,s]]||null}).sort(function(t,s){return t[0]-s[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},o.prototype.process=function(){var t,s=this.$scrollElement.scrollTop()+this.options.offset,e=this.getScrollHeight(),i=this.options.offset+e-this.$scrollElement.height(),o=this.offsets,r=this.targets,l=this.activeTarget;if(this.scrollHeight!=e&&this.refresh(),i<=s)return l!=(t=r[r.length-1])&&this.activate(t);if(l&&s<o[0])return this.activeTarget=null,this.clear();for(t=o.length;t--;)l!=r[t]&&s>=o[t]&&(void 0===o[t+1]||s<o[t+1])&&this.activate(r[t])},o.prototype.activate=function(t){this.activeTarget=t,this.clear();var s=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',e=r(s).parents("li").addClass("active");e.parent(".dropdown-menu").length&&(e=e.closest("li.dropdown").addClass("active")),e.trigger("activate.bs.scrollspy")},o.prototype.clear=function(){r(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=r.fn.scrollspy;r.fn.scrollspy=s,r.fn.scrollspy.Constructor=o,r.fn.scrollspy.noConflict=function(){return r.fn.scrollspy=t,this},r(window).on("load.bs.scrollspy.data-api",function(){r('[data-spy="scroll"]').each(function(){var t=r(this);s.call(t,t.data())})})}(jQuery);
+5
View File
@@ -0,0 +1,5 @@
/**
@license Sticky-kit v1.1.2 | WTFPL | Leaf Corcoran 2015 | http://leafo.net
*/
(function(){var M,Q;M=this.jQuery||window.jQuery,Q=M(window),M.fn.stick_in_parent=function(t){var x,o,C,i,e,P,s,V,F,z,r,I,A,j;for(null==t&&(t={}),j=t.sticky_class,P=t.inner_scrolling,A=t.recalc_every,I=t.parent,F=t.offset_top,z=t.offset_bottom,V=t.spacer,C=t.bottoming,null==F&&(F=0),null==z&&(z=0),null==I&&(I=void 0),null==P&&(P=!0),null==j&&(j="is_stuck"),x=M(document),null==C&&(C=!0),r=function(t){var o,i;return window.getComputedStyle?(t[0],o=window.getComputedStyle(t[0]),i=parseFloat(o.getPropertyValue("width"))+parseFloat(o.getPropertyValue("margin-left"))+parseFloat(o.getPropertyValue("margin-right")),"border-box"!==o.getPropertyValue("box-sizing")&&(i+=parseFloat(o.getPropertyValue("border-left-width"))+parseFloat(o.getPropertyValue("border-right-width"))+parseFloat(o.getPropertyValue("padding-left"))+parseFloat(o.getPropertyValue("padding-right"))),i):t.outerWidth(!0)},i=function(n,l,a,c,p,d,u,f){var h,t,g,m,k,y,b,v,o,_,w,e;if(!n.data("sticky_kit")){if(n.data("sticky_kit",!0),k=x.height(),b=n.parent(),null!=I&&(b=b.closest(I)),!b.length)throw"failed to find stick parent";return h=g=!1,(w=null!=V?V&&n.closest(V):M('<div class="sticky-kit-manual-spacer" />'))&&w.css("position",n.css("position")),(v=function(){var t,o,i;if(!f)return k=x.height(),t=parseInt(b.css("border-top-width"),10),o=parseInt(b.css("padding-top"),10),l=parseInt(b.css("padding-bottom"),10),a=b.offset().top+t+o,c=b.height(),g&&(h=g=!1,null==V&&(n.insertAfter(w),w.detach()),n.css({position:"",top:"",width:"",bottom:""}).removeClass(j),i=!0),p=n.offset().top-(parseInt(n.css("margin-top"),10)||0)-F,d=n.outerHeight(!0),u=n.css("float"),w&&w.css({width:r(n),height:d,display:n.css("display"),"vertical-align":n.css("vertical-align"),float:u}),i?e():void 0})(),m=void 0,y=F,_=A,e=function(){var t,o,i,e,s,r;if(d!==c&&!f)return i=!1,null!=_&&(_-=1)<=0&&(_=A,v(),i=!0),i||x.height()===k||(v(),i=!0),e=Q.scrollTop(),null!=m&&(o=e-m),m=e,g?(C&&(s=c+a<e+d+y+z,h&&!s&&(h=!1,n.css({position:"fixed",bottom:"",top:y}).removeClass("is_bottomed").trigger("sticky_kit:unbottom"))),e<p&&(g=!1,y=F,null==V&&("left"!==u&&"right"!==u||n.insertAfter(w),w.detach()),t={position:"",width:"",top:""},n.css(t).removeClass(j).trigger("sticky_kit:unstick")),P&&(r=Q.height())<d+F&&(h||(y-=o,y=Math.max(r-d,y),y=Math.min(F,y),g&&n.css({top:y+"px"})))):p<e&&(g=!0,(t={position:"fixed",top:y}).width="border-box"===n.css("box-sizing")?n.outerWidth()+"px":n.width()+"px",n.css(t).addClass(j),null==V&&(n.after(w),"left"!==u&&"right"!==u||w.append(n)),n.trigger("sticky_kit:stick")),g&&C&&(null==s&&(s=c+a<e+d+y+z),!h&&s)?(h=!0,"static"===b.css("position")&&b.css({position:"relative"}),n.css({position:"absolute",bottom:l+z,top:"auto"}).addClass("is_bottomed").trigger("sticky_kit:bottom")):void 0},o=function(){return v(),e()},t=function(){if(f=!0,Q.off("touchmove",e),Q.off("scroll",e),Q.off("resize",o),M(document.body).off("sticky_kit:recalc",o),n.off("sticky_kit:detach",t),n.removeData("sticky_kit"),n.css({position:"",bottom:"",top:"",width:""}),b.position("position",""),g)return null==V&&("left"!==u&&"right"!==u||n.insertAfter(w),w.remove()),n.removeClass(j)},Q.on("touchmove",e),Q.on("scroll",e),Q.on("resize",o),M(document.body).on("sticky_kit:recalc",o),n.on("sticky_kit:detach",t),setTimeout(e,0)}},e=0,s=this.length;e<s;e++)o=this[e],i(M(o));return this}}).call(this);
+704
View File
@@ -0,0 +1,704 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="keywords" value="VRPay, Shopware, Shopware Plugin, Payment, Payment Integration, Documentation"><meta name="description" value="The documentation for the Shopware 6 plugin that enables processing payments with VRPay.">
<link rel="canonical" href="https://plugin-documentation.wallee.com/wallee-payment/shopware-6/master/VRPaymentPayment/docs/en/documentation.html" />
<title>VRPay Shopware 6 Documentation</title>
<link href="assets/monokai-sublime.css" rel="stylesheet" />
<link href="assets/base.css" rel="stylesheet" />
</head>
<body class="documentation">
<div class="layout-wrapper">
<div class="layout-title">
<h1>VRPay Shopware 6 Documentation</h1>
<h2>Documentation</h2> </div>
<div class="layout-navigation">
<ul class="nav">
<li>
<a href="https://gateway.vr-payment.de/user/login">
Sign Up
</a>
</li>
<li>
<a href="https://github.com/vr-payment/shopware-6/releases/tag/6.1.10/">
Source
</a>
</li>
</ul> </div>
<div class="layout-content">
<div class="col-body">
<div class="col-body-wrapper">
<div class="body-container">
<div class="chapter" id="_prerequisites">
<div class="chapter-title">
<h1>
<span class="title-number">1</span>Prerequisites </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>If you don&#8217;t already have one, create a <a href="https://gateway.vr-payment.de/user/login/">VRPay</a> account.</p>
</div> </div>
</div> <div class="chapter" id="_installation">
<div class="chapter-title">
<h1>
<span class="title-number">2</span>Installation </h1>
</div>
<div class="chapter-body">
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install the plugin directly from the Shopware plugin store.</p>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
You also have the possibility to install the plugin using composer. See <a href="#_faq">FAQ</a>.
</td>
</tr>
</table>
</div>
</li>
<li>
<p>Log in to the backend of your Shopware store.</p>
</li>
<li>
<p>Navigate to Settings &#8594; System &#8594; Plugins. Click on the menu caret and select the <code>Install</code> link of the plugin to install it.</p>
<div class="imageblock">
<div class="content">
<img src="resource/plugin-installation.png" alt="plugin installation"/>
</div>
</div>
</li>
<li>
<p>Activate the VRPay Payment plugin from the Plugin Manager.</p>
</li>
</ol>
</div> </div>
</div> <div class="chapter" id="_configuration">
<div class="chapter-title">
<h1>
<span class="title-number">3</span>Configuration </h1>
</div>
<div class="chapter-body">
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Navigate to Settings &#8594; Plugins &#8594; VRPayment in your Shopware backend. Enter the VRPay Space ID, User ID and Authentication Key that you can create an <a href="https://gateway.vr-payment.de/en-us/doc/permission-concept#_create_application_users" target="_blank">application user</a>.</p>
<div class="imageblock">
<div class="content">
<img src="resource/plugin-configuration.png" alt="plugin configuration"/>
</div>
</div>
<div class="paragraph">
<p>If your store is configured for multiple sales channels, you may use different spaces for each store to configure different behaviours.</p>
</div>
</li>
<li>
<p>Optionally after saving your configuration you can click on <code>Set VRPayment as default payment handler</code>. This will set VRPaymentPayment as the default payment handler for the selected sales channel.</p>
</li>
</ol>
</div><div class="paragraph">
<p>The main configuration is finished now. You should see the payment methods in your checkout. To view the payment method configuration in the backend of Shopware go to Settings &#8594; Store &#8594; Payment.</p>
</div> </div>
</div> <div class="chapter" id="_payment_method_configuration">
<div class="chapter-title">
<h1>
<span class="title-number">4</span>Payment method configuration </h1>
</div>
<div class="chapter-body">
<div class="section" id="_setup">
<div class="section-title">
<h2>
<span class="title-number">4.1</span>Setup </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>The VRPay payment method configurations are synchronized automatically into the Shopware store. There are just a few payment method settings in the Shopware store in Settings &#8594; Store &#8594; Payment.</p>
</div><div class="imageblock">
<div class="content">
<img src="resource/payment-method-configuration.png" alt="payment method configuration"/>
</div>
</div> </div>
</div> <div class="section" id="_payment_method_rules">
<div class="section-title">
<h2>
<span class="title-number">4.2</span>Payment method rules </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>If you would like to restrict a payment method to certain conditions (B2B, cart amount, etc), you can create or choose a rule with the Availability Rule option in the shop backend.</p>
</div><div class="imageblock">
<div class="content">
<img src="resource/payment-method-configuration-availability-rule.png" alt="payment method configuration availability rule"/>
</div>
</div><div class="paragraph">
<p><strong>How to create a new Rule?</strong></p>
</div><div class="olist arabic">
<ol class="arabic">
<li>
<p>Click on “Create new rule…” in the Availability rule option and fill out the modal form with conditions, as shown below.</p>
</li>
</ol>
</div><div class="imageblock">
<div class="content">
<img src="resource/payment-method-configuration-create-availability-rule.png" alt="payment method configuration create availability rule"/>
</div>
</div><div class="olist arabic">
<ol class="arabic">
<li>
<p>In this example the rule is as shown below:</p>
<div class="ulist">
<ul>
<li>
<p>Name: Payment method for B2B.</p>
</li>
<li>
<p>Priority: 1 (if you wish to prioritise when using several shipping methods, please adjust the value accordingly).</p>
</li>
<li>
<p>Conditions: Commercial customer | Yes
Billing address: Country | Is one of | Switzerland</p>
</li>
</ul>
</div>
</li>
</ol>
</div><div class="paragraph">
<p>You can now select the rule in the desired payment method in the item availability rule.</p>
</div><div class="paragraph">
<p>It is also conceivable to add a further condition to the rule above, e.g. to make the payment method additionally possible only from a certain purchase value (e.g. 250.00).</p>
</div><div class="paragraph">
<p>In this case, add another condition using the AND link and insert the following in the second condition.</p>
</div><div class="olist arabic">
<ol class="arabic">
<li>
<p>Select the newly created rule and save the changes to the chosen payment method.</p>
</li>
</ol>
</div><div class="paragraph">
<p>Applying this rule to a payment method will result in only those customers who meet the configured conditions.</p>
</div> </div>
</div> <div class="section" id="_customization">
<div class="section-title">
<h2>
<span class="title-number">4.3</span>Customization </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>If you want to change the payment method description, title, logo, etc you need to do this in the <a href="https://gateway.vr-payment.de/space/select?target=/payment/method-configuration/list" target="_blank">payment method configuration</a>. Changes will be synchronized automatically.</p>
</div> </div>
</div> </div>
</div> <div class="chapter" id="_state_graph">
<div class="chapter-title">
<h1>
<span class="title-number">5</span>State graph </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>The Payment Process of VRPay is <strong>completely standardized for every payment method</strong> you can process. This gives you the ability to simply add
a payment method or processor without changes inside of your Shopware configuration. An overview about the states and the payment processes of VRPay
can be found in the <a href="https://gateway.vr-payment.de/en-us/doc/payment/transaction-process" target="_blank">Payment Documentation</a>.</p>
</div><div class="paragraph">
<p>In the following section we provide you an overview about how the VRPay states are mapped into the Shopware State graph for orders and payment states.</p>
</div> <div class="section" id="_state_mapping_of_shopware_orders">
<div class="section-title">
<h2>
<span class="title-number">5.1</span>State mapping of Shopware orders </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>When the order gets abandoned also Order status goes to "cancel" after approx. 40 minutes. We also change the Payment status, and the Delivery status.</p>
</div> <div class="section" id="_general_remarks_regarding_order_statuses">
<div class="section-title">
<h3>
<span class="title-number">5.1.1</span>General remarks regarding order statuses </h3>
</div>
<div class="section-body">
<div class="paragraph">
<p>We recommend that you only change the Order status once the Payment status has reached a final state.</p>
</div> </div>
</div> </div>
</div> <div class="section" id="_state_mapping_of_shopware_payment_status">
<div class="section-title">
<h2>
<span class="title-number">5.2</span>State mapping of Shopware payment status </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>Below you find a diagram that shows the state machine of Shopware for payment status including additional information for the state transitions.</p>
</div><div class="imageblock">
<div class="content">
<img src="resource/shopware_6_stage_graph_order.svg" alt="shopware 6 stage graph order"/>
</div>
</div><div class="olist glossary">
<ol class="glossary">
<li>
<p>If the transaction is <code>Authorized</code> in VRPay, the Shopware order payment status is marked as <code>In Progress</code>.</p>
</li>
<li>
<p>If the transaction fails before or during the authorization process, the Shopware order payment status is marked as <code>Failed</code>.</p>
</li>
<li>
<p>If the transaction fails after the authorization, the Shopware order payment status is marked as <code>Cancelled</code>.</p>
</li>
<li>
<p>If the transaction invoice in VRPay is marked as <code>Paid</code> or <code>Not Applicable</code>, the Shopware order payment status is marked as <code>Paid</code>.</p>
</li>
</ol>
</div> <div class="section" id="_general_remarks_regarding_payment_statuses">
<div class="section-title">
<h3>
<span class="title-number">5.2.1</span>General remarks regarding payment statuses </h3>
</div>
<div class="section-body">
<div class="paragraph">
<p>We recommend that you do not change the payment status manually. If you do so, it may be changed again by the plugin.</p>
</div> </div>
</div> </div>
</div> <div class="section" id="_state_mapping_of_shopware_delivery_status">
<div class="section-title">
<h2>
<span class="title-number">5.3</span>State mapping of Shopware delivery status </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>Below you find a diagram that shows the state machine of Shopware delivery status including additional information for the state transitions.</p>
</div><div class="imageblock">
<div class="content">
<img src="resource/shopware_6_stage_graph_delivery.svg" alt="shopware 6 stage graph delivery"/>
</div>
</div><div class="olist glossary">
<ol class="glossary">
<li>
<p>If the transaction is <code>Confirmed</code> status in VRPay, the Shopware order delivery status is marked as <code>Hold</code>.</p>
</li>
<li>
<p>If the transaction in VRPay is marked as <code>Fulfill</code>, the Shopware order delivery status is marked as <code>Open</code>.</p>
</li>
<li>
<p>If the transaction is in <code>Decline</code>, <code>Failed</code> or <code>Voided</code>, the Shopware order delivery status is marked as <code>Cancelled</code>.</p>
</li>
</ol>
</div> </div>
</div> </div>
</div> <div class="chapter" id="_transaction_management">
<div class="chapter-title">
<h1>
<span class="title-number">6</span>Transaction management </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>You can capture, cancel and refund transactions directly from within the Shopware backend. Please note
if you refund, void or capture transactions inside VRPay the events will be synchronized into
Shopware. However, there are some limitations (see below).</p>
</div> <div class="section" id="_complete_capture_an_order">
<div class="section-title">
<h2>
<span class="title-number">6.1</span>Complete (capture) an order </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>You have the possibility for your transactions to have the payment only authorized after the order is placed. Inside the <a href="https://gateway.vr-payment.de/space/select?target=/payment/connector-configuration/list" target="_blank">connector configuration</a> you have the option, if the payment method supports it, to define whether the payment should be completed immediately or deferred.</p>
</div><div class="paragraph">
<p>In order to capture a transaction, open the order and click on the <code>Complete</code> button.</p>
</div><div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
When the completion is pending in VRPay the order will stay in pending state.
</td>
</tr>
</table>
</div><div class="imageblock">
<div class="content">
<img src="resource/capture-transaction.png" alt="capture transaction"/>
</div>
</div><div class="paragraph">
<p><strong>Deferred payment completion</strong></p>
</div><div class="paragraph">
<p>Retailers often have the case that they want to authorize transactions only and start the fulfillment process once all items are shippable. This is also possible with VRPay.</p>
</div><div class="paragraph">
<p>However, certain processes should be followed. If you have configured payment completion to be deferred you should capture the transaction before you initiate the shipment
as it can always happen that a completion fails. If you want to be sure that you do not ship items for which you have not been paid you should postpone the shipment until
the fulfill state is reached. Initially the transaction will be in the <code>Authorized</code> state in VRPay and <code>In Progress</code> in Shopware. If you want to start the fulfillment process make sure you initiate the completion process as described above. Once the completion was successful the order will switch into the <code>Fulfill</code> state in VRPay and into <code>Paid</code> state in Shopware. You can now start the fulfillment process.</p>
</div> </div>
</div> <div class="section" id="_void_a_transaction">
<div class="section-title">
<h2>
<span class="title-number">6.2</span>Void a transaction </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>In order to void a transaction, open the order and click on the <code>Cancel authorization</code> button.</p>
</div><div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
You can only void transactions that are not yet completed.
</td>
</tr>
</table>
</div><div class="imageblock">
<div class="content">
<img src="resource/void-transaction.png" alt="void transaction"/>
</div>
</div> </div>
</div> <div class="section" id="_refund_of_a_transaction">
<div class="section-title">
<h2>
<span class="title-number">6.3</span>Refund of a transaction </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>You have the possibility to refund already completed transactions. In order to do so, open the captured order. By clicking on the 3 dots (&#8230;&#8203;) on a line-item, you can refund the line-item partially (if it has a higher quantity than 1), or you can refund the whole line-item. In case the payment method does not support refunds, you will not see the possibility to issue online refunds.</p>
</div><div class="imageblock">
<div class="content">
<img src="resource/refund-transaction.png" alt="refund transaction"/>
</div>
</div><div class="paragraph">
<p>You can carry out as many individual refunds as you wish until you have reached the total amount of the original order.
The status of the order then automatically switches to complete.</p>
</div><div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
It can take some time until you see the refund in Shopware. Refunds will only be visible once they have been processed successfully.
</td>
</tr>
</table>
</div> </div>
</div> <div class="section" id="_on_hold_orders">
<div class="section-title">
<h2>
<span class="title-number">6.4</span>On hold orders </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>The delivery should not be done whilst the delivery state is <code>Hold</code>. This happens when the transaction in VRPay
has not reached the fulfill state.</p>
</div><div class="paragraph">
<p>There are essentially two reasons why this can happen:</p>
</div><div class="ulist">
<ul>
<li>
<p>The transaction is not completed. In this case you have to complete the transaction as written above.</p>
</li>
<li>
<p>We are not able to tell if you should fulfill the order. The delivery decision is done automatically. If this does not happen
within the defined time frame, VRPay will generate a manual task which you should observe and follow the instructions.</p>
</li>
</ul>
</div><div class="paragraph">
<p>You can find more information about manual tasks in our <a href="https://gateway.vr-payment.de/en-us/doc/manual-tasks" target="_blank">Manual Task Documentation</a>.</p>
</div> </div>
</div> <div class="section" id="_limitations_of_the_synchronization_between_whitelabelname_and_shopware">
<div class="section-title">
<h2>
<span class="title-number">6.5</span>Limitations of the synchronization between VRPay and Shopware </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>Please note that captures, voids and refunds done in VRPay are synchronized. However, there are some
limitations. Inside VRPay you are able to change the <strong>unit price</strong> and the <strong>quantity</strong> at once. This can not
be done in the Shopware backend. We therefore recommend that you
perform the refunds always inside the Shopware backend and not inside VRPay. If a refund
cannot be synchronized it will be sent to the processor but it could be that you do not see it inside
your Shopware backend.</p>
</div><div class="paragraph">
<p>You can find more information about Refunds in VRPay in our <a href="https://gateway.vr-payment.de/en-us/doc/payment/refund" target="_blank">Refund Documentation</a>.</p>
</div> </div>
</div> <div class="section" id="_tokenization">
<div class="section-title">
<h2>
<span class="title-number">6.6</span>Tokenization </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>In case the payment method supports tokenization you can store the payment details of your customer for future purchases.
In order to use this feature make sure that the <strong>One-Click-Payment Mode</strong> in your <a href="https://gateway.vr-payment.de/space/select?target=/payment/method-configuration/list">payment method configuration</a> is set to <code>allow</code> or <code>force</code> storage.</p>
</div><div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
Tokenization is not available for guest checkouts.
</td>
</tr>
</table>
</div> </div>
</div> </div>
</div> <div class="chapter" id="_error_logging">
<div class="chapter-title">
<h1>
<span class="title-number">7</span>Error logging </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>The extension uses the Shopware logging functions which are automatically active in your Shopware store.
The extension will log various unexpected errors or information which can help identify the cause of the error. You can find the logs on the server of your store in the var/log/ folder.</p>
</div> </div>
</div> <div class="chapter" id="_faq">
<div class="chapter-title">
<h1>
<span class="title-number">8</span>FAQ </h1>
</div>
<div class="chapter-body">
<div class="section" id="_how_to_install_the_plugin_using_composer">
<div class="section-title">
<h2>
<span class="title-number">8.1</span>How to install the plugin using composer? </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>You can install the plugin using composer by updating the <code>composer.json</code> file in the root directory of your Shopware store and wait for Composer to finish updating the dependencies.</p>
</div><div class="listingblock">
<div class="content">
<pre>composer require vrpayment/shopware-6</pre>
</div>
</div><div class="paragraph">
<p>Once this done, continue with step 2 of the installation process. See <a href="#_installation">Installation</a>.</p>
</div> </div>
</div> <div class="section" id="_how_can_i_make_the_payment_methods_appear_in_the_checkout">
<div class="section-title">
<h2>
<span class="title-number">8.2</span>How can I make the payment methods appear in the checkout? </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>Make sure that you followed the <a href="#_configuration">Configuration</a> section by stating your VRPay space ID and application user&#8217;s access information in the Shopware backend. By saving the configuration form the synchronization of the payment methods and the set up of the webhooks are initiated.</p>
</div><div class="paragraph">
<p>If this does not solve the problem, it could be that you use a special fee or coupon module that we do not support. Try to disable this plugin and see if it helps.
The payment methods are only displayed if the plugin&#8217;s total calculation matches the actual order total.</p>
</div> </div>
</div> </div>
</div> <div class="chapter" id="_sending_emails_with_flow_builder">
<div class="chapter-title">
<h1>
<span class="title-number">9</span>Sending emails with Flow Builder </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>In order for your emails to send when setting up custom flows using Flow Builder you must ensure that "Send order confirmation email" is disabled (located in the plugin settings).</p>
</div><div class="paragraph">
<p>If you you have already made seperate channel adjustments (using the channel dropdown in the plugin settings) you will have to ensure that the emails are disabled per channel accordingly.</p>
</div> </div>
</div> <div class="chapter" id="_troubleshooting">
<div class="chapter-title">
<h1>
<span class="title-number">10</span>Troubleshooting </h1>
</div>
<div class="chapter-body">
<div class="section" id="_webhook_error_api_version_not_available">
<div class="section-title">
<h2>
<span class="title-number">10.1</span>Webhook error (API version not available) </h2>
</div>
<div class="section-body">
<div class="paragraph">
<p>Webhooks communication fails because of a reply saying HTTP 404 with this or a similar error in the response:
<code>{"errors":[{"code":"0","status":"404","title":"Not Found","detail":"Requested api version v1 not available, available versions are v2, v3."}]}</code></p>
</div><div class="paragraph">
<p>Solution:
The Webhooks have to be updated. Shopware is using an API Version for all "URLs", which has to be updated in case shopware itself was updated.</p>
</div> </div>
</div> </div>
</div> <div class="chapter" id="_support">
<div class="chapter-title">
<h1>
<span class="title-number">11</span>Support </h1>
</div>
<div class="chapter-body">
<div class="paragraph">
<p>If you need help, feel free to contact our <a href="https://www.vr-payment.de/hotline">support</a>.</p>
</div> </div>
</div> </div>
</div>
</div>
<div class="col-right">
<div class="col-right-wrapper">
<div class="table-of-contents">
<ul class="nav">
<li class="nav-level-1">
<a href="#_prerequisites">
<span class="item-number">1</span>
<span class="item-title">Prerequisites</span>
</a>
</li> <li class="nav-level-1">
<a href="#_installation">
<span class="item-number">2</span>
<span class="item-title">Installation</span>
</a>
</li> <li class="nav-level-1">
<a href="#_configuration">
<span class="item-number">3</span>
<span class="item-title">Configuration</span>
</a>
</li> <li class="nav-level-1">
<a href="#_payment_method_configuration">
<span class="item-number">4</span>
<span class="item-title">Payment method configuration</span>
</a>
<ul class="nav">
<li class="nav-level-2">
<a href="#_setup">
<span class="item-number">4.1</span>
<span class="item-title">Setup</span>
</a>
</li> <li class="nav-level-2">
<a href="#_payment_method_rules">
<span class="item-number">4.2</span>
<span class="item-title">Payment method rules</span>
</a>
</li> <li class="nav-level-2">
<a href="#_customization">
<span class="item-number">4.3</span>
<span class="item-title">Customization</span>
</a>
</li> </ul>
</li> <li class="nav-level-1">
<a href="#_state_graph">
<span class="item-number">5</span>
<span class="item-title">State graph</span>
</a>
<ul class="nav">
<li class="nav-level-2">
<a href="#_state_mapping_of_shopware_orders">
<span class="item-number">5.1</span>
<span class="item-title">State mapping of Shopware orders</span>
</a>
<ul class="nav">
<li class="nav-level-3">
<a href="#_general_remarks_regarding_order_statuses">
<span class="item-number">5.1.1</span>
<span class="item-title">General remarks regarding order statuses</span>
</a>
</li> </ul>
</li> <li class="nav-level-2">
<a href="#_state_mapping_of_shopware_payment_status">
<span class="item-number">5.2</span>
<span class="item-title">State mapping of Shopware payment status</span>
</a>
<ul class="nav">
<li class="nav-level-3">
<a href="#_general_remarks_regarding_payment_statuses">
<span class="item-number">5.2.1</span>
<span class="item-title">General remarks regarding payment statuses</span>
</a>
</li> </ul>
</li> <li class="nav-level-2">
<a href="#_state_mapping_of_shopware_delivery_status">
<span class="item-number">5.3</span>
<span class="item-title">State mapping of Shopware delivery status</span>
</a>
</li> </ul>
</li> <li class="nav-level-1">
<a href="#_transaction_management">
<span class="item-number">6</span>
<span class="item-title">Transaction management</span>
</a>
<ul class="nav">
<li class="nav-level-2">
<a href="#_complete_capture_an_order">
<span class="item-number">6.1</span>
<span class="item-title">Complete (capture) an order</span>
</a>
</li> <li class="nav-level-2">
<a href="#_void_a_transaction">
<span class="item-number">6.2</span>
<span class="item-title">Void a transaction</span>
</a>
</li> <li class="nav-level-2">
<a href="#_refund_of_a_transaction">
<span class="item-number">6.3</span>
<span class="item-title">Refund of a transaction</span>
</a>
</li> <li class="nav-level-2">
<a href="#_on_hold_orders">
<span class="item-number">6.4</span>
<span class="item-title">On hold orders</span>
</a>
</li> <li class="nav-level-2">
<a href="#_limitations_of_the_synchronization_between_whitelabelname_and_shopware">
<span class="item-number">6.5</span>
<span class="item-title">Limitations of the synchronization between VRPay and Shopware</span>
</a>
</li> <li class="nav-level-2">
<a href="#_tokenization">
<span class="item-number">6.6</span>
<span class="item-title">Tokenization</span>
</a>
</li> </ul>
</li> <li class="nav-level-1">
<a href="#_error_logging">
<span class="item-number">7</span>
<span class="item-title">Error logging</span>
</a>
</li> <li class="nav-level-1">
<a href="#_faq">
<span class="item-number">8</span>
<span class="item-title">FAQ</span>
</a>
<ul class="nav">
<li class="nav-level-2">
<a href="#_how_to_install_the_plugin_using_composer">
<span class="item-number">8.1</span>
<span class="item-title">How to install the plugin using composer?</span>
</a>
</li> <li class="nav-level-2">
<a href="#_how_can_i_make_the_payment_methods_appear_in_the_checkout">
<span class="item-number">8.2</span>
<span class="item-title">How can I make the payment methods appear in the checkout?</span>
</a>
</li> </ul>
</li> <li class="nav-level-1">
<a href="#_sending_emails_with_flow_builder">
<span class="item-number">9</span>
<span class="item-title">Sending emails with Flow Builder</span>
</a>
</li> <li class="nav-level-1">
<a href="#_troubleshooting">
<span class="item-number">10</span>
<span class="item-title">Troubleshooting</span>
</a>
<ul class="nav">
<li class="nav-level-2">
<a href="#_webhook_error_api_version_not_available">
<span class="item-number">10.1</span>
<span class="item-title">Webhook error (API version not available)</span>
</a>
</li> </ul>
</li> <li class="nav-level-1">
<a href="#_support">
<span class="item-number">11</span>
<span class="item-title">Support</span>
</a>
</li> </ul>
</div> </div>
</div>
</div>
</div>
<script type="text/javascript" src="assets/jquery.js"></script>
<script type="text/javascript" src="assets/scrollspy.js"></script>
<script type="text/javascript" src="assets/sticky-kit.js"></script>
<script type="text/javascript" src="assets/highlight.js"></script>
<script type="text/javascript" src="assets/base.js"></script>
</body>
</html>