The checkout payment flow may vary depending on marketplace design and envisioned checkout call-to-action (CTA) of the purchasing flow. While Invoice and Order entities are generated during checkout, the method by which payment is executed varies depending on business design.
Arcadier supports multiple payment execution paths without altering the underlying entity structure. Regardless of execution model, Orders remain the merchant-level obligation record and PaymentStatus must be updated explicitly.
Types of Payment Paths / Checkout CTAs
1. Immediate Gateway Payment
In a standard marketplace configuration:
- The checkout CTA initiates payment through an integrated gateway (e.g., Stripe, PayPal).
- The gateway processes the payment immediately.
- A Transaction ID is generated by the gateway.
- The Order’s PaymentStatus is updated (e.g., to Paid).
In multi-merchant scenarios, this results in x+1 Transactions:
- One Transaction per Merchant.
- One Transaction for Admin commission.
Support payment gateways include:
- Stripe, Omise (pre-integrated on the platform).
- Cash on Delivery (COD).
- Generic Custom Payment via API integration.
2. Authorization-Only (Delayed Capture)
In some use cases, payment may be authorized at checkout but captured later (e.g., after merchant confirmation). In this model:
- Checkout triggers a payment authorization.
- PaymentStatus may reflect a pending or authorized state.
- Capture is executed later via API or gateway action.
- PaymentStatus must be updated accordingly.
This model is common in booking systems or marketplaces where inventory confirmation is required before charge finalization.
3. Offline Payment (External Settlement)
Some marketplaces do not process payment through an integrated gateway. Examples include:
- Bank transfer, Manual invoice settlement, External corporate payment system.
In these cases:
- Checkout still generates Invoice and Orders.
- No gateway Transaction ID may exist.
- PaymentStatus must be updated manually or via API once payment confirmation is received.
- Optional external transaction references may be recorded for reconciliation.
The system does not assume payment completion unless explicitly updated.
4. Cash on Delivery (COD)
In COD models:
- Orders are generated at checkout.
- Payment occurs outside the platform upon delivery.
- PaymentStatus typically remains in a pending state until manually updated.
- A Transaction record may not exist unless recorded programmatically.
Custom OrderStatus option must be implemented to update PaymentStatus when COD payment is confirmed.