# Secure file transfer with DropZone (/secure-file-transfer)



DropZone is PayPal's secure file transfer platform that sends files, receives files, and automates regular file transfers. Use DropZone when you need to send or receive files from PayPal, for example:

* Exchanging settlement reports with payment processors.
* Sharing merchant-specific reports with merchants.
* Fetching information from external data vendors.
* Exchanging information with regulatory entities.

Data is encrypted both at rest and in transit. Files are scanned for sensitive data before sending to ensure critical information is encrypted. All files received over DropZone are scanned for viruses and other malicious content.

## Availability [#availability]

DropZone is available in [all countries where PayPal is available](https://www.paypal.com/webapps/mpp/country-worldwide).

## Choose DropZone as client or server [#choose-dropzone-as-client-or-server]

Use DropZone as a client or server based on your needs and information security guidelines.

**Tip:** DropZone as a client is the preferred integration option and may require fewer consultations with PayPal.

The key differences between the 2 options are:

* Storage location.
* How often you can send files.
* Information security and firewall requirements.

### DropZone as a client [#dropzone-as-a-client]

When you integrate DropZone as a client, you can upload files for DropZone to retrieve from your:

* SFTP server.
* Amazon Simple Storage Service (S3).
* Google Cloud Storage.

With DropZone as a client, you can receive files at any time. However, you can only schedule file transfers to PayPal by sending files in response to event triggers or scheduling automated transfers.

<img src="https://www.paypalobjects.com/devdoc/dz-client-send.gif" alt="PayPal,uploads,or,downloads,files,from,DropZone." />

<img src="https://www.paypalobjects.com/devdoc/dz-client-receive.gif" alt="The,DropZone,client,uploads,or,downloads,files,from,your,storage,system." />

### DropZone as a server [#dropzone-as-a-server]

When you integrate DropZone as a server, files are uploaded to PayPal's SFTP server. You can send and receive files at any time. Because you are accessing PayPal's SFTP server, the onboarding process may take longer to ensure compliance with PayPal's security requirements. If you would rather upload files to your own server instead of PayPal's SFTP server, integrate DropZone as a client.

<img src="https://www.paypalobjects.com/devdoc/dz-server-send.gif" alt="PayPal,uploads,or,downloads,files,from,DropZone." />

<img src="https://www.paypalobjects.com/devdoc/dz-server-receive.gif" alt="Use,an,SFTP,client,to,upload,or,download,files,from,DropZone." />

## Connect to DropZone [#connect-to-dropzone]

Take the following steps to connect to DropZone through your client storage location or PayPal's SFTP server

#### Client

### 1. Get credentials [#1-get-credentials]

PayPal must onboard you to DropZone. During onboarding, you'll establish authentication credentials. You can choose either:

* **Recommended: Username and SSH keys:** PayPal generates public and private SSH keys and shares the public key with you. Create a username and share it with PayPal. Configure your username and the PayPal public key into your authentication system. DropZone will authenticate with your username and PayPal's private key.
* **Username and password:** Create a username and password and share them with PayPal.

### 2. Add IP subnets to allowlist [#2-add-ip-subnets-to-allowlist]

Add the following IP subnets to your allowlist in your firewall:

* 173.0.81.0/24
* 66.211.170.66

### 3. Exchange files [#3-exchange-files]

To send files to PayPal:

* Encrypt all files you send over DropZone using PGP encryption or a manual encryption method such as 7Zip on Windows or Encrypto on Mac.
* Put the files in your storage system for DropZone to pull at scheduled intervals.

To accept files from PayPal:

* Files delivered to your storage system over DropZone are encrypted. You'll need to decrypt these files.
* You can download these files from your storage system at any time.

#### Server

### 1. Get credentials [#1-get-credentials-1]

PayPal must onboard you to DropZone. You'll authenticate with a username and SSH key. PayPal provides the username. Generate the public and private SSH keys and share the public key with PayPal.

### 2. Add domain to allowlist [#2-add-domain-to-allowlist]

Add the `DropZone.paypal.com` domain to your allowlist.

> **Note:** **Important:** Adding the domain to an allowlist is more secure than adding IP address ranges. If you can't add the domain to your allowlist, add the following IP address ranges:
>
> * 173.0.80.0/20
> * 64.4.240.0/21
> * 64.4.248.0/22
> * 66.211.168.0/22
> * 91.243.72.0/23

### 3. Connect to DropZone server [#3-connect-to-dropzone-server]

Connect to the DropZone SFTP server to transfer encrypted files.

From a terminal, command line, or SFTP client, run the following command: `sftp -i IDENTITY-FILE-PATH USERNAME@DROPZONE-HOST`

Modify the command as follows:

* `IDENTITY-FILE-PATH` - The path to the private key needed to log in to the account. For example, `~/username/keys/id_rsa`.
* `USERNAME` - The DropZone batch account name.
* `DROPZONE-HOST` - The SFTP endpoint for DropZone. To send or receive files, use `dropzone.paypalcorp.com`. To test the integration, use `dropzone-int.qa.paypal.com`.

Sample command:

`sftp -i ~/username/keys/id_rsa example-user@dropzone.paypalcorp.com`

### 4. Exchange files [#4-exchange-files]

To share files with PayPal:

* Encrypt all files you upload to DropZone using PGP encryption or a manual encryption method such as 7Zip on Windows or Encrypto on Mac.
* Put the files on PayPal's SFTP server. The DropZone team will fetch the files.

To fetch files from PayPal:

* Files downloaded from DropZone are encrypted. You'll need to decrypt these files.
* You can download files at any time.

### DropZone terminal commands [#dropzone-terminal-commands]

Use the following terminal commands with DropZone:

| Command                                               | Syntax                               | Example                                       |
| ----------------------------------------------------- | ------------------------------------ | --------------------------------------------- |
| Upload file                                           | `put LOCAL-FILEPATH REMOTE-FILEPATH` | `put ~/Documents/file.txt DropZone/ExampleCo` |
| Download file                                         | `get LOCAL-FILEPATH REMOTE-FILEPATH` | `get DropZone/ExampleCo/file.txt ~/Documents` |
| Navigate directory                                    | `cd FILEPATH`                        | `cd DropZone/ExampleCo/Reports`               |
| Navigate to parent directory                          | `cd ..`                              | `cd ..`                                       |
| List files and directories                            | `ls`                                 | `ls`                                          |
| List detailed information about files and directories | `ls -ltrh`                           | `ls -ltrh`                                    |
| Remove a file from DropZone                           | `rm FILEPATH`                        | `rm DropZone/ExampleCo/file.txt`              |
| Remove a directory in DropZone                        | `rmdir DIRECTORY-PATH`               | `rmdir DropZone/ExampleCo/Reports`            |
| Disconnect from DropZone                              | `exit`                               | `exit`                                        |
