Configure Services
Enable or disable a service and switch its features on or off, for the whole business or one location.
A business turns on a service, then switches on the features it supports. Services are a desired-state map written whole and merged: an omitted service code is left untouched; to turn something off, send it explicitly with enabled: false. For the codes you can use, see Supported services and features.
Common use cases
- Enable Accept Payments for a business.
- Switch a feature on or off under a service.
- Override a service's features at one location.
PENDING-PUBLISHThe boarding API Reference is pending publication; the
ref:targets on this page are placeholders. Replace each with the real boarding-specoperationIdonce the boarding reference ships.
Scenarios
The services map is written as the desired state and merged: send a service to change it, omit it to leave it untouched, and send enabled: false to turn it off. PCE returns each service's status plus what it still needs.
Before you begin (all scenarios)
- You have the
businessId(and alocationIdfor per-location features). - You know the service and feature codes you're setting (see Supported services and features).
- The business has the owners, accounts, addresses, and locations the service requires.
Scenario 1: Enable Accept Payments and its features
Write the services map with the service enabled and the features you want. Make a PATCH request to /v1/businesses/{businessId}/services.
curl -X PATCH https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/services \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{
"payin": {
"card": {
"enabled": true,
"features": {
"mxAdvantage.surcharge": { "enabled": true },
"threeDsAuthentication": { "enabled": false }
}
}
}
}'Response: 200 OK
{
"payin": {
"card": {
"uri": "/v1/businesses/{businessId}/services/payin/card",
"enabled": true,
"status": "PENDING_UNDERWRITING",
"missingFields": [],
"missingDocuments": [],
"errors": []
}
}
}status, missingFields, missingDocuments, and errors are read-only fields PCE computes for you.
Scenario 2: Turn a feature off
Send the feature explicitly with enabled: false; omitting it would leave it unchanged.
curl -X PATCH https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/services \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{ "payin": { "card": { "features": { "mxAdvantage.surcharge": { "enabled": false } } } } }'Scenario 3: Configure a service for one location
The same business can run different features at different locations. Set a location's service and features with a PATCH request to /v1/businesses/{businessId}/locations/{locationId}/services.
curl -X PATCH https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/locations/{locationId}/services \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{ "payin": { "card": { "enabled": true, "features": { "threeDsAuthentication": { "enabled": true } } } } }'See Locations for the one-business-many-locations model.
PENDING-PUBLISHAccept Payments (
services.payin.card) is the service supported end-to-end; other service codes appear in the underlying model but are not enabled for onboarded businesses. Confirm the exactservices.payin.cardshape and its feature codes against the boarding spec before publish.
Read the services
- Read the whole map:
GET /v1/businesses/{businessId}/services. - Read one service:
GET /v1/businesses/{businessId}/services/payin/card.
curl https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/services \
-H "x-api-key: <your-key>"Request reference
| Field | Description |
|---|---|
payin.card.enabled | Whether the Accept Payments card service is on. Send false to turn it off. |
payin.card.features.{code}.enabled | Whether a feature under the service is on. Codes are on Supported services and features. |
status | Read-only. The service's underwriting status. |
missingFields, missingDocuments, errors | Read-only. What the service still needs to activate. |
Statuses
An enabled service reports its own status as underwriting reviews it. See Service lifecycle for the service statuses and Status lifecycle for the business flow. Resolve a service that can't activate on Underwriting exceptions.
Sandbox testing
Use the sandbox to enable services and features before going live, and read back the computed status.
| Scenario | Test data | Expected result |
|---|---|---|
| Enable a service | payin.card.enabled: true on a complete business | 200 OK, status: PENDING_UNDERWRITING |
| Missing requirement | Enable on a business with gaps | status with populated missingFields / missingDocuments |
| Turn a feature off | enabled: false on a feature | Feature disabled; service unchanged |
Go live
The shared pre-production checklist is in Getting Started. Specific to configuring services:
- The service you enable has its required owners, accounts, addresses, and locations in place.
- Per-location features are set where they should differ.
- You read back
missingFields/missingDocumentsand resolve them before submitting.
Best practices
| Practice | Description |
|---|---|
| Write the desired state | Send a service to change it, omit it to leave it untouched, and send enabled: false to turn it off. |
| Read the computed fields | status, missingFields, missingDocuments, and errors tell you what the service still needs. |
| Set features per location | Configure each site's features on its own services path when they differ. |
| Don't invent codes | Use only the service and feature codes on Supported services and features. |
Next steps
See also
- Locations: set features per location
- Status lifecycle: the business-level boarding flow
- Underwriting exceptions: resolve a service that can't be enabled
Updated 1 day ago