Large Batch
Last updated: Sept 23rd, 8:24pm
Large batch payouts help you send payouts to an unlimited amount of recipients at once. Large batch payouts are recommended for more than 15,000 payouts in one batch. For fewer payouts in a batch, use Standard Payouts or Payouts Web.
How it works
-
Create a payouts input file and share it in a folder tied to your account on PayPal's secure DropZone server.
-
Payouts validates the input file and returns one of the following reports:
ACK
(acknowledgment) report. The file passed validations. PayPal begins processing the file.NACK
(negative acknowledgement) report. The file failed validations, and the report explains the errors.DUPS
(duplicate filenames) report. The file name is identical to a previous file.
-
Large files are processed in parts of up to 500,000 individual records. After each part of the input file is processed, payouts provides a Part File report. When the entire file is processed, you receive an Out File report. The reports are available in your DropZone account.
-
Recipients are notified of the payout.
1. Set up DropZone account
You can choose to first test your integration in the PayPal sandbox and send mock payouts or go straight to production and send live payouts. Follow the steps to set up a sandbox environment or production environment.
Sandbox environment
Use the PayPal sandbox to:
- Simulate file transfer to a designated folder on PayPal’s DropZone server via SFTP.
- Validate the file name, file format, checksum and file integrity.
- Test Out File reports and reconciliations.
To set up your sandbox environment:
-
Contact PayPal to have your PayPal account enabled for report access.
-
To access your sandbox SFTP account, use the SFTP tool of your choice and include this information:
- Sandbox endpoint/URL:
dropzone.es-ext.paypalcorp.com
- Destination host port:
22
- Sandbox user name
- Public
ssh
key
- Sandbox endpoint/URL:
Next, set up your production environment to send live payouts or create an input file.
Production environment
Transactions performed in the production environment are live. Money is debited from your PayPal balance and credited to each recipient’s PayPal or Venmo account. If the recipient doesn't claim the money within 30 days from the payout date, the money is returned to your account.
To set up your production environment:
-
Contact PayPal to have your PayPal account enabled for report access.
-
To access your production SFTP account, use the SFTP tool of your choice and include this information:
- Production endpoint/URL for the SFTP login:
dropzone.paypal.com
- Destination host port:
22
- Production user name
- Publish
ssh
key
- Production endpoint/URL for the SFTP login:
Next, create an input file and place it in your Incoming folder.
2. Create input file
Create a comma separated value (.csv) input file that includes a summary line and information for each individual payout item.
The following sample .csv sends a payout to 3 PayPal recipients and 2 Venmo recipients:
1PAYOUT_SUMMARY,17.9,USD,5,"You got paid",Payout for2PAYOUT,test-1@paypal.com,4.82,USD,REF_ID_1,NOTE_13PAYOUT_VENMO,5551232368,4.93,USD,REF_ID_2,NOTE_24PAYOUT_VENMO,5551232369,2.77,USD,REF_ID_3,NOTE_35PAYOUT,test-4@paypal.com,3.51,USD,REF_ID_4,NOTE_46PAYOUT,test-5paypal.com,1.87,USD,REF_ID_5,NOTE_5
Add Summary line
The first line of the input file must contain a PAYOUT_SUMMARY
as shown in this example:
1PAYOUT_SUMMARY,TOTAL_PAYOUT_AMOUNT,CURRENCY_CODE,TOTAL_NO_OF_PAYMENTS,EMAIL_SUBJECT,EMAIL_MESSAGE
Use this information to complete each field of the summary:
Field | Description |
---|---|
PAYOUT_SUMMARY |
|
TOTAL_PAYOUT_AMOUNT |
|
CURRENCY_CODE |
|
TOTAL_NO_OF_PAYMENTS |
|
EMAIL_SUBJECT |
|
EMAIL_MESSAGE |
|
Add individual item records
Beginning with the second line of the input file, add a record for each individual payout item as shown in this example:
1PAYOUT,RECIPIENT,PAYOUT_AMOUNT,CURRENCY_CODE,UNIQUE_REF_ID, ITEM_LEVEL_NOTE
Use this information to complete each field for an individual item record:
Field | Description |
---|---|
PAYOUT PAYOUT_VENMO |
|
RECIPIENT |
|
PAYOUT_AMOUNT |
|
CURRENCY_CODE |
|
UNIQUE_REF_ID |
|
ITEM_LEVEL_NOTE |
|
SOCIAL_FEED_PRIVACY |
|
HOLLER_URL [DEPRECATED] |
|
LOGO_URL |
|
PURPOSE (Optional) |
Denotes the purpose of the transaction. The default value is GOODS if the purpose is not provided. Purpose can be set to:
|
Save input file
Use this naming convention to save the file:
1pp_payouts_<epoch_time>_<reference_name><format>
Where pp_payouts
is static and lowercase. Variable fields in the file name include:
Field | Description |
---|---|
epoch_time |
Use an epoch timestamp. Timestamps in the past are acceptable. Future timestamps must be within seven days from the time that you place the file on the DropZone server. |
reference_name |
Must be alphanumeric
[0-9 , a-z , A-Z ]
. Only use the underscore (_ ) and hyphen (- ) as special characters. Other special characters are not allowed. Maximum character length: 63
|
format |
Either .csv or .csv.gz |
3. Upload input file
You can upload and test your input file in your sandbox environment or upload your input file to your production environment and make live payouts. Once you upload the file, Payouts validates the file.
File validation
Payouts performs the following validations on your input file:
Validation | Fails if |
---|---|
Currency mismatch | The input file contains more than one currency. |
Duplicate file | The input file name isn't unique. The file can't match a previous input file name. |
File empty | The file is empty or corrupt. |
File encoding format | The file isn't in UTF-8 format. |
File existence | The file doesn't exist in the source folder. |
File format | The file contains characters, columns, or details not required for processing payouts. |
File integrity | The payout summary doesn't match the payout item record details. |
File name | The input file doesn't use the correct file naming convention. |
Sandbox items limit | The number of items in the file exceeds the sandbox file limit (sandbox only). |
Summary and line item | Any of these conditions exist:
|
When the validation is complete, you receive an acknowledgment report.
Acknowledgment reports
After Payouts validates your input file, you receive one of these acknowledgment reports:
ACK
report - Validation passed.NACK
report - Validation failed.
ACK report
If your input file passes validation, Payouts places an ACK
report in your Outgoing folder. The ACK
report name matches the input file name, as shown in this example:
Input file name | ACK report name |
---|---|
pp_payouts_6627887729_testfile.csv |
pp_payouts_6627887729_testfile_ack.csv |
The file is formatted as follows:
DATE_TIME_STAMP_IN_UTC,ORIGINAL_FILE_NAME,ACCEPTED_FOR_PROCESSING
Where the date is the time of acknowledgment, as shown in this example:
2018-02-26T05:48:53Z,pp_payouts_6627887729_testfile,ACCEPTED_FOR_PROCESSING
When you receive an ACK
report, Payouts begins processing the input file. You can then view reports to see the payout status.
NACK report
If your input file fails validation, PayPal places a NACK
report in your Outgoing folder.
The NACK
report name matches the input file name:
Input file name | NACK report name |
---|---|
pp_payouts_6627887729_testfile.csv |
pp_payouts_6627887729_testfile_nack.csv |
The file contains the errors found and is formatted as follows:
Line | Contents |
---|---|
Summary line | PAYOUT_SUMMARY,CURRENCY_CODE,ERROR_ENUM,ERROR_DESCRIPTION |
Individual item records | PAYOUT,LINE_NO,REF_ID,ERROR_ENUM,ERROR_DESCRIPTION |
This example shows a NACK
file with errors:
1PAYOUT_SUMMARY,ASD,CURRENCY_INVALID,Currency is not valid2PAYOUT_SUMMARY,USD,SUMMARY_AND_PAYOUT_MATCH_CONFLICT,Summary and Payout details must match3PAYOUT,4,fourth-ref-id,PAYOUT_AMOUNT_INVALID_FORMAT,Invalid Payout amount format
Correct any issues. Give the corrected file a unique name and put it in your Incoming folder. Payouts validates again and sends a new ACK
or NACK
report to your Outgoing folder.
When you receive an ACK
report, Payouts begins processing the input file. You can then view status reports.
For more information on errors, see File validation errors.
4. View reports
Payouts generates reports at three different file processing stages. This table describes the reports and shows the example report name for an input file named PP_PAYOUTS_1517395059_ABC123.csv
:
Report | Description | Example report name |
---|---|---|
Part File report | Generated after a part of an input file is processed. In the case of multiple part files, the payout items are mutually exclusive across each part file. The Part File report contains the start and end row number in the file name. For example, if a part file name contains 1_350 , items 1 through 350 were processed. |
PP_PAYOUTS_1517395059_ABC123_1_350.csv |
Out / Interim report | Generated after all parts of an input file are processed. | PP_PAYOUTS_1517395059_ABC123_OUT.csv |
Final report | Generated 31 days after the Interim report. Includes the final status of unclaimed transactions. | PP_PAYOUTS_1517395059_ABC123_FINAL.csv |
Report format
The Part, Out/Interim, and Final reports all use the same format:
1REF_ID,PAYOUT_ITEM_ID,TRANSACTION_ID,RECIPIENT_NAME,RECIPIENT,CURRENCY_CODE,PAYOUT_AMOUNT,FEE,TOTAL,TRANSACTION_STATUS,ERROR_ENUM,ERROR_MESSAGE,TIME_PROCESSED,TIME_CLAIMED[Applicable for Unilateral Case]
Sample report
1REF_ID_1,SX3QT8QVBVE4L,35P324312A142790D,,test-1@paypal.com,USD,4.82,0.25,5.07,UNCLAIMED,RECEIVER_UNREGISTERED,Receiver is unregistered,2018-01-16T10:33:22Z2REF_ID_2,HP3B9BRJYMKRU,1H080416VK328525U,,bjonny-us4@paypal.com,USD,4.93,0.25,5.18,SUCCESS,,,2018-01-16T10:33:20Z3REF_ID_3,BUPR735Z5CJBJ,7FB53422KY616915S,,test-3@paypal.com,USD,2.77,0.25,3.02,UNCLAIMED,RECEIVER_UNREGISTERED,Receiver is unregistered,2018-01-16T10:33:19Z4REF_ID_6,AU49JFTXWUQ8Q,7RG81691FV520321P,,test-1@paypal.com,USD,0.86,0.25,1.11,UNCLAIMED,RECEIVER_UNREGISTERED,Receiver is unregistered,2018-01-16T10:33:20Z5REF_ID_7,C5USHNEDMCXWL,,,bjonny-us9@paypal.com,USD,1.71,0,1.71,FAILED,ACCOUNT_RESTRICTED,User is restricted,2018-01-16T10:33:16Z
Next
Learn about file validation errors