when we are passing date range not returning data as per available in the portal
A few things to check:
• Make sure begin_time and end_time are in full RFC 3339 format: 2026-07-01T00:00:00Z
• Note that end_time is exclusive — payouts created at exactly that timestamp are not included. Extend it by a day to capture the full range.
• If you have multiple locations, pass the specific location_id — the default is your main location only.
• Try calling the endpoint with no date filters first to confirm data exists, then narrow the range.
• The API only has payout data from January 2021 onward.
Hello Square Support Team,
We are currently using the Square SDK/DLL (v25.3) in our production environment for approximately 14 locations, and everything is working as expected.
Recently, a new location was added under the same merchant account. We have configured it exactly the same way as the existing locations; however, we are unable to retrieve any data for this new location.
To troubleshoot, we have performed the following checks:
- Verified that the location has been configured correctly.
- Tested the API directly, outside of our application.
- Tested the same requests using the Square Developer Portal/API Explorer.
In all cases, the API returns no data for the new location. However, when we log in to the Square Dashboard, the data for this location is visible and appears to be correct.
Since the issue is reproducible even through the Square Developer Portal, it does not appear to be related to our application or the SDK.
Could you please help us investigate the following?
- Whether the new location is fully enabled for the APIs we are using.
- Whether there are any permissions or authorization issues associated with this location.
- Whether there is any backend configuration or synchronization required for the newly added location.
- Whether our application/token needs to be reauthorized to access the new location.
Please let us know if you require the Merchant ID, Location ID, request details, or any additional information to assist with the investigation.
Thank you for your support.
In addition to above i have few more findings , please help me on urgent baisis:
Issue with GET /v2/payouts API Returning Incomplete Payout Data for a Specific Location
Hello Square Support Team,
I am experiencing an issue with the Payouts API while retrieving payout data for one of our Square locations.
We are using the official Square Payouts API:
Endpoint: GET /v2/payouts
We are also validating our requests using the official Square API Explorer:
API Documentation:
GET /v2/payouts - Square API Explorer
Issue Description
For one specific location, the API always returns an HTTP 200 OK response, but the payout data is incomplete.
The behavior is as follows:
- When calling the API without
begin_timeandend_time, we expect to receive the complete payout history for the location. - Instead, the API only returns payouts from June onward.
- When calling the API with different date ranges, the response still returns the same June payout data, regardless of the dates provided.
- The
begin_timeandend_timeparameters do not appear to affect the response.
This issue occurs consistently for this particular location.
Expected Behavior
- Without a date range, the API should return the complete list of payouts available for the specified location.
- With
begin_timeandend_time, the API should return only the payouts that fall within the specified date range.
Actual Behavior
- The API always returns HTTP 200 OK.
- The response contains only payout records from June, irrespective of whether a date range is provided.
- Changing the date range does not change the returned data.
Additional Information
- This store/location was recently configured.
- We would like to know if there are any additional settings, permissions, reconciliation settings, payout configuration, or account-level configurations required for a newly configured location that could affect the Payouts API response.
- We have verified that we are using the official API endpoint and the same behavior is observed in the Square API Explorer.
I have attached a screenshot showing the API request and response for your reference.
Could you please investigate whether this is an API issue or if there is any configuration required for this location?
If you need the Location ID, Merchant ID, Request IDs, or any additional information, I will be happy to provide them.
Thank you for your assistance.
Thanks for the detailed troubleshooting. Ruling out your application and SDK by reproducing this in API Explorer is really helpful. Since you’re seeing this with the same token across tools, this is almost certainly an account/authorization-level issue rather than a code issue. A few things to verify:
1. Confirm the token can actually see the new location. Call ListLocations with the same access token you’re using for payouts. If the new location doesn’t appear in that response, it was likely created under a different merchant account (or business unit) than your other 14 locations. In that case, your token has no visibility into it, and you’d need a separate authorization for that account. This is the most common cause of “Dashboard shows data, API returns nothing.”
2. Double-check the location_id. Make sure you’re using the location ID exactly as returned by ListLocations (not the nickname or an ID copied from a Dashboard URL). Also confirm the location’s status is ACTIVE.
3. Keep in mind what the Payouts API returns. ListPayouts only returns completed/scheduled transfers to your bank, not individual sales. If the location is new, it may not have had a payout batch settle yet even though transactions are visible in the Dashboard. Try comparing against the Balance → Transfer reports section in Dashboard rather than sales reports.
4. If you’re on OAuth, tokens are merchant-scoped, so a new location under the same merchant shouldn’t require reauthorization. But if step 1 shows the location is missing, the seller will need to complete the OAuth flow for whichever account owns that location.
If ListLocations does return the new location and payouts still come back empty for date ranges where the Dashboard shows completed transfers, let us know and I will DM you for more info.
thanks for reply, we have verified the points shared by you as :
1. Confirm the token can actually see the new location. Call ListLocations with the same access token you’re using for payouts. If the new location doesn’t appear in that response, it was likely created under a different merchant account (or business unit) than your other 14 locations. In that case, your token has no visibility into it, and you’d need a separate authorization for that account. This is the most common cause of “Dashboard shows data, API returns nothing.”
- Verified this is correct, and merchant is also correct
2. Double-check the location_id. Make sure you’re using the location ID exactly as returned by ListLocations (not the nickname or an ID copied from a Dashboard URL). Also confirm the location’s status is ACTIVE.
- Verifed and checked location_id is active and same as requried
3. Keep in mind what the Payouts API returns. ListPayouts only returns completed/scheduled transfers to your bank, not individual sales. If the location is new, it may not have had a payout batch settle yet even though transactions are visible in the Dashboard. Try comparing against the Balance → Transfer reports section in Dashboard rather than sales reports.
-we are able to see in the square portal as shared blow details
4. If you’re on OAuth, tokens are merchant-scoped, so a new location under the same merchant shouldn’t require reauthorization. But if step 1 shows the location is missing, the seller will need to complete the OAuth flow for whichever account owns that location.
- verifed these are ok
in addition to this , as shared screenshot above we are able to see in the square portal but api returning nothing, all 4 pointsyou have share are verifed and according to us these are ok. please help us to fix this and take these are urgent. if possible can you please arrange a call with us so that will share screen and fix this
Thanks
waiting for your valuable reply
waiting for your valuable reply
Please help me to fix this asap
Hi alynk to help us troubleshoot further, please post the following. Since this is a public forum, feel free to redact sensitive values, always remove your access token, and you’re welcome to mask amounts, payout IDs, and the middle characters of your location/merchant IDs (e.g. L3XXXXXXXXQ). Just keep the structure of the request and response intact:
- The exact request from API Explorer. At the bottom of the Explorer page there’s a generated cURL command; copy and paste it here. I specifically need to see the full URL including the query string, e.g.:
https://connect.squareup.com/v2/payouts?location_id=XXXX&begin_time=2026-07-01T00:00:00Z&end_time=2026-07-31T00:00:00Z
-
The raw JSON response body for that request, not a summary of it. You can mask the values, but keep all the fields, especially whether a
cursorfield is present. -
One concrete payout from the Dashboard that you believe is missing: the date, and whether it appears under Balance → Transfer reports (not the Sales/Transactions report — sales are not payouts).
A few things I’d flag, because they’re the most common causes of exactly this symptom:
- “Date range has no effect” almost always means the parameters aren’t actually on the request. If you change
begin_timeand get a byte-for-byte identical response, the API most likely never received the parameter. The cURL from step 1 will confirm this in seconds. - Check for a
cursorin the response. ListPayouts is paginated (default 100 results). If a cursor is returned, you’re only seeing the first page — the “missing” data may be on subsequent pages. - Confirm you’re comparing like for like. Sales visible in the Dashboard are not payouts. Only settled transfers to your bank appear in this API. If the earlier Dashboard entries you’re seeing are sales or instant transfers, the API response may in fact be complete.
Once you post the cURL and the raw response, I’ll be able to tell you exactly what’s happening, and if it does turn out to be something on our side, I’ll escalate it from there.
Thanks for update, below are the findings
the full url is :
https://connect.squareup.com/v2/payouts?location_id=LCXXXXXXXXXXQ&end_time=2026-08-08T01%3A01%3A01Z&begin_time=2026-06-01T01%3A01%3A01Z
Response json is :
{
"payouts": [
{
"id": "***",
"status": "PAID",
"location_id": "***",
"created_at": "2026-06-29T02:21:05Z",
"updated_at": "2026-07-05T12:22:15.058Z",
"amount_money": {
"amount": 000,
"currency_code": "USD"
},
"destination": {
"type": "BANK_ACCOUNT",
"id": "bact:***"
},
"version": 2,
"type": "BATCH",
"arrival_date": "2026-06-29"
},
{
"id": "***",
"status": "PAID",
"location_id": "***",
"created_at": "2026-06-24T02:18:06Z",
"updated_at": "2026-06-30T06:23:04.707Z",
"amount_money": {
"amount": 000,
"currency_code": "USD"
},
"destination": {
"type": "BANK_ACCOUNT",
"id": "bact:***"
},
"version": 2,
"type": "BATCH",
"arrival_date": "2026-06-24"
},
{
"id": "***",
"status": "PAID",
"location_id": "***",
"created_at": "2026-06-23T02:17:44Z",
"updated_at": "2026-06-29T05:46:11.450Z",
"amount_money": {
"amount": 000,
"currency_code": "USD"
},
"destination": {
"type": "BANK_ACCOUNT",
"id": "bact:***"
},
"version": 2,
"type": "BATCH",
"arrival_date": "2026-06-23"
},
{
"id": "***",
"status": "PAID",
"location_id": "***",
"created_at": "2026-06-22T02:22:38Z",
"updated_at": "2026-06-28T16:31:31.790Z",
"amount_money": {
"amount": 000,
"currency_code": "USD"
},
"destination": {
"type": "BANK_ACCOUNT",
"id": "bact:***"
},
"version": 2,
"type": "BATCH",
"arrival_date": "2026-06-22"
}
]
}
the data is missing for the month of july 2026
and there is no cursor in the response.
Please review the above response json and other details and suggest me solution for the same
Thanks
waiting for your valuable reply, we stuck please help
Your request is correctly formed: the timestamps are valid RFC 3339, the range covers all of July, and with no cursor in the response, pagination isn’t the issue. The API is returning everything it has for that specific location ID.
That narrows it down to one last thing to check on your side: ListPayouts is strictly per-location, and the Dashboard’s transfer report shows transfers across your whole account by default. If anything changed around the end of June (which payments route to which location, a bank account or destination change.. (I notice your June 29 payout was updated on July 5), the July payouts may be recorded under a different location ID.
To confirm, please do this:
- Call
ListLocations, then runListPayoutswithbegin_time=2026-07-01T00:00:00Z&end_time=2026-08-01T00:00:00Zfor each location ID (and once with nolocation_idat all, which queries your main location). See whether the July payouts show up under one of the others. - In the Dashboard, open Balance → Transfer reports, filter to July, and check which location each transfer is attributed to (you can also export the CSV, which includes the location column).
If the July payouts show up under a different location, that’s your answer and you can adjust which ID you query. If they don’t appear under any location ID for that merchant, then this is something we need to look at internally.
Hi, we have and found location id is valid and data is coming for june month 5 records, but for july-august not coming, but when we are sending payments and receiveing checkout id and status but on portal as you mentioned we are not able to see regards under balances. can you please guide what should be the possible reasons. can you please setup one to one connect if possible screen share so that will fix this.
- Call
ListLocations, then runListPayoutswithbegin_time=2026-07-01T00:00:00Z&end_time=2026-08-01T00:00:00Zfor each location ID (and once with nolocation_idat all, which queries your main location). See whether the July payouts show up under one of the others.
Yes is is working
- In the Dashboard, open Balance → Transfer reports, filter to July, and check which location each transfer is attributed to (you can also export the CSV, which includes the location column).
No data fro july august, but showing records for june.
Thanks for confirming. Since Balance → Transfer reports also shows no July/August transfers, the API is returning the correct data that no payouts have been created for this location since late June.
One quick check before anything else: call ListPayments for this location with begin_time=2026-07-01T00:00:00Z and confirm that July payments exist with status: COMPLETED. Receiving a checkout ID doesn’t guarantee the payment completed, and if there are no completed payments, there’s nothing to pay out. In that case the issue is in your payment flow, and we can help with that here.
If completed payments are there but no transfers are being created, this is an account/banking matter rather than an API issue, and it’s outside what we can resolve on the dev forums. Please have the account owner contact Square Seller Support (Dashboard → Help, or squareup.com/help) about transfers not occurring for this location since June 29. They can review the linked bank account, transfer schedule, and any holds on the account, none of which we can see from the developer side.
Once transfers resume, they’ll appear in the Payouts API automatically with no changes needed to your integration.
