Skip to content

Migration Guide

Move from Stripe, PayPal, or an in-house rail without breaking your existing integrations.

Updated Jul 15, 2026API 2026-07-01 Edit on GitHubReport an issue

Concept mapping

FieldTypeDescription
Stripe PaymentIntent
→ PaymentSame 3-state lifecycle. Field names are 1:1 for amount, currency, customer.
Stripe Customer
→ CustomerFields map directly. Import via CSV.
Stripe Payout
→ SettlementBatch semantics are identical.
PayPal Order
→ Payment (manual capture)Use capture_method: 'manual' for authorize/capture flows.

Migration strategy

  1. 1Dual-write
    Send new payments to both systems for 2 weeks and reconcile daily.
  2. 2Cutover reads
    Switch reads to Korven once reconciliation reaches zero delta.
  3. 3Retire the old rail
    Stop writes; keep old system in read-only mode for support cases.