---
title: "Load funds to a gift card"
description: "Add funds to a gift card at the point of sale."
url: "https://docs.adyen.com/point-of-sale/alternative-payment-methods/gift-cards-terminal-api/load-a-balance"
source_url: "https://docs.adyen.com/point-of-sale/alternative-payment-methods/gift-cards-terminal-api/load-a-balance.md"
canonical: "https://docs.adyen.com/point-of-sale/alternative-payment-methods/gift-cards-terminal-api/load-a-balance"
last_modified: "2019-10-01T11:44:00+02:00"
language: "en"
---

# Load funds to a gift card

Add funds to a gift card at the point of sale.

[View source](/point-of-sale/alternative-payment-methods/gift-cards-terminal-api/load-a-balance.md)

You can add funds to an [activated gift card](/point-of-sale/gift-cards-terminal-api/activate) by making a load request. This allows you to increase a card's existing balance or load an initial amount of funds.

## Requirements

Before you begin, take into account the following requirements, limitations, and preparations.

| Requirement          | Description                                                                                                                                                                                                           |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Integration type** | A [Terminal API](/point-of-sale/design-your-integration/terminal-api) integration with payment terminals.                                                                                                             |
| **Setup steps**      | Before you begin:- [Add the payment method to your Adyen account](/point-of-sale/what-we-support/payment-methods#add-payment-methods-to-your-account).
- Complete the onboarding process with the gift card provider. |

## Make a load request

To load funds to a gift card:

1. Determine the [card entry method](/point-of-sale/gift-cards-terminal-api#card-entry):

   * If you want to scan the card, do that first and use the obtained card details in your request.
   * If you want to swipe the card or use manual keyed entry (MKE), send the request first. The payment terminal will show a prompt to swipe the card or enter the card details.

2. Make a [Terminal API](/point-of-sale/design-your-integration/terminal-api) stored value request, specifying:

   * The standard [`SaleToPOIRequest.MessageHeader` ](/point-of-sale/design-your-integration/terminal-api#request-message-header)object, with `MessageClass` set to **Service** and `MessageCategory` set to **StoredValue**.

     | Parameter         | Required                                                                                    | Description                                                                                                                                                 |
     | ----------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
     | `ProtocolVersion` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **3.0**                                                                                                                                                     |
     | `MessageClass`    | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Service**                                                                                                                                                 |
     | `MessageCategory` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **StoredValue**                                                                                                                                             |
     | `MessageType`     | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Request**                                                                                                                                                 |
     | `ServiceID`       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (`POIID`) being used. |
     | `SaleID`          | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Your unique ID for the POS system component to send this request from.                                                                                      |
     | `POIID`           | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique ID of the terminal to send this request to. Format: *\[device model]-\[serial number]*.                                                          |

   - The [StoredValueRequest.SaleData](https://docs.adyen.com/api-explorer/terminal-api/latest/post/storedvalue#request-SaleData) object with:

     | Parameter                         | Required                                                                                    | Description                                                                                                                                                               |
     | --------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     | `SaleTransactionID.TransactionID` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Your reference to identify this load request. We recommend using a unique value.                                                                                          |
     | `SaleTransactionID.TimeStamp`     | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Date and time of the request, in [UTC format](https://en.wikipedia.org/wiki/ISO_8601#Coordinated_Universal_Time_\(UTC\)).                                                 |
     | `SaleToAcquirerData`              |                                                                                             | Optional, for Stored Value Solutions (SVS) gift cards: **ssc**. This is the secondary security code of the gift card, and allows up to 8 digits. For example, `ssc=1111`. |

   - The [StoredValueRequest.StoredValueData](https://docs.adyen.com/api-explorer/terminal-api/latest/post/storedvalue#request-StoredValueData) object with:

     | Parameter                    | Required                                                                                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | ---------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     | `StoredValueTransactionType` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Load**                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     | `StoredValueData.ItemAmount` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The value of the funds you are loading to the gift card.                                                                                                                                                                                                                                                                                                                                                                                              |
     | `StoredValueData.Currency`   | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The currency you are loading to the gift card.                                                                                                                                                                                                                                                                                                                                                                                                        |
     | `StoredValueAccountID`       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The gift card details:- `StoredValueAccountType`: **GiftCard**
     - `StoredValueProvider`: the gift card issuer: **givex**, **svs**, **valuelink**, or **[any Intersolve-supported card type](/payment-methods/gift-cards#supported-gift-cards)**.
     - `IdentificationType`: **PAN**
     - `EntryMode`, `StoredValueID` and `ExpiryDate`: these parameters depend on the [card entry method](/point-of-sale/gift-cards-terminal-api#card-entry) you are using. |

     | Card entry | Parameters                                                                                                    |
     | ---------- | ------------------------------------------------------------------------------------------------------------- |
     | Scan       | * `EntryMode`: **Scanned**
     * `StoredValueID`: gift card number.
     * `ExpiryDate`: expiry date of the gift card. |
     | Swipe      | - `EntryMode`: **MagStripe**
     - `StoredValueID`: include this parameter but do not provide a value.            |
     | MKE        | * `EntryMode`: **Keyed**
     * `StoredValueID`: include this parameter but do not provide a value.                |

   The example below shows how to load GBP 15.00 to a scanned gift card.

   #### JSON

   ```json
   {
       "SaleToPOIRequest":{
           "MessageHeader":{
               "ProtocolVersion":"3.0",
               "MessageClass":"Service",
               "MessageCategory":"StoredValue",
               "MessageType":"Request",
               "ServiceID":"9265",
               "SaleID":"POSSystemID12345",
               "POIID":"V400m-324688179"
           },
           "StoredValueRequest":{
               "SaleData":{
                   "SaleTransactionID":{
                       "TransactionID":"44739",
                       "TimeStamp":"2019-03-26T09:31:34+00:00"
                   },
                   "SaleToAcquirerData":"ssc=1111"
               },
               "StoredValueData":[
                   {
                       "StoredValueTransactionType":"Load",
                       "StoredValueAccountID":{
                           "StoredValueAccountType":"GiftCard",
                           "StoredValueProvider":"svs",
                           "IdentificationType":"PAN",
                           "EntryMode":[
                               "Scanned"
                           ],
                           "StoredValueID":"6006491260550218066",
                           "ExpiryDate":"1122"
                       },
                       "ItemAmount":15.00,
                       "Currency":"GBP"
                   }
               ]
           }
       }
   }
   ```

   #### Java

   ```java
   String serviceID = "YOUR_UNIQUE_ATTEMPT_ID";
   String saleID = "YOUR_CASH_REGISTER_ID";
   String POIID = "YOUR_TERMINAL_ID";
   String transactionID = "YOUR_UNIQUE_TRANSACTION_ID";

   SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();
   MessageHeader messageHeader = new MessageHeader();
   messageHeader.setProtocolVersion("3.0");
   messageHeader.setMessageClass( MessageClassType.SERVICE );
   messageHeader.setMessageCategory( MessageCategoryType.STORED_VALUE );
   messageHeader.setMessageType( MessageType.REQUEST );
   messageHeader.setServiceID(serviceID);
   messageHeader.setSaleID(saleID);
   messageHeader.setPOIID(POIID);
   saleToPOIRequest.setMessageHeader(messageHeader);

   StoredValueRequest storedValueRequest = new StoredValueRequest();
   SaleData saleData = new SaleData();
   TransactionIdentification saleTransactionID = new TransactionIdentification();
   saleTransactionID.setTransactionID(transactionID);
   saleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
   saleData.setSaleTransactionID(saleTransactionID);
   storedValueRequest.setSaleData(saleData);

   StoredValueData storedValueData = new StoredValueData();
   storedValueData.setStoredValueTransactionType( StoredValueTransactionType.LOAD );
   StoredValueAccountID storedValueAccountID = new StoredValueAccountID();
   storedValueAccountID.setStoredValueAccountType( StoredValueAccountType.GIFT_CARD );
   storedValueAccountID.setStoredValueProvider("svs");
   storedValueAccountID.setIdentificationType( IdentificationType.PAN );
   storedValueAccountID.getEntryMode().add( EntryModeType.SCANNED );
   storedValueAccountID.setStoredValueID("6006491260550218066");
   storedValueAccountID.setExpiryDate("1122");
   storedValueData.setStoredValueAccountID(storedValueAccountID);
   storedValueData.setItemAmount( BigDecimal.valueOf(10) );
   storedValueData.setCurrency("GBP");
   storedValueRequest.setStoredValueData(storedValueData);
   saleToPOIRequest.setStoredValueRequest(storedValueRequest);
   terminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);
   ```

3. In the [StoredValueResponse](https://docs.adyen.com/api-explorer/terminal-api/latest/post/storedvalue#responses-200-Response), check the following:

   * `StoredValueResult.StoredValueTransactionType`: **Load** and `Response.Result`: **Success** indicate that funds were loaded.
   * In the `StoredValueResult` object, `ItemAmount` and `Currency` indicate the total value and the currency associated with the gift card.
   * `POIData.POITransactionID.TransactionID`: This is the [Transaction identifier](/point-of-sale/design-your-integration/terminal-api#transaction-identifier) for the funds being loaded to the gift card.

   The example below indicates that GBP 15.00 was successfully loaded to the gift card.

   ```json
   {
     "SaleToPOIResponse":{
       "StoredValueResponse":{
         "POIData":{
           "POITransactionID":{
             "TimeStamp":"2019-03-26T09:31:29.000Z",
             "TransactionID":"oLkO001522056689002.NC6HT9CRT65ZGN82"
           }
         },
         ...
         "StoredValueResult":[
           {
             "StoredValueTransactionType":"Load",
             "ItemAmount":15.00,
             "Currency":"GBP"
           }
         ],
         "Response":{
           "Result":"Success"
         }
       },
       "MessageHeader":{
         "ProtocolVersion":"3.0",
         "SaleID":"POSSystemID12345",
         "MessageClass":"Service",
         "MessageCategory":"StoredValue",
         "ServiceID":"9265",
         "POIID":"V400m-324688179",
         "MessageType":"Response"
       }
     }
   }
   ```

## See also

* [Gift cards and other stored value cards](/point-of-sale/gift-cards-terminal-api)
* [Activate a gift card](/point-of-sale/gift-cards-terminal-api/activate)
* [Check the balance of a gift card](/point-of-sale/gift-cards-terminal-api/query-the-balance)
