---
title: "Depositing Cash to Wallet"
source_url: https://docs.rapyd.net/en/depositing-cash-to-wallet.html
lang: en
---

# Depositing Cash to Wallet

Deposit cash at a physical location.

Rapyd makes it easy for you to enable customers to deposit cash to a Rapyd Wallet using a [POS](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_pos "Point of Sale"). The POS API provides methods for handling deposits at Rapyd POS locations, such as ATMs and retail stores.

Some common use cases may include:

- A customer depositing cash to their own wallet.
- A business deposits their cash to their company wallet.

For example, the customer would like to deposit 100 GBP (Pound Sterling) into her wallet by depositing the cash at a POS. The POS accepts 100 GBP (Pound Sterling) in cash from the customer, and notifies Rapyd. Rapyd deposits the money into her wallet.

## Deposit Cash Workflow

Let’s look at the highlights of your workflow.

### Step 1: Getting a One-Time Password (OTP)

![one-time-password.jpg](image/img-4aea66df02f5f7b222058e672c8e3442.jpg)

1. Using your mobile application, a customer asks for an [OTP](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_otp "One-time password").
2. You request an OTP from Rapyd.
3. Rapyd sends the OTP to you.
4. Your app displays the OTP to the customer.

### Step 2: Opening a Session

![open-a-session.jpg](image/img-8e03e152f2668a217396b7ee077fb18e.jpg)

1. You ask Rapyd to open a session.
2. Rapyd opens a session.

### Step 3: Depositing Cash

![deposit-cash.jpg](image/img-b275aa195b4593e5cc28da97eac641b2.jpg)

1. You create a request for depositing cash to an [eWallet](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_ewallet "eWallet").
2. Rapyd creates a deposit transaction.
3. The customer deposits 100 GBP (Pound Sterling) at the POS.
4. The POS notifies Rapyd.
5. Rapyd completes the deposit and notifies you.

### Step 4: Closing the Session

![close-the-session.jpg](image/img-76919add77dd60ae8857926ea1e36f33.jpg)

1. You ask Rapyd to close the session.
2. Rapyd closes the session.

## How Depositing Cash Works

### Getting an OTP Code

> **Note:**
>
> To generate a one-time password (OTP), the customer uses the mobile application that you provide to your customers for managing wallets.

1. The customer runs the mobile application that you provide to your customers for managing their wallets.
2. The customer requests an OTP code, and the app displays **876680**.

   Make sure to store the OTP code for future use.

   ![643e80887a49c.png](image/img-10efdebeade79076745707d659a0893c.png)

### Opening a Session

> **Note:**
>
> The OTP is valid for 30 seconds. If you do not open a session within that time, then the customer must get a new OTP code.

Use the [Open Session](https://docs.rapyd.net/en/open-session.md "Open Session") method to open a session with the following parameters:

### Description of Header Parameters

| Header Parameter | Description |
| --- | --- |
| access_key | Enter **8C6223151** as the access key. |
| phone_number | Enter **+14155559992** as the customer’s phone number. |
| Content-Type | Enter  **application/json** as the type of content. |

### Description of Path Parameters

| Path Parameter | Description |
| --- | --- |
| pos_id | Enter  **z128ffb-11a5-11l9-93p5-1231a8maf28** as the ID of the point-of-sale location. The `pos_id` value is unique for each point of sale location, and it is provided to you directly from Rapyd. |
| otp_code | Enter **876680** . |

### Open Session Request

You ask Rapyd to open a session.

- - Request

    - ```
      // Request URL: POST https://sandboxpos.rapyd.net/v1/pos/login/z128ffb-11a5-11l9-93p5-1231a8maf28/876680

      // Headers:
      access_key: 8C6223151
      phone_number: +14155559992
      Content-Type: application/json

      // No message body
      ```

### Open Session Response

- - Response

    - ```
      {
         "status": {
             "error_code": "",
             "status": "SUCCESS",
             "message": "",
             "response_code": "",
             "operation_id": "d1063f84-977b-48f5-a3a3-a3e4d94be47f"
         },
         "data": {
             "token_id": "d9b7398f-5c2f-438c-8ac6-68e79f28c02e",
             "operation_id": "95e2c071-9513-48d6-a717-a480814f7df8",
             "accounts": [
                 {
                     "account_id": "64e4a964-53b5-11e9-8495-02f0df928b",
                     "account_currency": "GBP",
                     "account_alias": "GBP",
                     "account_balance": 955,
                     "account_currency_symbol": "£"
                 }
             ]
         }
      }
                                              
      ```

The `data` section of the response shows the following information:

- The customer's wallet includes an account for the **GBP** currency.
- The `token_id` is **d9b7398f-5c2f-438c-8ac6-68e79f28c02e**.
- The `operation_id` is **95e2c071-9513-48d6-a717-a480814f7df8**.

Make sure to store these values for future use.

### Depositing Cash to a Wallet

You’ll use the [Deposit](https://docs.rapyd.net/en/deposit.md "Deposit") method to deposit 100 GBP into the customer’s wallet. Make a deposit with the following parameters:

### Description of Header Parameters

| Header Parameter | Description |
| --- | --- |
| Content-Type | Enter  **application/json** as the type of content. |
| access_key | Enter **8C6223151** as the access key. |
| token_id | Enter  **d9b7398f-5c2f-438c-8ac6-68e79f28c02e** as the  `token_id`. |
| operation_id | Enter  **95e2c071-9513-48d6-a717-a480814f7df8** as the  `operation_id`. |
| phone_number | Enter **+14155559992** as the customer’s phone number. |

### Description of Path Parameters

| Path Parameter | Description |
| --- | --- |
| amount | Enter **100** as the amount to deposit. |
| currency_code | Enter **GBP** as the `currency of the amount. |

### Deposit Cash to a Wallet Request

You ask Rapyd to deposit funds to the customer's wallet.

- - Request

    - ```
      // Request URL: POST https://sandboxpos.rapyd.net/v1/pos/deposit/100.00/GBP

      // Headers:
      access_key: 8C6223151
      phone_number: +14155559992
      Content-Type: application/json
      token_id: d9b7398f-5c2f-438c-8ac6-68e79f28c02e
      operation_id: 95e2c071-9513-48d6-a717-a480814f7df8
                                                  
      // Message body absent
      ```

### Deposit Cash to a Wallet Response

Let's take a look at the Deposit response.

- - Response

    - ```
      {
         "status": {
             "error_code": "",
             "status": "SUCCESS",
             "message": "",
             "response_code": "",
             "operation_id": "0c211a3c-a4c4-4708-bbe9-7628ddd07437"
         },
         "data": {
             "transaction_id": "4e61e815-b68f-11e9-9ffc-12c4c8fed768"
         }
      }
      ```

This confirms that Rapyd deposited 100 GBP (Pound Sterling) to the customer's wallet.

### Closing the Session

Use the following parameters:

### Description of Header Parameters

| Header Parameter | Description |
| --- | --- |
| Content-Type | Enter  **application/json** as the type of content. |
| access_key | Enter **8C6223151** as the access key. |
| token_id | Enter  **d9b7398f-5c2f-438c-8ac6-68e79f28c02e** as the  `token_id`, which was returned in the response to 'Open Session'. |
| operation_id | Enter  **95e2c071-9513-48d6-a717-a480814f7df8** as the  `operation_id`, which was returned in the response to 'Open Session'. |
| phone_number | Enter **+14155559992** as the customer’s phone number. |

### Close Session Request

You ask Rapyd to close the session.

- - Request

    - ```
      // Request URL: POST https://sandboxpos.rapyd.net/v1/pos/logout

      // Headers:
      access_key: 8C6223151
      phone_number: +14155559992
      Content-Type: application/json
      token_id: d9b7398f-5c2f-438c-8ac6-68e79f28c02e
      operation_id: 95e2c071-9513-48d6-a717-a480814f7df8
                                                  
      // No message body
      ```

The 'status' parameter in this response shows that the session closed successfully.

### Close Session Response

Let's take a look at the Close Session response.

- - Response

    - ```
      {
         "status": {
             "error_code": "",
             "status": "SUCCESS",
             "message": "",
             "response_code": "",
             "operation_id": "09666c40-77fa-49c7-be73-82ade0217c8e"
         }
      }
                                              
      ```

The 'status' parameter in this response shows that the session closed successfully.
