Prerequisites
- Complete all mandatory steps to get started.
- Ensure your PayPal business account is set up.
- Ensure to fund your business account.
Send payouts
You can use the procedures in this section to send payouts using the large-batch file transfer.1. Create input file
- Add a summary line: Follow the required format and add a summary line as the first row of your file.
- Add payout records: Follow the required format and add each payment as a separate row.
- Name your file using this pattern:
pp_payouts_<epoch_time>_<reference_name><format>
Example:pp_payouts_1728883200_batch1.csvpp_payouts: Always use these exact words in lowercase.<epoch_time>: A special time code (from the past or up to 7 days ahead).<reference_name>: Your chosen name using letters, numbers, underscore (_), or hyphen (-). Maximum: 63 characters.<format>: File type - use.csvor.csv.gz.
Summary line format
Sample summary line
| Field | Description | Notes |
|---|---|---|
| Entry type Required | The first line must always contain PAYOUT_SUMMARY. | Use uppercase only. Example: PAYOUT_SUMMARY |
| Total payout amount Required | Total of all payout items. | Must be in decimal format. Currency symbols not allowed. Cannot be empty or zero. Example: 1500.75 |
| Currency Required | Three-letter ISO 4217 currency code. Each file must contain only one currency type. | Use separate files for different currencies. Example: USDMax length: 3 characters |
| Total payments Required | Total number of payout items in the file. | Use numbers only. Example: 5 |
| Email subject | A standard subject line in the email notification sent to all recipients for each payout item. | If text has commas or special characters, use double quotes (”) around it. If text has quotes, double them ("") and wrap in quotes. Example: "Thank you, ""Top Seller""!"Max length: 256 characters |
| Email message | A standard message included in the email notification sent to all recipients for each payout item. | If text has commas or special characters, use double quotes (”) around it. If text has quotes, double them ("") and wrap in quotes. Example: Payout for MayMax length: 1000 characters |
Payout item row format
Sample payout line items
If you skip any optional fields, add commas to keep the columns in the correct order.
| Field | Description | Notes |
|---|---|---|
| Recipient wallet Required | Target wallet for the payout. | Use uppercase only. Possible values: • PAYOUT• PAYOUT_VENMO |
| Recipient identifier Required | Identifier for the payout recipient based on the wallet type. | PayPal: Recipient’s PayPal-associated email address, phone number, or encrypted PayPal account number. Venmo: Recipient’s US mobile number or Venmo handle. Example: test@paypal.com |
| Payout amount Required | Amount to send. | Use decimal format only (local currency formats are not supported). Cannot be empty or zero. Example: 100.50 |
| Currency Required | Three-letter ISO 4217 currency code. Each file must contain only one currency type. | Use separate files for different currencies. Example: USDMax length: 3 characters |
| Reference ID | Unique identifier for each payout item. | Use letters, numbers, underscore (_), or hyphen (-). Example: REF_ID_1Max length: 30 characters |
| Item-level note | Custom note included in the email for each payout item. | If text has commas or special characters, use double quotes (”) around it. If text has quotes, double them ("") and wrap in quotes. Example: Thanks for your workMax length: 1000 characters |
| Social feed privacy Venmo only | Visibility setting for the Venmo recipient’s social feed. | Default value: PRIVATEPossible values: • PUBLIC• FRIENDS_ONLY• PRIVATE |
| Holler URL Deprecated Venmo only | URL of a Holler sticker to include with the Venmo message. | Example: https://example.com/sticker.png Max length: 151 characters |
| Logo URL Venmo only | URL of the business logo shown in the Venmo feed. | Image uploaded at the access URL must be a square image of max size 1024 × 1024 px. Example: https://example.com/logo.png Max length: 2000 characters |
| Purpose | Reason for the transaction. | Default value: GOODSPossible values: • AWARDS• PRIZES• DONATIONS• GOODS• SERVICES• REBATES• CASHBACK• DISCOUNTS• NON_GOODS_OR_SERVICES |
2. Upload input file
You can use your Sandbox DropZone credentials, log into the DropZone account, test your file upload, and rectify errors if any. You can then use your Production DropZone credentials and upload your file for payouts.
- Connect to PayPal’s DropZone on the SFTP server using your SFTP login details.
- Go to the
Incomingfolder on the server and upload your file. PayPal checks the file and creates an acknowledgement report. See File validation steps and outcomes. PayPal places the report in theOutgoingfolder. - Review the report to verify the file validation status.
Acknowledgment reports
| Report | File name suffix | What it means | What to do |
|---|---|---|---|
| Accepted (ACK) | _ack.csv | File is ready for processing. | Wait for PayPal to process your payouts. |
| Not Accepted (NACK) | _nack.csv | File has errors. | Fix the errors and upload a new file with a different name. |
| Duplicate (DUPS) | _dups.csv | File name already used. | Change the file name and upload again. |
-
Summary error line
- Columns: Entry type, Currency code, Error code, Error message
Example -
Item-level error line
- Columns: Payout type, Line number, Reference ID, Error code, Error message
Example
- The date and time (in UTC) when PayPal received your file.
- Your original file name (without the ending).
- The status:
ACCEPTED_FOR_PROCESSING.
Example
3. Review stage reports
As PayPal processes payouts, stage reports are saved in yourOutgoing folder to help you track and match your payments.
| Report | When you get it | What it shows | What to do |
|---|---|---|---|
| Part File report | After part of your file is processed. | Shows results for the processed part. Large files may have multiple part files as PayPal processes them in sections. | Check each part file to track progress and fix problems as they appear. |
| Out or Interim report | After your whole file is processed. | Shows results for all payments in your file, including status and errors. | Use this to check your records and confirm all payments were sent. |
| Final report | 31 days after the Interim report. | Shows the final status of payments that were not claimed. | Check which payments were not claimed and decide what to do next. |
If a recipient does not claim their payment within 30 days, PayPal automatically returns the money to your account.
Report file format
The Part, Out or Interim, and Final reports are.csv files that include the following columns:
- Reference ID
- Payout item ID
- Transaction ID
- Recipient name
- Recipient identifier
- Currency code
- Payout amount
- Fee
- Total
- Transaction status
- Error enum
- Error message
- Processed time
- Claimed time (applicable for unilateral case)
Sample report entries
Reference
You can use the following information to understand the file validation process and errors. You can review the errors, fix them, and upload your payout file again.File validation steps and outcomes
The following table summarizes the various file validation steps and the possible results:| Validation step | What PayPal checks | Result |
|---|---|---|
| File exists | Checks if your file is in the folder. | NACK if missing |
| File not empty | Checks if your file has content and is not broken. | NACK if empty or broken |
| File encoding | Makes sure your file uses UTF-8 text format. | NACK if wrong format |
| File format | Checks for correct file type (.csv or .csv.gz) and proper columns. | NACK if wrong |
| File matches | Checks if summary totals match your payment details. | NACK if they do not match |
| File name | Makes sure your file name follows the rules. | NACK or DUPS if wrong |
| Duplicate file | Checks if you already sent a file with this name. | DUPS if already used |
| Sandbox limit | Checks if you have too many items (sandbox only). | NACK if too many |
| Summary and line checks | Checks for: text length, valid currency, one summary only, summary in first line, correct payment count, valid purpose. | NACK if wrong |
| Payment details | Checks each payment line has all needed info. | NACK if missing info |
| Amount and currency | Makes sure amounts and currency codes are valid. | NACK if wrong |
File validation errors
The following table summarizes the file validation errors that PayPal may find in your payout file:| Error | Description |
|---|---|
DUPLICATE_REF_ID | Reference IDs must be unique within an input file. |
EMAIL_MESSAGE_EXCEEDED_MAX_SIZE | The email message exceeded the maximum character limit. The limit is 1000. |
EMAIL_SUBJECT_EXCEEDED_MAX_SIZE | The email subject exceeded the maximum character limit. The limit is 255. |
ENCODING_ERROR | The payout input file is not in UTF-8 format. |
FILE_EMPTY_OR_CORRUPT | The payout input file is empty or corrupt and cannot be processed. |
FILE_NOT_FOUND | The file does not exist in the source folder. Contact our customer support. |
FILE_SIZE_ERROR | The payout input file is empty. |
GZ_FILE_CORRUPT_ERROR | The payout input file is corrupt or has a checksum issue. |
INVALID_CURRENCY | The currency code is invalid. |
INVALID_FILE_FORMAT | The input file contains characters, columns, or details that are not required for processing payouts. Remove these characters, columns, or details and upload the file. |
INVALID_FILE_NAME | The format of the file name is invalid. |
INVALID_FIRST_COLUMN | The first column entry in the summary must be PAYOUT_SUMMARY. For an item record, this must be PAYOUT. |
INVALID_REF_ID_FORMAT | The reference ID must be alphanumeric. The maximum character limit is 63. |
INVALID_SUMMARY_LINE_POSITION | The payout summary record is missing from the first line in the payout input file. |
MANDATORY_COLUMN_MISSING | The file is missing mandatory columns. Please enter the required information and retry the Payout. |
MULTI_CURRENCY_NOT_SUPPORTED | The payout input file has more than one currency. |
MULTIPLE_SUMMARY_RECORDS | The payout input file should contain only one summary record. |
PAYOUT_AMOUNT_INVALID_FORMAT | The payout amount must use a decimal. Other special characters are not allowed. |
PAYOUT_AMOUNT_NON_POSITIVE | The payout amount must be greater than zero. |
SANDBOX_LIMIT_ERROR | The number of items in the file exceeds the sandbox file limit (sandbox only). |
SCHEDULED_TIME_ERROR | The payout can be scheduled a maximum of seven days in advance. |
SUMMARY_AMOUNT_INVALID_FORMAT | The summary amount must be a decimal. Other special characters are not allowed. |
SUMMARY_AMOUNT_NON_POSITIVE | The total payout amount in the summary line must be greater than zero. |
SUMMARY_AND_PAYOUT_MATCH_CONFLICT | The payout amount in the summary line does not match the total item value. |
SUMMARY_LINES_NON_INTEGER | The total number of payments field in the summary line must be an integer. |
SUMMARY_LINES_NON_POSITIVE | The total number of payments field in summary line must be greater than zero. |
SUMMARY_MISSING | The summary line is missing from the payout input file. |
TOTAL_PAYMENTS_MISMATCH | The TOTAL_NO_OF_PAYMENTS in the PAYOUTS_SUMMARY row must match the total records in the payout input file. |
INVALID_PURPOSE | The purpose specified for the transaction is invalid. |