Welcome to the Scheduled Payments API
The Procare Pay Scheduled Payments API allows you to schedule payment groups for future processing by merchant ID, date, and hour. Groups contain one or more individual payments that are all processed together at the scheduled time. All date/time values are expressed in UTC.
What Can You Do With This API?
- Schedule Payment Groups: Create groups of payments that run automatically on a chosen future date and UTC hour.
- Manage Payments: Add, update, or remove individual payments within a group at any time before processing.
- Void or Refund: Reverse settled payments at the group or individual payment level.
- Trigger Processing: Manually kick off payment processing for testing in non-production environments.
- Email Notifications: Optionally send scheduling notifications and settlement receipts to payors per payment.
scheduleHour: 22.
Getting Started
Authentication
All endpoints require a Cognito bearer token. Obtain one using the OAuth2 client credentials flow before making any API calls.
View Auth GuideBest Practices
Essential guidance on scheduling workflows, error handling, idempotency, and production readiness for your integration.
View Best PracticesQuick Start: Create a Group
Start here to create your first scheduled payment group with one or more payments in a single request.
Create a GroupAPI Reference
/rest/merchants/{MID} where {MID} is the 11-digit Procare Pay merchant ID (TEID).
🗂️ Payment Groups
A payment group defines when a set of payments will be processed. It holds the schedule date, hour, merchant ID, and location ID.
- GET Get Pending Groups for Merchant —
/rest/merchants/{MID} - GET Get All Groups for Merchant —
/rest/merchants/{MID}/groups - POST Create Group —
/rest/merchants/{MID}/groups - GET Get Group by ID —
/rest/merchants/{MID}/groups/{GroupID} - PUT Update Group —
/rest/merchants/{MID}/groups/{GroupID} - DELETE Delete Group —
/rest/merchants/{MID}/groups/{GroupID}
💳 Payments
Individual payments live inside a group. Each payment references a saved payment method (profileId) and an amount.
- GET Get All Payments in Group —
/rest/merchants/{MID}/groups/{GroupID}/payments - POST Add Payment to Group —
/rest/merchants/{MID}/groups/{GroupID}/payments - GET Get Payment by ID —
/rest/merchants/{MID}/groups/{GroupID}/payments/{PaymentID} - PUT Update Payment —
/rest/merchants/{MID}/groups/{GroupID}/payments/{PaymentID} - DELETE Delete Payment —
/rest/merchants/{MID}/groups/{GroupID}/payments/{PaymentID}
/transactions path is functionally identical to
/payments. Both paths are supported and route to the same handlers.
↩️ Void / Refund
Reverse settled payments at the group level (all at once) or at the individual payment level.
- POST Void or Refund All Payments in Group —
/rest/merchants/{MID}/groups/{GroupID}/void-or-refund - POST Void or Refund Single Payment —
/rest/merchants/{MID}/groups/{GroupID}/payments/{PaymentID}/void-or-refund
⚡ Process Payments (Non-Production Only)
Manually trigger payment processing in development and test environments. MID must be in the test range 32350000000–32350099999.
- POST Trigger Processing for All Groups by Merchant —
/rest/merchants/{MID}/process-payments - POST Trigger Processing for a Single Group —
/rest/merchants/{MID}/groups/{GroupID}/process-payments
Common Workflows
1. Schedule a New Payment Group
- Authenticate and obtain a Cognito bearer token
- Create a payment group with
scheduleDate,scheduleHour(UTC),locationId, and an initial list of payments - Optionally add more payments to the group before the scheduled time
- At the scheduled date/hour, the system automatically processes all payments in the group
2. Update a Scheduled Group Before Processing
- List groups to find the target group ID
- Update the group to change the schedule date/hour or location
- Update individual payments to change amounts or toggle email receipt flags
3. Refund a Settled Group
- Get the group to confirm it has been processed
- Call void-or-refund on the group — the API will attempt to void or refund each settled payment
- Review the
resultsarray in the response for per-payment outcomes
Authentication & Security
Authorization header. Tokens are issued by AWS Cognito using the client credentials
flow. Required scope:
https://scheduled-payments.<env>.procarepay.com/api.execute