--- title: "Merge the balance of two gift cards" description: "Transfer the value from one stored-value card to another one of the same type." url: "https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/merge-balance" source_url: "https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/merge-balance.md" canonical: "https://docs.adyen.com/payment-methods/gift-cards/stored-value-api/merge-balance" last_modified: "2026-05-26T13:48:55+02:00" language: "en" --- # Merge the balance of two gift cards Transfer the value from one stored-value card to another one of the same type. [View source](/payment-methods/gift-cards/stored-value-api/merge-balance.md) The `/mergeBalance` endpoint of our [Stored Value API](/payment-methods/gift-cards/stored-value-api) lets you transfer the full value of a gift card or other type of stored-value card to another one. The source and target card need to be from the same gift card provider. ### Transaction per provider and channel #### Online | Transaction | Givex | SVS | Fiserv (formerly ValueLink) | Intersolve | | ------------- | -------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------- | | Merge balance | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-") | #### In-person payments | Transaction | Givex | SVS | Fiserv (formerly ValueLink) | Intersolve | | ------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | | Merge balance | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ![-x-](/user/data/smileys/emoji/x.png "-x-") | ## Merge the balance When you transfer the value from one gift card or stored-value card to another, the way to specify the card details of the target card depends on whether you [tokenized](/online-payments/tokenization) a payment that the shopper made with this card. ### Tab: Without token To transfer the full value from a source gift card to a target card that has not been tokenized: * Make a POST request to the [`/mergeBalance` endpoint](/payment-methods/gift-cards/stored-value-api#sv-api-endpoints), specifying: * `merchantAccount`: ID of the merchant account that you want to process the transaction with. * `store`: Optional For transactions flagged as in-store, the ID of the physical store that you want to process the transaction for. Maximum length: 16 characters. * `sourcePaymentMethod.number`: Card number that identifies the card that you want to transfer the value from. * `sourcePaymentMethod.securityCode`: If the source card has a PIN code or other type of security code, obtain it from the shopper and provide it here. * `sourcePaymentMethod.expiryMonth`: Optional Expiry month of the source card. * `sourcePaymentMethod.expiryYear`: Optional Expiry year of the source card. * `sourcePaymentMethod.holderName`: Optional Name of the shopper that the source card belongs to. * `paymentMethod` object with: * `type`: Name or brand of the target card. Accepted values: **valuelink**. * `number`: Card number that identifies the target card that you want transfer funds to. * `securityCode`: If the target card has a PIN code or other type of security code, obtain it from the shopper and provide it here. * `expiryMonth`: Optional Expiry month of the target card. * `expiryYear`: Optional Expiry year of the target card. * `holderName`: Optional Name of the shopper that the target card belongs to. * `reference`: Your reference to uniquely identify the transaction. To provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. This request transfers the balance of card no. 7777182708544835 to card no. 6703444444444449: ```json { "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "store":"YOUR_STORE_ID", "sourcePaymentMethod": { "number": "7777182708544835", "securityCode": "2329" }, "paymentMethod": { "type": "valuelink", "number": "6703444444444449", "securityCode": "2330" }, "reference": "YOUR_REFERENCE" } ``` #### Response You receive a response containing: * `currentBalance`: The `currency` and total `value` in minor units of the funds stored on the card. * `pspReference`: Adyen's 16-character unique reference associated with the request. * `resultCode`: Indicates the state of the request. Refer to [Result codes](/payment-methods/gift-cards/stored-value-api#result-codes) for the values that you can receive. The response may include additional fields, depending on the additional data settings for your merchant account. In your [Customer Area](https://ca-test.adyen.com/), you'll find these settings under **Developers** > **Additional data**. Sample response: ```json { "currentBalance": { "currency": "EUR", "value": 5600 }, "pspReference": "881564657480267D", "resultCode": "Success" } ``` ### Tab: With token To transfer the full value from a source gift card to a target card that has been tokenized: * Make a POST request to the [`mergeBalance` endpoint](/payment-methods/gift-cards/stored-value-api#sv-api-endpoints), specifying: * `merchantAccount`: ID of the merchant account that you want to process the transaction with. * `store`: Optional For transactions flagged as in-store, the ID of the physical store that you want to process the transaction for. Maximum length: 16 characters. * `sourcePaymentMethod.number`: Card number that identifies the card that you want to transfer the value from. * `sourcePaymentMethod.securityCode`: If the source card has a PIN code or other type of security code, obtain it from the shopper and provide it here. * `sourcePaymentMethod.expiryMonth`: Optional Expiry month of the source card. * `sourcePaymentMethod.expiryYear`: Optional Expiry year of the source card. * `sourcePaymentMethod.holderName`: Optional Name of the shopper that the source card belongs to. * `paymentMethod.type`: Name or brand of the target card. Accepted values: **valuelink**. * `recurringDetailReference`: The token that identifies the target card. This was returned in the response when you tokenized the target card. * `shopperReference`: Your unique ID for this shopper. This is the `shopperReference` that you used when you created the token. * `shopperInteraction`: Specifies the sales channel through which the shopper provided their details. Accepted values: **Ecommerce** (default for online transactions), **ContAuth** (online, using previously stored details), **Moto** (via email or telephone) or **POS** (using a payment terminal). * `reference`: Your reference to uniquely identify the transaction. To provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters. This request transfers the balance of card no. 7777182708544835 to card no. 6703444444444449: ```json { "merchantAccount": "ADYEN_MERCHANT_ACCOUNT", "store":"YOUR_STORE_ID", "sourcePaymentMethod": { "number": "7777182708544835", "securityCode": "2329" }, "paymentMethod": { "type": "valuelink" }, "recurringDetailReference": "6703444444444449", "shopperReference": "YOUR_UNIQUE_SHOPPER_REFERENCE", "shopperInteraction": "Ecommerce", "reference": "YOUR_REFERENCE" } ``` #### Response You receive a response containing: * `currentBalance`: The `currency` and total `value` in minor units of the funds stored on the card. * `pspReference`: Adyen's 16-character unique reference associated with the request. * `resultCode`: Indicates the state of the request. Refer to [Result codes](/payment-methods/gift-cards/stored-value-api#result-codes) for the values that you can receive. The response may include additional fields, depending on the additional data settings for your merchant account. In your [Customer Area](https://ca-test.adyen.com/), you'll find these settings under **Developers** > **Additional data**. Sample response: ```json { "currentBalance": { "currency": "EUR", "value": 5600 }, "pspReference": "881564657480267D", "resultCode": "Success" } ``` ## Next steps ###### [Change status](/payment-methods/gift-cards/stored-value-api/change-status) [Activate or deactivate a gift card.](/payment-methods/gift-cards/stored-value-api/change-status) ###### [Check balance](/payment-methods/gift-cards/stored-value-api/check-balance) [Check the value stored on a gift card.](/payment-methods/gift-cards/stored-value-api/check-balance) ###### [Load](/payment-methods/gift-cards/stored-value-api/load) [Add funds to a gift card.](/payment-methods/gift-cards/stored-value-api/load) ## See also * [Issue a new gift card](/payment-methods/gift-cards/stored-value-api/issue) * [Undo a previous Stored Value API transaction from the last 24 hours](/payment-methods/gift-cards/stored-value-api/void) * [Stored Value API](/payment-methods/gift-cards/stored-value-api)