Cash App settles captured payments with the PSP (Payment Service Provider) client (also referred to as client in the technical specifications below) via ACH using a batch process. We capture the transaction-level details of each Settlement as a Reconciliation report and upload them to a client-provided SFTP server.
Cash App will deliver funds to the client for all unsettled eligible transactions before a configurable designated cutoff time. The Settlement process follows the Federal Reserve calendar for availability. Which means that, Settlement is not available on Saturdays, Sundays, and holidays.
For each daily batch of processed transactions that must be settled (i.e., CAPTURE, REFUND, CHARGEBACK), Cash App will issue a single-batched ACH Transfer with the client’s configured Bank account as the destination. Each settlement includes an ACH payment and a series of associated Reconciliation reports that can contain up to 9,999 transactions per report.
Each net Settlement will have a corresponding Reconciliation report showing the amount of each Payment, applicable fees, Refunds, and Dispute-related adjustments used in the calculation of the Settlement amount. This report is delivered daily via Secure File Transfer Protocol (SFTP) to the PSP. Cash App uploads Reconciliation reports to a client-provided SFTP server. To do this, we want the following information:
SFTP hostname
SFTP port
Username of the PSP’s SFTP server
SFTP user’s private RSA key
SFTP server host’s public RSA key (optional)
Destination folder path (filepath for uploading the reports)
As an additional security benefit, Cash App Pay can optionally PGP encrypt settlement files before they’re uploaded to the client SFTP server.
We give each activity Reconciliation report a unique filename to avoid upload collisions using the following convention:
<yyyymmdd>_settlement_report_client_<client-id>_batch_<batch-id>_chunk_<chunk index>.csv
<yyyymmdd>is the date of settlement for settlement batch. For manually generated activity reconciliation reports,<yyyymmdd>is the date the report was generated.
Activity Reconciliation report files can contain up to 9,999 records. Each file will contain headers in the top row, and then each subsequent row will have the following schema:
The Balance Summary report contains the client’s starting balance and ending balance, activity and payout details for a given processing window—to help understand daily payout, and provide information on carried-forward balances. Each report is given a unique filename to avoid upload collisions using the following convention:
<yyyymmdd>_balance_summary_report_client_<client-id>_batch_<batch-id>.csv
<yyyymmdd>is the date of settlement for the settlement batch.
Each file will contain headers in the top row, and then exactly four rows with the following schema:
If a given processing window has a negative net settlement, no funds will be delivered to the client and Cash App will carry-forward the negative balance to the following day. The Balance Summary Report will reflect this negative balance as shown below:
The Activity Summary report contains the net amount, gross amount, and fee amount totals for each transaction category. Each report is given a unique filename to avoid upload collisions using the following convention:
<yyyymmdd>_activity_summary_report_client_<client-id>_batch_<batch-id>.csv
<yyyymmdd>is the date of settlement for the settlement batch.
Each file will contain headers in the top row, and then exactly three rows(one row per transaction type) with the following schema:
Fraud disputes where Cash App Pay takes on liability are included here for informational purposes only and do not impact settlement.