SwiftGoma.SwiftGoma

Search endpoints

Jump to any API endpoint by name, method, or path

Checkout & Orders

Checkout

POST/api/v1/orders/checkout

Converts a shop's cart into an order and initiates payment. Idempotent — retrying an identical checkout request with the same idempotency key returns the original order instead of creating a duplicate.

Requires Authorization
Payment

Body parameters

shopIdstringrequired
The shop being checked out — its cart must have at least one item.
paymentMethodstringrequired
e.g. MOBILE_MONEY.
fulfillmentMethodstringrequired
DELIVERY or PICKUP.
deliveryAddressstring
10–300 characters. Required when fulfillmentMethod is DELIVERY.
deliveryLatitudenumber
Required when fulfillmentMethod is DELIVERY.
deliveryLongitudenumber
Required when fulfillmentMethod is DELIVERY.
payerPhoneNumberstringrequired
Mobile money number to charge.
networkstringrequired
Mobile money provider.
countryCodestringrequired
ISO country code.
currencystringrequired
USD or CDF.

Notes

  • The order starts as AWAITING_PAYMENT and moves to PENDING_SELLER_REVIEW automatically once the payment provider confirms the charge.
  • Send an Idempotency-Key header to make retries safe.
Request
curl --request POST \
  --url https://api.swiftgoma.com/api/v1/orders/checkout \
  --header 'Authorization: Bearer <access_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "shopId": "<shopId>",
  "paymentMethod": "<paymentMethod>",
  "fulfillmentMethod": "<fulfillmentMethod>",
  "deliveryAddress": "<deliveryAddress>",
  "deliveryLatitude": "<deliveryLatitude>",
  "deliveryLongitude": "<deliveryLongitude>",
  "payerPhoneNumber": "<payerPhoneNumber>",
  "network": "<network>",
  "countryCode": "<countryCode>",
  "currency": "<currency>"
}'
201Example response
{
  "success": true,
  "data": {
    "id": "ord_5e6f7a",
    "buyerId": "3f2a1c9e",
    "shopId": "shop_2b3c4d",
    "status": "AWAITING_PAYMENT",
    "fulfillmentMethod": "DELIVERY",
    "paymentMethod": "MOBILE_MONEY",
    "currency": "USD",
    "deliveryAddress": "12 Avenue du Lac, Goma",
    "deliveryFee": "2.00",
    "subtotal": "25.00",
    "total": "27.00",
    "items": [
      {
        "id": "oitem_1a2b3c",
        "productId": "prod_7c8d9e",
        "variantId": "var_4d5e6f",
        "name": "Riz parfumé 25kg",
        "quantity": 2,
        "unitPrice": "12.50",
        "lineTotal": "25.00"
      }
    ],
    "createdAt": "2026-02-15T09:00:00.000Z",
    "updatedAt": "2026-02-15T09:00:00.000Z"
  }
}