Sapa Moto

Наложенный платёж

Курьер принимает оплату за ваш товар — наличными или через ваш Kaspi QR.

Наложенный платёж включается для организации в договоре. Без него заказ с cod отклоняется с 422 cod_not_allowed; сумма выше лимита договора — 422 cod_limit_exceeded.

Заказ с наложенным платежом
{
  "external_id": "SHOP-100246",
  "pickup": { "point_id": "0192e8a0-11aa-7b3c-9d4e-6f7a8b9c0d1e" },
  "dropoff": { "address": "Алматы, Жандосова 58", "latitude": 43.214, "longitude": 76.88 },
  "recipient": { "phone": "+77011234567" },
  "cod": { "amount_tiyn": 500000, "method": "cash" }
}

amount_tiyn — сумма к получению в тиынах (5 000 ₸ = 500000). Наложенный платёж добавляет доплату к цене доставки — передайте тот же cod в расчёт.

Два способа

methodКак платит получательКуда идут деньги
cashналичными курьерукурьер оставляет их у себя; сумма зачитывается в счёт за доставку (settlement: to_offset); если наличных больше счёта, Sapa Moto перечисляет разницу вам
kaspi_qrсканирует ваш Kaspi QRнапрямую вам (settlement: paid_to_client); деньги не проходят через Sapa Moto

Kaspi QR: передайте статус оплаты

Для kaspi_qr курьер вручает заказ только после подтверждения оплаты. Ваша система узнаёт его от Kaspi и передаёт нам:

curl
curl https://partner.sapamoto.kz/v1/orders/SHOP-100246/payment \
  -H "Authorization: Bearer $SAPA_KEY" -H "Content-Type: application/json" \
  -d '{"status": "paid", "reference": "KASPI-7788123"}'

status — paid или failed; в заказе он виден как payment_status.

При вручении

order.delivered несёт, что принято:

POST <your URL> — order.delivered
{
  "api_version": "v1",
  "created_at": "2026-10-24T09:12:30Z",
  "data": {
    "cod": {
      "amount": {
        "amount": 500000,
        "currency": "KZT"
      },
      "method": "cash",
      "settlement": "to_offset"
    },
    "external_id": "SHOP-100245",
    "order_id": "0192f1b2-6d4e-7a10-b3c2-8e1f0d9a4c57",
    "proof": {
      "code_verified": true,
      "delivered_at": "2026-10-24T09:53:10Z",
      "latitude": 43.21402,
      "longitude": 76.88011,
      "method": "code_and_photo"
    },
    "status": "delivered",
    "version": 9
  },
  "event_id": "0192f1c5-0a1b-7c2d-8e3f-4a5b6c7d8e9f",
  "livemode": true,
  "order_id": "0192f1b2-6d4e-7a10-b3c2-8e1f0d9a4c57",
  "order_version": 9,
  "type": "order.delivered"
}

Фискальный чек. Электронный фискальный чек покупателю отправляет продавец (вы) — используйте order.delivered как сигнал. GET /v1/orders/{id}/proof тоже возвращает cod.

Заказы с наличными попадают в сверку периода со статусом «к зачёту».

Документация собирается из спецификации OpenAPI платформы. Скачать OpenAPI