CreatePayment
[POST] .../v1/promobonus/createpayment
Creates a manual bonus write-off or deposit operation Use this method to create a pending bonus payment operation for a retail sale document before posting it with PromoBonus/PerformPayment. The request requires card_id, promo_id, positive value, document_uuid and is_return; non-return payments withdraw bonuses and return payments create the reverse bonus movement. The method requires the promo bonus add permission, locks the card_id while processing, checks the one_time_withdrawal setting, verifies the card bonus balance for write-offs and returns new_uuid. Business errors such as a missing body, invalid required fields, denied access, missing promotion settings or card balance, insufficient balance, exceeded withdrawal limit, deleted state, database errors or persistence failures are returned as HTTP 200 ErrorResult.
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| card_id | Int64 | Required | Customer card ID. |
| document_uuid | String | Required | UUID of the retail sale document (cheque) linked to the bonus payment operation. |
| is_return | Boolean | Required | Indicates that the payment operation is a return; true creates the reverse income movement, false withdraws bonuses. |
| promo_id | Int64 | Required | Promotion ID. |
| value | Decimal | Required | Bonus value to withdraw from the customer card or return to it. Must be greater than zero. |
Request Example
{
"card_id": 1,
"document_uuid": "00000000-0000-0000-0000-000000000000",
"is_return": true,
"promo_id": 1,
"value": 1.0
}
Response Parameters
| Name | Type | Description |
|---|---|---|
| ok | Boolean | Indicates whether the request completed successfully. |
| result | Insert_uuid | Created UUID record result. |
Response Example
{
"ok": true,
"result": {
"new_uuid": "00000000-0000-0000-0000-000000000000"
}
}