# CRM payments

After a confirmed write, the response normally contains the reread payment. If that follow-up read fails, a successful response contains only `data.id` (for a position, `data.id` and `data.payment.id`) and `meta.readbackUnavailable: true`. The write has completed; inspect the returned ID before retrying a POST.

Create a payment for a deal: Bitrix24 creates the linked order. For an existing order use [order payments](./payments.md) with the sale scope. Both surfaces use the same payment ID. Scope here: crm.

## Flow

[Available rows](./crm-payments/available-products.md) → [create payment](./crm-payments/create.md) with zero amount → [add position](./crm-payments/products-add.md) with rowId and integer quantity → [check amount](./crm-payments/get.md) → [mark paid](./crm-payments/pay.md). Marking paid does not transfer money and can trigger automation, email, or a fiscal receipt.

## Operations

- [`GET /v1/crm-payments`](./crm-payments/list.md) — `crm.item.payment.list`
- [`GET /v1/crm-payments/available-products`](./crm-payments/available-products.md) — `crm.item.productrow.getAvailableForPayment`
- [`GET /v1/crm-payments/:id`](./crm-payments/get.md) — `crm.item.payment.get`
- [`POST /v1/crm-payments`](./crm-payments/create.md) — `crm.item.payment.add`
- [`PATCH /v1/crm-payments/:id`](./crm-payments/update.md) — `crm.item.payment.update`
- [`POST /v1/crm-payments/:id/pay`](./crm-payments/pay.md) — `crm.item.payment.pay`
- [`POST /v1/crm-payments/:id/unpay`](./crm-payments/unpay.md) — `crm.item.payment.unpay`
- [`DELETE /v1/crm-payments/:id`](./crm-payments/delete.md) — `crm.item.payment.delete`
- [`GET /v1/crm-payments/:id/products`](./crm-payments/products-list.md) — `crm.item.payment.product.list`
- [`POST /v1/crm-payments/:id/products`](./crm-payments/products-add.md) — `crm.item.payment.product.add`
- [`PATCH /v1/crm-payments/:id/products/:itemId`](./crm-payments/products-update.md) — `crm.item.payment.product.setQuantity`
- [`DELETE /v1/crm-payments/:id/products/:itemId`](./crm-payments/products-delete.md) — `crm.item.payment.product.delete`
