[{"data":1,"prerenderedAt":781},["ShallowReactive",2],{"navigation":3,"\u002Ffaq\u002Fpayment-operations\u002Fidempotency-and-duplicates":571,"\u002Ffaq\u002Fpayment-operations\u002Fidempotency-and-duplicates-surround":776},[4],{"title":5,"path":6,"stem":7,"children":8},"Payments Knowledge Centre","\u002Ffaq","0.faq",[9,52,111,146,181,216,271,322,385,426,481,516],{"title":10,"path":11,"stem":12,"children":13,"icon":15},"How Payments Work","\u002Ffaq\u002Fhow-payments-work","0.faq\u002F1.how-payments-work\u002Findex",[14,16,20,24,28,32,36,40,44,48],{"title":10,"path":11,"stem":12,"icon":15},"i-lucide-book-open",{"title":17,"path":18,"stem":19},"What Is a Payment?","\u002Ffaq\u002Fhow-payments-work\u002Fwhat-is-a-payment","0.faq\u002F1.how-payments-work\u002F1.what-is-a-payment",{"title":21,"path":22,"stem":23},"Payment Lifecycle","\u002Ffaq\u002Fhow-payments-work\u002Fpayment-lifecycle","0.faq\u002F1.how-payments-work\u002F2.payment-lifecycle",{"title":25,"path":26,"stem":27},"Payment Stages","\u002Ffaq\u002Fhow-payments-work\u002Fauthentication-authorisation-clearing-settlement","0.faq\u002F1.how-payments-work\u002F3.authentication-authorisation-clearing-settlement",{"title":29,"path":30,"stem":31},"Payment Participants","\u002Ffaq\u002Fhow-payments-work\u002Fpayment-participants","0.faq\u002F1.how-payments-work\u002F4.payment-participants",{"title":33,"path":34,"stem":35},"Methods, Rails and Channels","\u002Ffaq\u002Fhow-payments-work\u002Fmethods-rails-and-channels","0.faq\u002F1.how-payments-work\u002F5.methods-rails-and-channels",{"title":37,"path":38,"stem":39},"Statuses and References","\u002Ffaq\u002Fhow-payments-work\u002Fpayment-statuses-and-references","0.faq\u002F1.how-payments-work\u002F6.payment-statuses-and-references",{"title":41,"path":42,"stem":43},"Cut-Off Times and Value Dates","\u002Ffaq\u002Fhow-payments-work\u002Fcut-off-times-and-value-dates","0.faq\u002F1.how-payments-work\u002F7.cut-off-times-and-value-dates",{"title":45,"path":46,"stem":47},"Fees and Interchange","\u002Ffaq\u002Fhow-payments-work\u002Fpayment-fees-and-interchange","0.faq\u002F1.how-payments-work\u002F8.payment-fees-and-interchange",{"title":49,"path":50,"stem":51},"National Payment System","\u002Ffaq\u002Fhow-payments-work\u002Fsouth-african-national-payment-system","0.faq\u002F1.how-payments-work\u002F9.south-african-national-payment-system",{"title":53,"path":54,"stem":55,"children":56,"icon":58},"Payment Operations","\u002Ffaq\u002Fpayment-operations","0.faq\u002F10.payment-operations\u002Findex",[57,59,63,67,71,75,79,83,87,91,95,99,103,107],{"title":53,"path":54,"stem":55,"icon":58},"i-lucide-workflow",{"title":60,"path":61,"stem":62},"Clearing and Settlement","\u002Ffaq\u002Fpayment-operations\u002Fclearing-settlement-and-reconciliation","0.faq\u002F10.payment-operations\u002F1.clearing-settlement-and-reconciliation",{"title":64,"path":65,"stem":66},"Sandbox, UAT and Production","\u002Ffaq\u002Fpayment-operations\u002Fsandbox-uat-and-production","0.faq\u002F10.payment-operations\u002F10.sandbox-uat-and-production",{"title":68,"path":69,"stem":70},"Error and Reason Codes","\u002Ffaq\u002Fpayment-operations\u002Ferror-and-reason-codes","0.faq\u002F10.payment-operations\u002F11.error-and-reason-codes",{"title":72,"path":73,"stem":74},"Logging and Audit Trails","\u002Ffaq\u002Fpayment-operations\u002Flogging-masking-and-audit-trails","0.faq\u002F10.payment-operations\u002F12.logging-masking-and-audit-trails",{"title":76,"path":77,"stem":78},"API Versioning","\u002Ffaq\u002Fpayment-operations\u002Fapi-versioning-and-change-management","0.faq\u002F10.payment-operations\u002F13.api-versioning-and-change-management",{"title":80,"path":81,"stem":82},"Merchant Settlement and Reserves","\u002Ffaq\u002Fpayment-operations\u002Fmerchant-settlement-and-reserves","0.faq\u002F10.payment-operations\u002F2.merchant-settlement-and-reserves",{"title":84,"path":85,"stem":86},"Asynchronous Statuses","\u002Ffaq\u002Fpayment-operations\u002Fasynchronous-payment-statuses","0.faq\u002F10.payment-operations\u002F3.asynchronous-payment-statuses",{"title":88,"path":89,"stem":90},"Webhooks and Callbacks","\u002Ffaq\u002Fpayment-operations\u002Fwebhooks-and-callbacks","0.faq\u002F10.payment-operations\u002F4.webhooks-and-callbacks",{"title":92,"path":93,"stem":94},"Idempotency and Duplicates","\u002Ffaq\u002Fpayment-operations\u002Fidempotency-and-duplicates","0.faq\u002F10.payment-operations\u002F5.idempotency-and-duplicates",{"title":96,"path":97,"stem":98},"Retries and Stuck Payments","\u002Ffaq\u002Fpayment-operations\u002Fretries-and-stuck-payments","0.faq\u002F10.payment-operations\u002F6.retries-and-stuck-payments",{"title":100,"path":101,"stem":102},"Integration Models","\u002Ffaq\u002Fpayment-operations\u002Fpayment-integration-models","0.faq\u002F10.payment-operations\u002F7.payment-integration-models",{"title":104,"path":105,"stem":106},"Batch Files vs APIs","\u002Ffaq\u002Fpayment-operations\u002Fbatch-files-vs-apis","0.faq\u002F10.payment-operations\u002F8.batch-files-vs-apis",{"title":108,"path":109,"stem":110},"API Authentication","\u002Ffaq\u002Fpayment-operations\u002Fapi-authentication-and-signatures","0.faq\u002F10.payment-operations\u002F9.api-authentication-and-signatures",{"title":112,"path":113,"stem":114,"children":115,"icon":117},"Other Payment Methods","\u002Ffaq\u002Fother-payment-methods","0.faq\u002F11.other-payment-methods\u002Findex",[116,118,122,126,130,134,138,142],{"title":112,"path":113,"stem":114,"icon":117},"i-lucide-wallet",{"title":119,"path":120,"stem":121},"QR Code Payments","\u002Ffaq\u002Fother-payment-methods\u002Fqr-code-payments","0.faq\u002F11.other-payment-methods\u002F1.qr-code-payments",{"title":123,"path":124,"stem":125},"QR Plus","\u002Ffaq\u002Fother-payment-methods\u002Fqr-plus","0.faq\u002F11.other-payment-methods\u002F2.qr-plus",{"title":127,"path":128,"stem":129},"Instant EFT and Open Banking","\u002Ffaq\u002Fother-payment-methods\u002Finstant-eft-and-open-banking","0.faq\u002F11.other-payment-methods\u002F3.instant-eft-and-open-banking",{"title":131,"path":132,"stem":133},"Buy Now, Pay Later","\u002Ffaq\u002Fother-payment-methods\u002Fbuy-now-pay-later","0.faq\u002F11.other-payment-methods\u002F4.buy-now-pay-later",{"title":135,"path":136,"stem":137},"Vouchers and Cash","\u002Ffaq\u002Fother-payment-methods\u002Fvoucher-and-cash-payments","0.faq\u002F11.other-payment-methods\u002F5.voucher-and-cash-payments",{"title":139,"path":140,"stem":141},"Mobile Money","\u002Ffaq\u002Fother-payment-methods\u002Fmobile-money","0.faq\u002F11.other-payment-methods\u002F6.mobile-money",{"title":143,"path":144,"stem":145},"Crypto and Stablecoins","\u002Ffaq\u002Fother-payment-methods\u002Fcryptocurrency-and-stablecoin-payments","0.faq\u002F11.other-payment-methods\u002F7.cryptocurrency-and-stablecoin-payments",{"title":147,"path":148,"stem":149,"children":150,"icon":152},"Reference","\u002Ffaq\u002Freference","0.faq\u002F12.reference\u002Findex",[151,153,157,161,165,169,173,177],{"title":147,"path":148,"stem":149,"icon":152},"i-lucide-library",{"title":154,"path":155,"stem":156},"Glossary","\u002Ffaq\u002Freference\u002Fglossary","0.faq\u002F12.reference\u002F1.glossary",{"title":158,"path":159,"stem":160},"Acronyms","\u002Ffaq\u002Freference\u002Facronyms","0.faq\u002F12.reference\u002F2.acronyms",{"title":162,"path":163,"stem":164},"Status Directory","\u002Ffaq\u002Freference\u002Fpayment-status-directory","0.faq\u002F12.reference\u002F3.payment-status-directory",{"title":166,"path":167,"stem":168},"Reason Code Directory","\u002Ffaq\u002Freference\u002Freason-code-directory","0.faq\u002F12.reference\u002F4.reason-code-directory",{"title":170,"path":171,"stem":172},"Industry Roles","\u002Ffaq\u002Freference\u002Fpayment-industry-roles","0.faq\u002F12.reference\u002F5.payment-industry-roles",{"title":174,"path":175,"stem":176},"Regulators and Organisations","\u002Ffaq\u002Freference\u002Fregulators-and-industry-organisations","0.faq\u002F12.reference\u002F6.regulators-and-industry-organisations",{"title":178,"path":179,"stem":180},"Change Log","\u002Ffaq\u002Freference\u002Fpayments-change-log","0.faq\u002F12.reference\u002F7.payments-change-log",{"title":182,"path":183,"stem":184,"children":185,"icon":187},"Accepting Payments","\u002Ffaq\u002Faccepting-payments","0.faq\u002F2.accepting-payments\u002Findex",[186,188,192,196,200,204,208,212],{"title":182,"path":183,"stem":184,"icon":187},"i-lucide-store",{"title":189,"path":190,"stem":191},"Accepting Payments Online","\u002Ffaq\u002Faccepting-payments\u002Faccept-payments-online","0.faq\u002F2.accepting-payments\u002F1.accept-payments-online",{"title":193,"path":194,"stem":195},"In-Person Payments","\u002Ffaq\u002Faccepting-payments\u002Faccept-in-person-payments","0.faq\u002F2.accepting-payments\u002F2.accept-in-person-payments",{"title":197,"path":198,"stem":199},"Merchant Accounts and MIDs","\u002Ffaq\u002Faccepting-payments\u002Fmerchant-account-and-merchant-id","0.faq\u002F2.accepting-payments\u002F3.merchant-account-and-merchant-id",{"title":201,"path":202,"stem":203},"Gateways, Processors and Acquirers","\u002Ffaq\u002Faccepting-payments\u002Fgateway-processor-switch-acquirer","0.faq\u002F2.accepting-payments\u002F4.gateway-processor-switch-acquirer",{"title":205,"path":206,"stem":207},"Checkout Options","\u002Ffaq\u002Faccepting-payments\u002Fhosted-embedded-api-checkout","0.faq\u002F2.accepting-payments\u002F5.hosted-embedded-api-checkout",{"title":209,"path":210,"stem":211},"Payment Links","\u002Ffaq\u002Faccepting-payments\u002Fpayment-links","0.faq\u002F2.accepting-payments\u002F6.payment-links",{"title":213,"path":214,"stem":215},"Choosing Payment Methods","\u002Ffaq\u002Faccepting-payments\u002Fchoose-payment-methods","0.faq\u002F2.accepting-payments\u002F7.choose-payment-methods",{"title":217,"path":218,"stem":219,"children":220,"icon":222},"Card Payments","\u002Ffaq\u002Fcard-payments","0.faq\u002F3.card-payments\u002Findex",[221,223,227,231,235,239,243,247,251,255,259,263,267],{"title":217,"path":218,"stem":219,"icon":222},"i-lucide-credit-card",{"title":224,"path":225,"stem":226},"How Card Payments Work","\u002Ffaq\u002Fcard-payments\u002Fhow-card-payments-work","0.faq\u002F3.card-payments\u002F1.how-card-payments-work",{"title":228,"path":229,"stem":230},"Digital Wallets","\u002Ffaq\u002Fcard-payments\u002Fdigital-wallets","0.faq\u002F3.card-payments\u002F10.digital-wallets",{"title":232,"path":233,"stem":234},"Recurring Payments (CIT and MIT)","\u002Ffaq\u002Fcard-payments\u002Frecurring-card-payments-cit-mit","0.faq\u002F3.card-payments\u002F11.recurring-card-payments-cit-mit",{"title":236,"path":237,"stem":238},"Refunds, Reversals and Voids","\u002Ffaq\u002Fcard-payments\u002Fcard-refunds-reversals-and-voids","0.faq\u002F3.card-payments\u002F12.card-refunds-reversals-and-voids",{"title":240,"path":241,"stem":242},"Debit, Credit and Prepaid Cards","\u002Ffaq\u002Fcard-payments\u002Fdebit-credit-prepaid-cards","0.faq\u002F3.card-payments\u002F2.debit-credit-prepaid-cards",{"title":244,"path":245,"stem":246},"Card-Present vs CNP","\u002Ffaq\u002Fcard-payments\u002Fcard-present-vs-card-not-present","0.faq\u002F3.card-payments\u002F3.card-present-vs-card-not-present",{"title":248,"path":249,"stem":250},"Online Card Payment Flow","\u002Ffaq\u002Fcard-payments\u002Fonline-card-payment-flow","0.faq\u002F3.card-payments\u002F4.online-card-payment-flow",{"title":252,"path":253,"stem":254},"Chip, Contactless and SoftPOS","\u002Ffaq\u002Fcard-payments\u002Fchip-contactless-and-softpos","0.faq\u002F3.card-payments\u002F5.chip-contactless-and-softpos",{"title":256,"path":257,"stem":258},"Authorisation and Capture","\u002Ffaq\u002Fcard-payments\u002Fauthorisation-capture-and-preauthorisation","0.faq\u002F3.card-payments\u002F6.authorisation-capture-and-preauthorisation",{"title":260,"path":261,"stem":262},"Declines and Response Codes","\u002Ffaq\u002Fcard-payments\u002Fcard-declines-and-response-codes","0.faq\u002F3.card-payments\u002F7.card-declines-and-response-codes",{"title":264,"path":265,"stem":266},"3D Secure","\u002Ffaq\u002Fcard-payments\u002F3d-secure","0.faq\u002F3.card-payments\u002F8.3d-secure",{"title":268,"path":269,"stem":270},"Tokenisation and Network Tokens","\u002Ffaq\u002Fcard-payments\u002Fcard-tokenisation-and-network-tokens","0.faq\u002F3.card-payments\u002F9.card-tokenisation-and-network-tokens",{"title":272,"path":273,"stem":274,"children":275,"icon":277},"Debit Orders","\u002Ffaq\u002Fdebit-orders","0.faq\u002F4.debit-orders\u002Findex",[276,278,282,286,290,294,298,302,306,310,314,318],{"title":272,"path":273,"stem":274,"icon":277},"i-lucide-repeat",{"title":279,"path":280,"stem":281},"What Is a Debit Order?","\u002Ffaq\u002Fdebit-orders\u002Fwhat-is-a-debit-order","0.faq\u002F4.debit-orders\u002F1.what-is-a-debit-order",{"title":283,"path":284,"stem":285},"Minimum Mandate Requirements","\u002Ffaq\u002Fdebit-orders\u002Fminimum-mandate-requirements","0.faq\u002F4.debit-orders\u002F10.minimum-mandate-requirements",{"title":287,"path":288,"stem":289},"Debit Orders vs Stop Orders","\u002Ffaq\u002Fdebit-orders\u002Fdebit-order-vs-stop-order","0.faq\u002F4.debit-orders\u002F11.debit-order-vs-stop-order",{"title":291,"path":292,"stem":293},"EFT Debit Orders","\u002Ffaq\u002Fdebit-orders\u002Feft-debit-orders","0.faq\u002F4.debit-orders\u002F2.eft-debit-orders",{"title":295,"path":296,"stem":297},"Debit Order Mandates","\u002Ffaq\u002Fdebit-orders\u002Fdebit-order-mandates","0.faq\u002F4.debit-orders\u002F3.debit-order-mandates",{"title":299,"path":300,"stem":301},"Types of Mandates","\u002Ffaq\u002Fdebit-orders\u002Ftypes-of-debit-order-mandates","0.faq\u002F4.debit-orders\u002F4.types-of-debit-order-mandates",{"title":303,"path":304,"stem":305},"Action Dates and Cycles","\u002Ffaq\u002Fdebit-orders\u002Faction-dates-and-processing-cycles","0.faq\u002F4.debit-orders\u002F5.action-dates-and-processing-cycles",{"title":307,"path":308,"stem":309},"Account Validation and CDV","\u002Ffaq\u002Fdebit-orders\u002Faccount-validation-and-cdv","0.faq\u002F4.debit-orders\u002F6.account-validation-and-cdv",{"title":311,"path":312,"stem":313},"Unpaids and Returns","\u002Ffaq\u002Fdebit-orders\u002Funpaids-returns-and-resubmissions","0.faq\u002F4.debit-orders\u002F7.unpaids-returns-and-resubmissions",{"title":315,"path":316,"stem":317},"Disputes and Stop Payments","\u002Ffaq\u002Fdebit-orders\u002Fdebit-order-disputes-and-stop-payments","0.faq\u002F4.debit-orders\u002F8.debit-order-disputes-and-stop-payments",{"title":319,"path":320,"stem":321},"NAEDO and AEDO Migration","\u002Ffaq\u002Fdebit-orders\u002Fmigrated-naedo-and-aedo-mandates","0.faq\u002F4.debit-orders\u002F9.migrated-naedo-and-aedo-mandates",{"title":323,"path":324,"stem":325,"children":326,"icon":328},"DebiCheck","\u002Ffaq\u002Fdebicheck","0.faq\u002F5.debicheck\u002Findex",[327,329,333,337,341,345,349,353,357,361,365,369,373,377,381],{"title":323,"path":324,"stem":325,"icon":328},"i-lucide-shield-check",{"title":330,"path":331,"stem":332},"How DebiCheck Works","\u002Ffaq\u002Fdebicheck\u002Fhow-debicheck-works","0.faq\u002F5.debicheck\u002F1.how-debicheck-works",{"title":334,"path":335,"stem":336},"Troubleshooting","\u002Ffaq\u002Fdebicheck\u002Ftroubleshooting","0.faq\u002F5.debicheck\u002F10.troubleshooting",{"title":338,"path":339,"stem":340},"API vs Host-to-Host","\u002Ffaq\u002Fdebicheck\u002Fapi-vs-host-to-host","0.faq\u002F5.debicheck\u002F11.api-vs-host-to-host",{"title":342,"path":343,"stem":344},"Is DebiCheck Safe?","\u002Ffaq\u002Fdebicheck\u002Fis-debicheck-safe","0.faq\u002F5.debicheck\u002F12.is-debicheck-safe",{"title":346,"path":347,"stem":348},"Participating Banks","\u002Ffaq\u002Fdebicheck\u002Fparticipating-banks","0.faq\u002F5.debicheck\u002F13.participating-banks",{"title":350,"path":351,"stem":352},"DebiCheck for Business","\u002Ffaq\u002Fdebicheck\u002Fdebicheck-for-business","0.faq\u002F5.debicheck\u002F14.debicheck-for-business",{"title":354,"path":355,"stem":356},"Mandates vs Collections","\u002Ffaq\u002Fdebicheck\u002Fmandates-vs-collections","0.faq\u002F5.debicheck\u002F2.mandates-vs-collections",{"title":358,"path":359,"stem":360},"TT1, TT2 and TT3","\u002Ffaq\u002Fdebicheck\u002Ftransaction-types-tt1-tt2-tt3","0.faq\u002F5.debicheck\u002F3.transaction-types-tt1-tt2-tt3",{"title":362,"path":363,"stem":364},"Mandate Authentication","\u002Ffaq\u002Fdebicheck\u002Fmandate-authentication","0.faq\u002F5.debicheck\u002F4.mandate-authentication",{"title":366,"path":367,"stem":368},"Mandate Lifecycle","\u002Ffaq\u002Fdebicheck\u002Fmandate-lifecycle","0.faq\u002F5.debicheck\u002F5.mandate-lifecycle",{"title":370,"path":371,"stem":372},"Statuses and Reason Codes","\u002Ffaq\u002Fdebicheck\u002Fstatuses-and-reason-codes","0.faq\u002F5.debicheck\u002F6.statuses-and-reason-codes",{"title":374,"path":375,"stem":376},"Amounts and Frequencies","\u002Ffaq\u002Fdebicheck\u002Famounts-frequencies-and-adjustments","0.faq\u002F5.debicheck\u002F7.amounts-frequencies-and-adjustments",{"title":378,"path":379,"stem":380},"Collections and Tracking","\u002Ffaq\u002Fdebicheck\u002Fcollections-tracking-and-retries","0.faq\u002F5.debicheck\u002F8.collections-tracking-and-retries",{"title":382,"path":383,"stem":384},"Unpaids and Disputes","\u002Ffaq\u002Fdebicheck\u002Funpaids-returns-and-disputes","0.faq\u002F5.debicheck\u002F9.unpaids-returns-and-disputes",{"title":386,"path":387,"stem":388,"children":389,"icon":391},"Registered Mandates","\u002Ffaq\u002Fregistered-mandates","0.faq\u002F6.registered-mandates\u002Findex",[390,392,396,400,404,408,412,415,419,423],{"title":386,"path":387,"stem":388,"icon":391},"i-lucide-file-check",{"title":393,"path":394,"stem":395},"What Is a Registered Mandate?","\u002Ffaq\u002Fregistered-mandates\u002Fwhat-is-a-registered-mandate","0.faq\u002F6.registered-mandates\u002F1.what-is-a-registered-mandate",{"title":397,"path":398,"stem":399},"RM vs RMS","\u002Ffaq\u002Fregistered-mandates\u002Frm-vs-rms","0.faq\u002F6.registered-mandates\u002F2.rm-vs-rms",{"title":401,"path":402,"stem":403},"RM vs DebiCheck vs EFT","\u002Ffaq\u002Fregistered-mandates\u002Frm-vs-debicheck-vs-eft","0.faq\u002F6.registered-mandates\u002F3.rm-vs-debicheck-vs-eft",{"title":405,"path":406,"stem":407},"Registration and Notification","\u002Ffaq\u002Fregistered-mandates\u002Fregistration-and-payer-notification","0.faq\u002F6.registered-mandates\u002F4.registration-and-payer-notification",{"title":409,"path":410,"stem":411},"Juristic Accounts","\u002Ffaq\u002Fregistered-mandates\u002Fjuristic-and-multisignatory-accounts","0.faq\u002F6.registered-mandates\u002F5.juristic-and-multisignatory-accounts",{"title":366,"path":413,"stem":414},"\u002Ffaq\u002Fregistered-mandates\u002Fmandate-lifecycle","0.faq\u002F6.registered-mandates\u002F6.mandate-lifecycle",{"title":416,"path":417,"stem":418},"Collections and Settlement","\u002Ffaq\u002Fregistered-mandates\u002Fcollections-tracking-and-settlement","0.faq\u002F6.registered-mandates\u002F7.collections-tracking-and-settlement",{"title":420,"path":421,"stem":422},"Returns and Disputes","\u002Ffaq\u002Fregistered-mandates\u002Freturns-and-disputes","0.faq\u002F6.registered-mandates\u002F8.returns-and-disputes",{"title":338,"path":424,"stem":425},"\u002Ffaq\u002Fregistered-mandates\u002Fapi-vs-host-to-host","0.faq\u002F6.registered-mandates\u002F9.api-vs-host-to-host",{"title":427,"path":428,"stem":429,"children":430,"icon":432},"Bank Transfers and PayShap","\u002Ffaq\u002Fbank-transfers","0.faq\u002F7.bank-transfers\u002Findex",[431,433,437,441,445,449,453,457,461,465,469,473,477],{"title":427,"path":428,"stem":429,"icon":432},"i-lucide-landmark",{"title":434,"path":435,"stem":436},"EFT Credit Payments","\u002Ffaq\u002Fbank-transfers\u002Feft-credit-payments","0.faq\u002F7.bank-transfers\u002F1.eft-credit-payments",{"title":438,"path":439,"stem":440},"Proof of Payment","\u002Ffaq\u002Fbank-transfers\u002Fproof-of-payment-and-reconciliation","0.faq\u002F7.bank-transfers\u002F10.proof-of-payment-and-reconciliation",{"title":442,"path":443,"stem":444},"Failed and Returned Transfers","\u002Ffaq\u002Fbank-transfers\u002Ffailed-and-returned-transfers","0.faq\u002F7.bank-transfers\u002F11.failed-and-returned-transfers",{"title":446,"path":447,"stem":448},"Cross-Border and SWIFT","\u002Ffaq\u002Fbank-transfers\u002Fcross-border-payments-and-swift","0.faq\u002F7.bank-transfers\u002F12.cross-border-payments-and-swift",{"title":450,"path":451,"stem":452},"EFT vs RTC vs PayShap vs RTGS","\u002Ffaq\u002Fbank-transfers\u002Feft-vs-rtc-vs-payshap-vs-rtgs","0.faq\u002F7.bank-transfers\u002F2.eft-vs-rtc-vs-payshap-vs-rtgs",{"title":454,"path":455,"stem":456},"Bank Transfer Lifecycle","\u002Ffaq\u002Fbank-transfers\u002Fbank-transfer-lifecycle","0.faq\u002F7.bank-transfers\u002F3.bank-transfer-lifecycle",{"title":458,"path":459,"stem":460},"Real-Time Clearing","\u002Ffaq\u002Fbank-transfers\u002Freal-time-clearing","0.faq\u002F7.bank-transfers\u002F4.real-time-clearing",{"title":462,"path":463,"stem":464},"PayShap","\u002Ffaq\u002Fbank-transfers\u002Fpayshap","0.faq\u002F7.bank-transfers\u002F5.payshap",{"title":466,"path":467,"stem":468},"ShapIDs and Request to Pay","\u002Ffaq\u002Fbank-transfers\u002Fshapids-and-request-to-pay","0.faq\u002F7.bank-transfers\u002F6.shapids-and-request-to-pay",{"title":470,"path":471,"stem":472},"Final and Irrevocable Payments","\u002Ffaq\u002Fbank-transfers\u002Ffinal-and-irrevocable-payments","0.faq\u002F7.bank-transfers\u002F7.final-and-irrevocable-payments",{"title":474,"path":475,"stem":476},"Payouts and Bulk Payments","\u002Ffaq\u002Fbank-transfers\u002Fpayouts-and-bulk-payments","0.faq\u002F7.bank-transfers\u002F8.payouts-and-bulk-payments",{"title":478,"path":479,"stem":480},"Account Verification","\u002Ffaq\u002Fbank-transfers\u002Fbeneficiary-and-account-verification","0.faq\u002F7.bank-transfers\u002F9.beneficiary-and-account-verification",{"title":482,"path":483,"stem":484,"children":485,"icon":487},"Billing","\u002Ffaq\u002Fbilling","0.faq\u002F8.billing\u002Findex",[486,488,492,496,500,504,508,512],{"title":482,"path":483,"stem":484,"icon":487},"i-lucide-receipt",{"title":489,"path":490,"stem":491},"Invoice Payments","\u002Ffaq\u002Fbilling\u002Finvoice-payments","0.faq\u002F8.billing\u002F1.invoice-payments",{"title":493,"path":494,"stem":495},"Subscription Payments","\u002Ffaq\u002Fbilling\u002Fsubscription-payments","0.faq\u002F8.billing\u002F2.subscription-payments",{"title":497,"path":498,"stem":499},"Recurring Card Payments","\u002Ffaq\u002Fbilling\u002Frecurring-card-payments","0.faq\u002F8.billing\u002F3.recurring-card-payments",{"title":501,"path":502,"stem":503},"Instalments and Usage Billing","\u002Ffaq\u002Fbilling\u002Finstalment-and-usage-based-billing","0.faq\u002F8.billing\u002F4.instalment-and-usage-based-billing",{"title":505,"path":506,"stem":507},"Dunning and Recovery","\u002Ffaq\u002Fbilling\u002Fdunning-and-payment-recovery","0.faq\u002F8.billing\u002F5.dunning-and-payment-recovery",{"title":509,"path":510,"stem":511},"Plan Changes and Proration","\u002Ffaq\u002Fbilling\u002Fsubscription-plan-changes","0.faq\u002F8.billing\u002F6.subscription-plan-changes",{"title":513,"path":514,"stem":515},"Backup Cards and Updaters","\u002Ffaq\u002Fbilling\u002Fbackup-cards-and-account-updaters","0.faq\u002F8.billing\u002F7.backup-cards-and-account-updaters",{"title":517,"path":518,"stem":519,"children":520,"icon":522},"Disputes and Compliance","\u002Ffaq\u002Fdisputes-risk-and-compliance","0.faq\u002F9.disputes-risk-and-compliance\u002Findex",[521,523,527,531,535,539,543,547,551,555,559,563,567],{"title":517,"path":518,"stem":519,"icon":522},"i-lucide-scale",{"title":524,"path":525,"stem":526},"Refunds vs Chargebacks","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Frefund-reversal-dispute-chargeback","0.faq\u002F9.disputes-risk-and-compliance\u002F1.refund-reversal-dispute-chargeback",{"title":528,"path":529,"stem":530},"PCI DSS","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fpci-dss","0.faq\u002F9.disputes-risk-and-compliance\u002F10.pci-dss",{"title":532,"path":533,"stem":534},"KYC, AML and POPIA","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fkyc-aml-sanctions-and-popia","0.faq\u002F9.disputes-risk-and-compliance\u002F11.kyc-aml-sanctions-and-popia",{"title":536,"path":537,"stem":538},"Incident Response","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fpayment-incident-response","0.faq\u002F9.disputes-risk-and-compliance\u002F12.payment-incident-response",{"title":540,"path":541,"stem":542},"Card Chargebacks","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fcard-chargebacks","0.faq\u002F9.disputes-risk-and-compliance\u002F2.card-chargebacks",{"title":544,"path":545,"stem":546},"Chargeback Evidence","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fchargeback-evidence","0.faq\u002F9.disputes-risk-and-compliance\u002F3.chargeback-evidence",{"title":548,"path":549,"stem":550},"Debit Order Disputes","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fdebit-order-disputes","0.faq\u002F9.disputes-risk-and-compliance\u002F4.debit-order-disputes",{"title":552,"path":553,"stem":554},"Payment Fraud","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fpayment-fraud","0.faq\u002F9.disputes-risk-and-compliance\u002F5.payment-fraud",{"title":556,"path":557,"stem":558},"Card Testing and Velocity","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Fcard-testing-and-velocity-checks","0.faq\u002F9.disputes-risk-and-compliance\u002F6.card-testing-and-velocity-checks",{"title":560,"path":561,"stem":562},"Account Takeover","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Faccount-takeover-and-social-engineering","0.faq\u002F9.disputes-risk-and-compliance\u002F7.account-takeover-and-social-engineering",{"title":564,"path":565,"stem":566},"3DS and Fraud Prevention","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002F3ds-and-fraud-prevention","0.faq\u002F9.disputes-risk-and-compliance\u002F8.3ds-and-fraud-prevention",{"title":568,"path":569,"stem":570},"Tokenisation and Encryption","\u002Ffaq\u002Fdisputes-risk-and-compliance\u002Ftokenisation-encryption-and-hashing","0.faq\u002F9.disputes-risk-and-compliance\u002F9.tokenisation-encryption-and-hashing",{"id":572,"title":573,"body":574,"description":768,"extension":769,"links":770,"meta":771,"navigation":772,"path":93,"seo":773,"sitemap":774,"stem":94,"__hash__":775},"docs\u002F0.faq\u002F10.payment-operations\u002F5.idempotency-and-duplicates.md","What Is Idempotency and How Do You Prevent Duplicate Payments?",{"type":575,"value":576,"toc":757},"minimark",[577,581,584,589,618,621,625,628,643,646,650,653,669,672,680,684,691,702,706,713,727,731,751],[578,579,580],"p",{},"An operation is idempotent when performing it more than once has the same effect as performing it once. In payments, idempotency is what stops a network timeout, a double-clicked button or an automated retry from debiting a customer twice or paying a beneficiary twice.",[578,582,583],{},"Duplicates are one of the most damaging operational failures in payments: they create refund work, disputes, complaints and reconciliation breaks. The defences are simple in principle and worth building properly.",[585,586,588],"h2",{"id":587},"where-do-duplicate-payments-come-from","Where do duplicate payments come from?",[590,591,592,600,606,612],"ul",{},[593,594,595,599],"li",{},[596,597,598],"strong",{},"Timeouts and retries",": your system submits a collection, the response times out, and a retry submits it again. The first request may have succeeded even though you never saw the response.",[593,601,602,605],{},[596,603,604],{},"User behaviour",": a customer clicks pay twice, or an operator resubmits a batch that already went through.",[593,607,608,611],{},[596,609,610],{},"Duplicate webhook processing",": the same status event is delivered more than once and your handler acts on it twice.",[593,613,614,617],{},[596,615,616],{},"File resubmission",": a batch file is uploaded twice, or a corrected file overlaps with the original.",[578,619,620],{},"Notice the common thread: the retry itself is usually correct behaviour. The problem is retrying without a way for the receiving system to recognise the repeat.",[585,622,624],{"id":623},"how-do-idempotency-keys-work","How do idempotency keys work?",[578,626,627],{},"An idempotency key is a unique value your system generates for each logical operation and sends with the request. The provider stores the key with the outcome of the first attempt:",[629,630,631,634,637,640],"ol",{},[593,632,633],{},"You generate a unique key for the instruction, for example when the collection is created in your system.",[593,635,636],{},"You send the key with the API request.",[593,638,639],{},"If the request is retried with the same key, the provider returns the original result instead of processing it again.",[593,641,642],{},"A genuinely new operation gets a new key.",[578,644,645],{},"The key must be tied to the business operation, not the HTTP attempt. Generating a fresh key on every retry defeats the purpose entirely.",[585,647,649],{"id":648},"why-do-unique-client-references-matter","Why do unique client references matter?",[578,651,652],{},"Even where a formal idempotency key is not part of the interface, a unique client reference per instruction achieves much of the same protection:",[590,654,655,658,661],{},[593,656,657],{},"Banks and providers can reject or flag instructions that reuse a reference.",[593,659,660],{},"Duplicate collections in a batch file can be detected before processing.",[593,662,663,664,668],{},"Reconciliation can match every response, unpaid and settlement entry back to exactly one instruction, as covered in ",[665,666,667],"a",{"href":38},"payment statuses and references",".",[578,670,671],{},"Rules of thumb:",[590,673,674,677],{},[593,675,676],{},"Generate one reference per payment instruction and never reuse it, even for a resubmission of a failed collection: a resubmission is a new instruction referencing the old one.",[593,678,679],{},"Persist the reference before submitting, so a crash between submission and confirmation still leaves you able to query the outcome.",[585,681,683],{"id":682},"how-do-you-de-duplicate-inbound-events","How do you de-duplicate inbound events?",[578,685,686,687,690],{},"Idempotency applies to what you receive as well as what you send. ",[665,688,689],{"href":89},"Webhooks and callbacks"," are delivered at-least-once, so:",[590,692,693,696,699],{},[593,694,695],{},"Record the message ID of every processed event and skip repeats.",[593,697,698],{},"Make status updates idempotent: setting a payment to successful twice should be harmless.",[593,700,701],{},"Apply state-transition rules so a replayed older event cannot overwrite a newer status.",[585,703,705],{"id":704},"what-about-batch-files","What about batch files?",[578,707,708,709,712],{},"For ",[665,710,711],{"href":105},"batch file integrations",", duplicate protection works at two levels:",[590,714,715,721],{},[593,716,717,720],{},[596,718,719],{},"File level",": unique file names or sequence numbers, so the bank can reject a file it has already received. Verify acknowledgement files before assuming a submission needs to be resent.",[593,722,723,726],{},[596,724,725],{},"Record level",": unique instruction references within and across files, so an overlapping resubmission cannot debit the same customer twice.",[585,728,730],{"id":729},"a-practical-checklist","A practical checklist",[590,732,733,736,739,745,748],{},[593,734,735],{},"One unique reference or idempotency key per logical payment operation, generated and persisted before submission.",[593,737,738],{},"Retries always reuse the original key or reference.",[593,740,741,742,668],{},"Never resubmit on timeout without first querying the status of the original attempt, as discussed in ",[665,743,744],{"href":97},"retries and stuck payments",[593,746,747],{},"De-duplicate inbound events by message ID.",[593,749,750],{},"Alert on duplicate references detected anywhere in the pipeline.",[578,752,753,754,668],{},"Back to the ",[665,755,756],{"href":54},"Payment Operations hub",{"title":758,"searchDepth":759,"depth":760,"links":761},"",1,2,[762,763,764,765,766,767],{"id":587,"depth":760,"text":588},{"id":623,"depth":760,"text":624},{"id":648,"depth":760,"text":649},{"id":682,"depth":760,"text":683},{"id":704,"depth":760,"text":705},{"id":729,"depth":760,"text":730},"How idempotency keys, unique references and deduplication rules prevent double charges and duplicate collections when requests are retried.","md",null,{},{"title":92},{"title":573,"description":768},{"loc":93},"zX1ilOdT2pNbzHio-d7Uo8cHE12SRYDiB6XTwiBUbPA",[777,779],{"title":88,"path":89,"stem":90,"description":778,"children":-1},"How webhooks and callback APIs deliver payment status updates to your system, how to verify and acknowledge them, and how to handle missed events.",{"title":96,"path":97,"stem":98,"description":780,"children":-1},"Safe retry strategies for failed payments, how to investigate payments stuck in pending, and when to query the provider instead of retrying.",1785156460922]