PageSourceSearch

https://docs.flizpay.de/assets/js/0a905e0b.90aa4e26.js

js flizpay.de collected 2026-09-24 08:58:03 UTC 5,160 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkapi_docs=self.webpackChunkapi_docs||[]).push([[6045],{4565:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(4848),i=n(8453);const o={sidebar_position:5,id:"testing",description:"Learn how to test your FLIZ integration with real micro-transactions."},r="Testing Your Integration",c={id:"custom-integrations/core-concepts/testing",title:"Testing Your Integration",description:"Learn how to test your FLIZ integration with real micro-transactions.",source:"@site/docs/custom-integrations/core-concepts/testing.md",sourceDirName:"custom-integrations/core-concepts",slug:"/custom-integrations/core-concepts/testing",permalink:"/docs/custom-integrations/core-concepts/testing",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,id:"testing",description:"Learn how to test your FLIZ integration with real micro-transactions."},sidebar:"tutorialSidebar",previous:{title:"Responses and Errors",permalink:"/docs/custom-integrations/core-concepts/responses"},next:{title:"Webhooks",permalink:"/docs/custom-integrations/core-concepts/webhooks"}},a={},d=[{value:"Setting Up Test Accounts",id:"setting-up-test-accounts",level:3},{value:"Testing Best Practices",id:"testing-best-practices",level:3},{value:"What to Verify",id:"what-to-verify",level:3}];function l(e){const t={a:"a",admonition:"admonition",h1:"h1",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h1,{id:"testing-your-integration",children:"Testing Your Integration"}),"\n",(0,s.jsx)("hr",{style:{border:"none",borderTop:"1px solid var(--ifm-toc-border-color)",margin:"5px 0 20px 0"}}),"\n",(0,s.jsx)(t.p,{children:"FLIZ processes real bank-to-bank payments, which means we don't offer a traditional sandbox environment. Bank transfers cannot be simulated or mocked in a meaningful way."}),"\n",(0,s.jsxs)(t.p,{children:["Instead, we recommend testing your integration with ",(0,s.jsx)(t.strong,{children:"small real transactions"})," (\u20ac0.01) between two accounts you control."]}),"\n",(0,s.jsx)(t.h3,{id:"setting-up-test-accounts",children:"Setting Up Test Accounts"}),"\n",(0,s.jsx)(t.p,{children:"You'll need two different IBANs you control \u2014 one as the receiving account (configured in your FLIZ business account) and one as the paying account (to simulate customer payments)."}),"\n",(0,s.jsxs)(t.p,{children:["You can use your business IBAN or a personal IBAN as the receiving account during testing. Once you're done, you can update it to your final business IBAN in ",(0,s.jsx)(t.a,{href:"https://app.flizpay.de",children:"app.flizpay.de"}),"."]}),"\n",(0,s.jsx)(t.admonition,{type:"warning",children:(0,s.jsx)(t.p,{children:"The sender and receiver IBAN cannot be the same. The system will reject payments where both accounts are identical."})}),"\n",(0,s.jsx)(t.h3,{id:"testing-best-practices",children:"Testing Best Practices"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Use minimal amounts"})," \u2014 Test with \u20ac0.01 transactions to keep costs negligible"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Test the complete flow"})," \u2014 Verify authentication, payment initiation, and webhook delivery"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Validate webhook signatures"})," \u2014 Ensure your server correctly validates incoming webhooks"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Test error scenarios"})," \u2014 Try invalid amounts, expired tokens, and network timeouts"]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"what-to-verify",children:"What to Verify"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Step"}),(0,s.jsx)(t.th,{children:"What to Check"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Authentication"}),(0,s.jsx)(t.td,{children:"API key generates a valid JWT token"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Payment initiation"}),(0,s.jsx)(t.td,{children:"Payment link/QR code is generated correctly"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"User payment"}
1),(0,s.jsx)(t.td,{children:"Payment completes in your banking app"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"Webhook delivery"}),(0,s.jsx)(t.td,{children:"Your server receives the payment confirmation"})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var s=n(6540);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.