Payment Flow
Overview
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Merchant │ │ Bedrock │ │ Customer │ │ Blockchain │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │ │
│ Create Charge │ │ │
│──────────────────>│ │ │
│ │ │ │
│ Return paymentUrl │ │ │
│<──────────────────│ │ │
│ │ │ │
│ Redirect customer │ │ │
│───────────────────────────────────────> │
│ │ │ │
│ │ Select chain │ │
│ │<──────────────────│ │
│ │ │ │
│ │ Deploy clone │ │
│ │──────────────────────────────────────>│
│ │ │ │
│ │ Show address │ │
│ │──────────────────>│ │
│ │ │ │
│ │ │ Send USDC │
│ │ │──────────────────>│
│ │ │ │
│ │ Detect payment │ │
│ │<──────────────────────────────────────│
│ │ │ │
│ │ Flush to merchant│ │
│ │──────────────────────────────────────>│
│ │ │ │
│ Webhook │ │ │
│<──────────────────│ │ │
│ │ │ │
│ Fulfill order │ │ │
│──────────────────>│ │ │
│ │ │ │Step-by-Step
1. Merchant Creates Charge
2. Customer Visits Payment Page
3. Customer Selects Chain
4. Customer Sends Payment
5. Payment Detection
6. Automatic Settlement
7. Merchant Receives Webhook
8. Order Fulfillment
Timing
Phase
Duration
Partial Payments
Partial Payment Flow
Expiry Behavior
Merchant Configuration
Setting
Default
Description
Near-Complete Payments
Error Scenarios
Customer doesn't select chain
Customer doesn't pay after chain selection
Customer sends partial payment
Customer sends wrong amount (overpayment)
Customer sends to expired charge
Last updated