Skip to content

§00Integrations / Payments

Stripe integration: Every Stripe payment, matched to the invoice it pays.

Stripe pays out net of fees, retries webhooks for up to three days and doesn't promise their order. Your ERP needs receipts, fees and bank deposits that add up. PartnerMCP verifies every event, matches payments to open invoices by reference — never by amount alone — reconciles payouts through balance transactions, and holds whatever doesn't match for a person.

How PartnerMCP connects

01Primary path

REST API with a restricted key

A restricted, least-privilege key per integration; cursor pagination with starting_after; and the API version pinned with Stripe-Version — 2026-09-30.endive is current.

Product
Stripe
Vendor
Stripe
Category
Finance
Runs
Cloud
Connects through
REST + webhooks
Detects changes with
webhooks (payment_intent.succeeded, invoice.paid)
On this page
  1. 01What you can build
  2. 02Objects and events
  3. 03What it handles
  4. 04Pairings
  5. 05Questions
  6. 06References
§01—What you can build

What you can build.

Each one starts as a sentence. PartnerMCP answers with a plan in Stripe’s own objects, then builds it against your systems.

01Stripe → Priority ERP

“Automatically match Stripe payments to Priority ERP invoices and synchronize payment status.”

Build this integration

PartnerMCP will

  1. Verify Stripe-Signature on payment_intent.succeeded and invoice.paid; drop duplicate events.
  2. Find the open Priority invoice by the reference stored when it was billed.
  3. Post the receipt in Priority and apply it to the invoice.
  4. Reconcile each payout's fees and net amount through BalanceTransaction.
  5. Hold partial, over- and unmatched payments for review.

02Stripe → NetSuite

“Record Stripe payments as customer payments against NetSuite invoices and reconcile each payout.”

Build this integration

PartnerMCP will

  1. Match each payment to its open NetSuite invoice.
  2. Create the customerpayment applied to that invoice, with an idempotency key on retries.
  3. On payout.paid, list the payout's balance transactions and check that gross, fees and net add up.

03Disputes to finance

“When a payment is disputed, flag the invoice in the ERP and alert finance in Slack.”

Build this integration

PartnerMCP will

  1. Receive charge.dispute.created and find the ERP invoice the charge paid.
  2. Flag the invoice and its customer in the ERP.
  3. Post the dispute, amount and deadline to the finance channel in Slack.
§02—Objects and events

Objects and events, by their API names.

The records PartnerMCP reads and writes in Stripe, and the events that start a run.

  • Payment intent

    PaymentIntent

    The payment itself: payment_intent.succeeded and payment_intent.payment_failed.

  • Charge

    Charge

    The attempt behind a payment, where refunds and disputes attach.

  • Invoice

    Invoice

    Stripe Billing invoices: invoice.finalized, invoice.paid and invoice.payment_failed.

  • Refund and credit note

    RefundCreditNote

    Money returned, and corrections to an invoice.

  • Dispute

    Dispute

    charge.dispute.created starts the dispute flow.

  • Balance transaction

    BalanceTransaction

    fee, net, reporting_category, source and available_on — the bridge from individual payments to the payout that reaches your bank.

  • Payout

    Payout

    payout.paid marks the deposit to reconcile.

  • Customer and subscription

    CustomerSubscription

    With customer.subscription.updated and customer.subscription.deleted.

Events

  • Payments

    payment_intent.succeeded and payment_intent.payment_failed.

  • Invoices

    invoice.finalized, invoice.paid, invoice.payment_succeeded and invoice.payment_failed.

  • Refunds and disputes

    charge.refunded, refund.created, refund.updated and charge.dispute.created.

  • Payouts

    payout.paid, the trigger for reconciling a deposit.

  • Delivery rules

    In live mode Stripe retries for up to three days with exponential backoff, without an ordering guarantee and with possible duplicates. PartnerMCP de-duplicates on the event ID and re-reads the object before it writes to the ERP.

§03—What it handles

What PartnerMCP handles for you.

The details that break Stripe integrations in production, and what PartnerMCP does about each one.

  1. 01

    Net payouts, gross invoices

    Stripe deposits the net amount after fees, so a payout rarely equals any one invoice. PartnerMCP uses BalanceTransaction and Payout data to post receipts at gross and fees separately, so the bank line reconciles.

  2. 02

    Duplicates and out-of-order events

    Events can repeat and arrive in any order, and manual resends don't cancel automatic retries. PartnerMCP de-duplicates on the event ID and always reads the current object before acting.

  3. 03

    Idempotency done right

    Stripe stores the first response for a key — even a 500 — and errors if a retry changes the parameters. PartnerMCP derives each key from the ERP record it writes, never from personal data.

  4. 04

    Rate limits

    100 requests a second in live mode and 25 in sandboxes, 25 a second on most individual endpoints and 20 reads a second for Search. A 429 carries Stripe-Rate-Limited-Reason, and PartnerMCP slows down accordingly.

  5. 05

    Money moves only with approval

    Reconciliation flows read payments and write ERP receipts. Refunds and outbound payments wait for a person, matching what Stripe's own MCP server requires.

  6. 06

    Version pinning

    Stripe ships monthly releases and two major versions a year. PartnerMCP pins Stripe-Version per integration and treats an upgrade as a tested change.

§04—Pairings

Pairings, step by step.

Each pair page has the plan, the field mapping and the edge cases for that combination.

§05—Questions

Stripe integration questions.

Does PartnerMCP move money in Stripe?

Not by default. Reconciliation flows read payments and post receipts to your ERP. Refunds and outbound payments are held for a person to approve — Stripe's MCP server requires that confirmation too.

What access does it need?

A restricted API key with read access to the objects a flow uses, and a webhook endpoint secret for verifying events. Full-access secret keys aren't needed.

How does it match payments without guessing?

By reference: the invoice number or ERP ID stored on the Stripe invoice or payment when it was created. Partial payments, overpayments and anything without a reference go to a review queue.

Does the December 2026 MCP change affect us?

Only if something connects to Stripe's MCP server with a full-access secret key; from December 2026 that server accepts OAuth or agent API keys. PartnerMCP's reconciliation flows use the REST API with restricted keys.

§06—References

Vendor documentation.

The public documentation behind the technical details on this page.

§07Next step

Connect Stripe to the rest of your systems.

Describe what should happen. PartnerMCP shows you the plan before anything is built.