cimplify

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/process

Process Checkout

Initiates payment and order creation from the current cart.

Request Body

FieldTypeDescription
cart_idstringCart identifier (required)
order_typestringdelivery, pickup, or dine_in (required)
location_idstringFulfillment location
notesstringOrder notes
scheduled_timestringISO 8601 timestamp for scheduled orders
tip_amountstringTip amount (decimal string)
pay_currencystringCurrency 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

MethodDescription
cardCredit/debit card via Elements iframe
mobile_moneyMobile money (MTN MoMo, Vodafone Cash, etc.)
bank_transferDirect bank transfer
cashPay on delivery/pickup

Checkout Flow

The typical checkout flow is:

  1. Customer adds items to cart via POST /api/v1/cart/items
  2. Customer authenticates via POST /api/v1/auth/otp/request + verify
  3. Payment is collected through the Elements iframe
  4. Your app calls POST /api/v1/checkout/process
  5. Order is created and returned