---
title: "Merge the balance of two cards."
method: POST
path: "/mergeBalance"
tags: ["General"]
---

# Merge the balance of two cards.

`POST /mergeBalance`

Increases the balance of the paymentmethod by the full amount left on the source paymentmethod

## Request body

- StoredValueBalanceMergeRequest
  - `amount` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
    - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `merchantAccount` string, required — The merchant account identifier, with which you want to process the transaction.
  - `paymentMethod` object, required — The collection that contains the type of the payment method and its specific information if available
  - `recurringDetailReference` string
  - `reference` string, required — The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.
  - `shopperInteraction` 'Ecommerce' | 'ContAuth' | 'Moto' | 'POS' — Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
  - `shopperReference` string
  - `sourcePaymentMethod` object, required — The collection that contains the source payment method and its specific information if available. Note that type should not be included since it is inferred from the (target) payment method
  - `store` string — The physical store, for which this payment is processed.

## Response `200`

OK - the request has succeeded.

- StoredValueBalanceMergeResponse
  - `authCode` string — Authorisation code: * When the payment is authorised, this field holds the authorisation code for the payment. * When the payment is not authorised, this field is empty.
  - `currentBalance` Amount
    - `currency` string, required — The three-character [ISO currency code](https://docs.adyen.com/development-resources/currency-codes#currency-codes) of the amount.
    - `value` integer, required — The numeric value of the amount, in [minor units](https://docs.adyen.com/development-resources/currency-codes#minor-units).
  - `pspReference` string — Adyen's 16-character string reference associated with the transaction/request. This value is globally unique; quote it when communicating with us about this request.
  - `refusalReason` string — If the transaction is refused or an error occurs, this field holds Adyen's mapped reason for the refusal or a description of the error. When a transaction fails, the authorisation response includes `resultCode` and `refusalReason` values.
  - `resultCode` 'Success' | 'Refused' | 'Error' | 'NotEnoughBalance' — The result of the payment. Possible values: * **Success** – The operation has been completed successfully. * **Refused** – The operation was refused. The reason is given in the `refusalReason` field. * **Error** – There was an error when the operation was processed. The reason is given in the `refusalReason` field. * **NotEnoughBalance** – The amount on the payment method is lower than the amount given in the request. Only applicable to balance checks.
  - `thirdPartyRefusalReason` string — Raw refusal reason received from the third party, where available

## Other responses

- `400` — Bad Request - a problem reading or understanding the request.
- `401` — Unauthorized - authentication required.
- `403` — Forbidden - insufficient permissions to process the request.
- `500` — Internal Server Error - the server could not process the request.

## Changes

- **2023-02-24** (v46) `f5d17520a436` — 8 breaking
  - the request's body type/format changed from ``/`` to `object`/``
  - the `amount` request property type/format changed from ``/`` to `object`/``
  - the response's body type/format changed from ``/`` to `object`/`` for status `200`
  - the response's body type/format changed from ``/`` to `object`/`` for status `400`
  - …4 more

[Change history](https://skmtc.dev/adyen/apis/adyen-stored-value-api/changes/mergeBalance/post.md)

---

[API](https://skmtc.dev/adyen/apis/adyen-stored-value-api.md) · [All operations](https://skmtc.dev/adyen/apis/adyen-stored-value-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adyen/adyen-stored-value-api/revisions/f827fc840025/schema)
