Skip to main content

FAQ — Payments & Escrow

Cards, bank, crypto, and escrow.

C
Written by Catalin Fetean
Updated over 3 weeks ago

Which payment rails are supported?

  • Cards (Stripe): Payment Intents, hosted Checkout.

  • Bank / Open Banking: SEPA/FPS via payment link + webhook settlement.

  • Crypto: Wallet‑based USDC/ETH, on‑chain escrow.
    All rails normalize to the same order/payment model with webhook‑confirmed settlement.


How do refunds work?

  • Initiate in the provider dashboard (e.g., Stripe).

  • Provider sends a webhook (e.g., charge.refunded).

  • TradeOS marks the payment as refunded and updates order status.
    Partial refunds are supported; invoices and summaries reflect the refunded amount.


Can I save a card on file?

Yes (Stripe). Use Payment Methods / Setup Intents.
Guidance

  • Ensure you have customer consent.

  • Comply with PCI and regional regulations (SCA).


Do you support recurring payments?

Yes. Use recurring invoices or Stripe Subscriptions.

  • For retainers, set monthly invoices with automatic collection.

  • Webhooks reconcile each period’s payment into the matching order or ledger entry.


How does escrow protect me?

Funds are locked until milestones are approved.

  • Buyers gain delivery assurance.

  • Sellers gain payout assurance upon acceptance.

  • Disputes decide releases/refunds when there’s disagreement.


Can admins force escrow release?

Yes, as part of dispute resolution. Admins can order refund_full, refund_partial, or release_to_seller with justification. All actions are logged and affect reputation.


Can I price in fiat but pay in crypto?

Yes. Quote in USD/EUR, settle in USDC/ETH. The conversion timing (quote vs. settlement) is defined by your org policy.


How do I reconcile payments across providers?

  • Store a reference (e.g., Stripe PI ID / bank reference / tx hash).

  • Use webhooks to mark final status.

  • Export payments ledger for accounting; include currency, amount, fees, and references.


How do I test card flows safely?

Use Stripe test keys and test cards.

stripe listen --forward-to localhost:3000/api/webhooks/stripe

Confirm webhooks are received; verify order status moves to DepositPaid.


Do you handle SCA/3DS?

Yes (Stripe). Payment Intents/Checkout handle 3DS automatically. Your UI should display the challenge flow when required.


Did this answer your question?