Payment Lifecycle
Every payment goes through a series of statuses:
| Status | Description |
|---|---|
open | Payment created, waiting for customer |
paid | Full amount received, settlement in progress |
underpaid | Partial amount received, waiting for top-up |
underpaid_accepted | Merchant accepted partial payment, settlement in progress |
canceled | Payment was canceled by the merchant or customer |
expired | Payment timed out (30 minutes) |
refunded | Payment was refunded |
Settlement
When a payment is markedpaid, the settlement process begins automatically:
- Platform fee is deducted
- Partner commission is calculated (if applicable)
- Net amount is transferred to the merchant’s receive account
- Webhook is sent with
settlement_status: "paid"
Amounts
All amounts in the API are in the smallest unit of the currency:1000USD = $10.00settlement_amountof1000= 10.00 USDC
Creating a Payment
The
amount.value is in the smallest unit of the currency. For USD, this means cents.
So 1000 = $10.00.checkout_id and a qrCode (SEP-7 URI) that the customer can scan with any Stellar wallet.