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"
  }
}