Skip to content

Integrations and platforms

BaaS and partner bank integration testing

BaaS and partner bank integration testing verifies how a fintech product connects to a Banking-as-a-Service provider or partner bank: API contracts, webhook delivery and retries, programme limits, and KYC gates. Buyers receive an API contract test suite, a webhook delivery, ordering, and retry test report, programme control and limit checks, and a partner bank due diligence test evidence pack.

What BaaS and partner bank integration testing includes

We test the boundary between your product and the BaaS provider or partner bank behind it: the calls you make, the events you receive, and the limits the bank sets. The Banking-as-a-Service segment page covers ledger failures against the bank core and the supervisory expectations behind them. Sources below were checked on 2026-09-16.

Provider API contracts

  • Status and schema drift. Contract tests compare every response the product reads with the provider's API specification and with recorded sandbox responses. A provider that adds a bank-initiated account restriction status breaks a client that maps unknown statuses to "active", and the product keeps accepting transfers into a restricted account.
  • Amounts. Create, read, and list calls round-trip amounts in minor units and as decimal strings, including currencies whose ISO 4217 minor unit is not 2. A client that assumes two decimal places shows a wrong balance for every such account.
  • Errors and retries. Each provider error maps to one product state and one customer message. A 429 rate-limit response shown as a decline tells the end user that a payment failed, and a later retry without the original idempotency key sends the payment twice.
  • List pagination. Transaction list calls run across page boundaries while new items post. A cursor that skips an item posted mid-page removes the item from the product's daily reconciliation.

Generic contract generation and API version checks for your own public API belong to API and webhook testing.

Webhook delivery, ordering, and retries

  • Duplicates. Each provider event arrives twice, once with a new delivery ID, and the ledger shows one posting. The BaaS webhook reliability guide describes the replay harness.
  • Out-of-order events. An ACH return event delivered before its settlement event leaves the transfer returned. A handler that applies events in arrival order marks the credit settled after the return and releases funds that the programme reserve then covers.
  • Undelivered events. The endpoint fails until the provider's retry schedule ends. The backfill job that reads the provider's event list must repair the product state; without it, a card that the partner bank closed stays active in the app.
  • Signatures. HMAC signatures are verified on the raw request body, both secrets pass during a secret rotation, and a replayed event outside the timestamp tolerance fails.

Programme controls and limits

  • Limits per channel. Values below, at, and above each per-transaction, daily, and per-end-user limit run through the app, the API, batch upload, and scheduled transfers.
  • Concurrency. Two requests in the same second each pass the daily limit alone and exceed it together. A check that reads the used amount before either request posts approves both.
  • Reset and change timing. Daily limits reset in the time zone the programme agreement names, and a limit the bank lowers mid-day applies to the next request.
  • Gates. No card is issued and no ACH debit is originated before KYC approval, and Nacha Rules Subsection 2.5.17.4 requires validation of a WEB debit account number before its first use and after any change to it (Nacha testing requirements).
  • Consumer disputes. A notice of error that the app accepts reaches the provider's dispute API with its received time. The test checks the timer for 12 CFR 1005.11(c)(1), under which the financial institution shall investigate promptly and, except as provided in (c)(2) and (c)(3), determine whether an error occurred within 10 business days of receiving the notice (Regulation E testing requirements covers the extensions).

Nacha's summary of the Third-Party Sender Roles and Responsibilities rule (effective 30 September 2022) lists setting and enforcing customer exposure limits among the ODFI risk management requirements. A limit bypass lets an Originator send debits above the exposure limit the ODFI set. Any debit returned as R10 (unauthorised) counts toward the Originator's 0.5% unauthorised return rate threshold in Nacha Rules Subsection 2.17.2.

Partner bank due diligence evidence

  • Test records. Each run records the provider API version, the environment, the run date, and the change ticket, so the same records serve SOC 2 change management sampling under CC8.1.
  • Card data scope. Where the product or the platform handles cardholder data, the pack lists which PCI DSS v4.0.1 requirements each party manages, the split that service providers give upon customer request under requirement 12.9.2 (PCI DSS testing requirements).
  • Service provider assessment. A financial institution under the FTC Safeguards Rule must periodically assess its service providers based on the risk they present and the continued adequacy of their safeguards (16 CFR 314.4(f)(3)). The evidence pack is input to that assessment of a BaaS provider: API contract results, webhook delivery results, and limit and gate results against the programme agreement.

Deliverables

  • API contract test suite

    Automated tests that check every provider request and response the product uses against the provider's API specification, error codes, and recorded sandbox responses, and run in the client's CI pipeline.

  • Webhook delivery, ordering, and retry test report

    Results per provider event type for duplicate, out-of-order, delayed, unsigned, and undelivered events, with the ledger posting and product state after each case, for the engineering lead.

  • Programme control and limit checks

    Test values below, at, and above each limit and gate in the partner bank programme agreement, per channel, with the expected and actual decision, for the engineering lead and the bank's programme reviewer.

  • Partner bank due diligence test evidence pack

    Test scope, environments, provider API versions, run dates, results, and open defects with retest status, mapped to the partner bank's due diligence questionnaire for the bank's third-party risk reviewer.

How partner bank integration testing fits your release process

On every merge. The API contract test suite runs in CI against a mock server built from the provider's specification and recorded responses. It fails the build on a new enum value, a removed field, or a changed error code. Test end users are synthetic, sandbox KYC outcomes replace real identity data, and no production account data enters the pipeline.

Nightly. The same suite runs against the provider sandbox and reports drift between the sandbox and the recorded responses. A provider API version notice starts a run against the new version before the deprecation date.

Before release. Webhook tests replay duplicate, reordered, delayed, and unsigned events into staging, and stop the endpoint past the retry schedule to test the backfill job. Programme control and limit checks run when the release changes a limit, a gate, or a channel, and when the bank changes a value in the programme agreement.

Before partner bank review. Ahead of programme launch, a new bank, or the bank's periodic review, we run all suites in the provider's certification or sandbox environment and assemble the due diligence test evidence pack. The partner bank integration scenario sets out the launch sequence.

After release. A smoke check sends a provider test event, verifies the signature and the posting, and compares the day's received events with the provider's event list.

Handover. Suites live in your repository, results go to your evidence folder with the change ticket, and the pack maps to the bank's questionnaire. Your team owns the bank relationship, the programme agreement and its limit values, production credentials, and the answers you send the bank.

Sample deliverable

Sample, synthetic data

test evidence packTest evidence pack: card payments and account access release
Test evidence pack: card payments and account access release
Control or requirementTest case IDsRun dateResultEvidence fileReviewer role
PCI DSS v4.0.1 3.3.1: the card verification code is not stored after authorisationTC-PCI-031, TC-PCI-032, TC-PCI-033, TC-PCI-0342026-09-08Passed: 4 of 4 test cases, no card verification code found in databases, logs, or queuesEP-01_pci-3.3.1_data-store-search.csvSecurity test lead
PCI DSS v4.0.1 3.4.1: a displayed PAN shows at most the BIN and the last four digitsTC-PCI-040, TC-PCI-041, TC-PCI-0422026-09-10Passed on retest: 3 of 3 test cases after the fix for defect DEF-118 (full PAN on the support detail view)EP-02_pci-3.4.1_masking-per-role_retest.pdfQA lead
PCI DSS v4.0.1 6.2.4: the refund API rejects a refund on a payment that another account ownsTC-SEC-210, TC-SEC-2112026-09-09Passed: 2 of 2 test cases, each cross-account refund request returned HTTP 404EP-03_pci-6.2.4_refund-object-authorisation.pdfSecurity test lead
SOC 2 CC6.2: sessions and API tokens of a deactivated user are rejectedTC-ACC-015, TC-ACC-016, TC-ACC-0172026-09-09Passed: 3 of 3 test cases, each request after deactivation returned HTTP 401EP-04_soc2-cc6.2_deprovisioning-log.csvQA lead
SOC 2 CC8.1: every change in the release ran the regression suite before productionRUN-REG-0907, RUN-REG-09102026-09-10Passed: 27 of 27 change tickets link to a green CI runEP-05_soc2-cc8.1_ci-runs-per-change.csvTest automation lead
PSD2 RTS Article 4(3)(b): access is blocked after five consecutive failed authentication attemptsTC-SCA-007, TC-SCA-008, TC-SCA-009, TC-SCA-0102026-09-10Failed: 3 of 4 test cases passed; the app resets the attempt counter on a new session (defect DEF-131, release blocker)EP-06_rts-art4-3b_lockout-per-channel.pdfQA lead
PSD2 RTS Article 5(1): the payment executes only with the amount and payee shown at authenticationTC-SCA-020, TC-SCA-021, TC-SCA-0222026-09-08Passed: 3 of 3 test cases, a changed payee after authentication invalidated the authentication codeEP-07_rts-art5-1_dynamic-linking.csvPayments QA engineer
PSD2 RTS Article 10a: account information access through a third-party provider requires SCA again after 180 daysTC-AIS-004, TC-AIS-005, TC-AIS-0062026-09-09Passed: 3 of 3 test cases, access allowed on day 179 and refused on day 181 without a new SCAEP-08_rts-art10a_access-decisions.csvPayments QA engineer

Test case IDs, defect IDs, run dates, and evidence file names belong to a fictional release; PAN checks used scheme test card numbers, and no real account, customer, or person appears.

Questions

What is a partner bank?

A partner bank is a chartered bank that holds the deposits, issues the cards, or originates the payments behind a fintech product that has no bank charter of its own. The partner bank approves the programme, sets the programme limits, and oversees the fintech company and any Banking-as-a-Service platform as third parties.

What is a sponsor bank?

A sponsor bank is a bank that uses its own card network membership or its own ACH network access to let a non-member company run a card programme, accept card payments, or originate ACH entries. The sponsor bank stays responsible to the card network or to the ACH network for the sponsored company's transactions and rule compliance.

Scope your partner bank integration testing

Send your BaaS provider or partner bank set-up, the limits in your programme agreement, and the webhook events you consume, and we return a test scope for the four deliverables.

Scope your testing