Payments
Payment is processed through the checkout flow. There is no direct payment API -- the checkout endpoint orchestrates everything.
Payment collection happens inside the Cimplify Elements iframe. Your storefront never handles raw card data.
POST
/api/v1/checkout/processProcess Checkout
Initiates payment and order creation from the current cart.
Request Body
| Field | Type | Description |
|---|---|---|
cart_id | string | Cart identifier (required) |
order_type | string | delivery, pickup, or dine_in (required) |
location_id | string | Fulfillment location |
notes | string | Order notes |
scheduled_time | string | ISO 8601 timestamp for scheduled orders |
tip_amount | string | Tip amount (decimal string) |
pay_currency | string | Currency to pay in (for multi-currency stores) |
Example Request
curl
curl -X POST https://storefront.cimplify.io/api/v1/checkout/process \
-H "X-API-Key: pk_test_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"cart_id": "cart_xyz789",
"order_type": "pickup",
"location_id": "loc_main",
"tip_amount": "2.00"
}'Supported Payment Methods
| Method | Description |
|---|---|
card | Credit/debit card via Elements iframe |
mobile_money | Mobile money (MTN MoMo, Vodafone Cash, etc.) |
bank_transfer | Direct bank transfer |
cash | Pay on delivery/pickup |
Checkout Flow
The typical checkout flow is:
- Customer adds items to cart via
POST /api/v1/cart/items - Customer authenticates via
POST /api/v1/auth/otp/request+verify - Payment is collected through the Elements iframe
- Your app calls
POST /api/v1/checkout/process - Order is created and returned