Skip to main content

Finalize payment

PUT https://wallet.paysera.com/rest/v1/payment/{paymentId}/finalize

Finalize a frozen payment, either overriding the freeze to complete it at the reserved price, or settling it at a smaller final price.

Send price and currency to finalize below the frozen amount — the difference is returned to the sender as a new transfer (e.g. a 3 EUR freeze finalized at 1 EUR returns 2 EUR).

Authorization​

This endpoint requires MAC (Message Authentication Code) authentication.

Authorization Header Format:

Authorization: MAC id="CLIENT_ID", ts="TIMESTAMP", nonce="RANDOM_STRING", mac="MAC_HASH", ext="body_hash=BODY_HASH"

Example:

Authorization: MAC id="a9b8c7d6e5f4g3h2", ts="1234567890", nonce="xyz123abc456def", mac="dGhpcyBpcyBhIHJhbmRvbSBtYWMgaGFzaCB2YWx1ZQ==", ext="body_hash=cmFuZG9tQm9keUhhc2hWYWx1ZQ%3D%3D"

For more details, see the Authentication section.

Parameters​

Path Parameters​

NameTypeRequiredDescription
paymentIdinteger✓Payment identifier

Request Body​

The request body is optional. If omitted entirely (not sent as {}), the payment is completed at the originally reserved price, overriding the freeze. If a body is sent, both fields below are required.

FieldTypeRequiredDescription
priceintegerYes, if body is sentFinal price in cents (must be ≤ original reserved price, > 0)
currencystringYes, if body is sentCurrency code (must match original payment's currency)

Example​

Request​

PUT https://wallet.paysera.com/rest/v1/payment/{paymentId}/finalize
Content-Type: application/json
Authorization: MAC id="CLIENT_ID", ts="TIMESTAMP", nonce="RANDOM_STRING", mac="MAC_HASH", ext="body_hash=BODY_HASH"
{
"price": 299,
"currency": "EUR"
}

Response​

{
"id": 2987,
"transaction_key": "pDAlAZ3z",
"created_at": 1355314332,
"status": "done",
"cancelable": false,
"price": 1299,
"currency": "EUR",
"price_decimal": "12.99",
"wallet": 123456,
"confirmed_at": 1355314365,
"freeze": {
"for": 3600
},
"freeze_for": 1,
"description": "Payment for order No. 1234",
"parameters": {
"orderid": 1234
},
"transfer_id": 12345678
}

AUTHORIZATION: HTTP

REQUEST

Base URL
https://wallet.paysera.com
Body REQUIRED
{
"price": 299,
"currency": "EUR"
}

RESPONSE

Payment finalized
{
"id": 2987,
"transaction_key": "pDAlAZ3z",
"created_at": 1355314332,
"status": "done",
"cancelable": false,
"price": 1299,
"currency": "EUR",
"price_decimal": "12.99",
"wallet": 123456,
"confirmed_at": 1355314365,
"freeze": {
"for": 3600
},
"freeze_for": 1,
"description": "Payment for order No. 1234",
"parameters": {
"orderid": 1234
},
"transfer_id": 12345678
}