Locations
Add the sites where a business operates, each with its own processing profile and features
A location is a site where a business operates, with its own address, processing profile, and industry (MCC). One legal entity can run many locations, each its own merchant ID (MID) with its own processing profile and features. For the full field list, jump to the Request reference.
Common use cases
- Add a single location with its processing profile. See Scenario 1.
- Run many locations under one business, each with its own MID. See Scenario 1.
- Add a location later and enable its service independently of the others. See Scenario 2.
Scenarios
One EIN is one business; locations are how that one business operates in more than one place. Each location becomes its own merchant ID (MID) and carries its own processing profile and features.
Before you begin (all scenarios)
- You have the
businessIdthe location belongs to. - You have the site's address. Only
nameandaddressare required; the processing profile, industry, and contact fields are optional.
Scenario 1: Add a location
Make a POST request to /v1/businesses/{businessId}/locations.
curl -X POST https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/locations \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Online store",
"address": {
"line1": "901 Commerce St",
"city": "Austin",
"stateProvince": "TX",
"postalCode": "78701",
"countryCode": "US"
},
"phone": "+15555550121",
"processingProfile": {
"estimatedMonthlyVolume": 50000.00,
"avgTicket": 150.00,
"highTicket": 5000.00,
"cardMix": {
"swipedPercent": 0,
"motoPercent": 10,
"ecomPercent": 90
}
},
"industry": {
"mccCode": "5969",
"description": "Direct marketing retailer"
}
}'Response: 201 Created.
{
"id": "loc_1d6b84",
"uri": "/v1/businesses/{businessId}/locations/loc_1d6b84",
"name": "Online store"
}A location carries its own address, a processingProfile, and an industry (MCC code and description). The processingProfile holds estimated monthly volume, average and high ticket, and a cardMix of swiped, MOTO, and eCommerce. Volume and card mix live here because they are per-site facts. Seasonal sites also carry an operational block (isSeasonal, and openMonths when seasonal).
Scenario 2: Add a location later and enable its service
Add a second site to a business that already exists, then enable its service independently of the others.
# 1. Add the new location
curl -X POST https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/locations \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Airport kiosk",
"address": {
"line1": "3600 Presidential Blvd",
"city": "Austin",
"stateProvince": "TX",
"postalCode": "78719",
"countryCode": "US"
},
"industry": {
"mccCode": "5814",
"description": "Fast food"
}
}'Enable a service at the location with a PATCH request to /v1/businesses/{businessId}/locations/{locationId}/services/{serviceCode}. Use payin.card for card processing.
# 2. Enable the card service on this location
curl -X PATCH https://sandbox-api.prioritycommerce.com/v1/businesses/{businessId}/locations/loc_1d6b84/services/payin.card \
-H "x-api-key: <your-key>" \
-H "Content-Type: application/json" \
-d '{
"enabled": true
}'The same business can run different features at different locations: one storefront on surcharge, another on 3-D Secure. For the feature codes you can set, see Configure services and Supported services and features.
When is it one business or two?
The test is the tax ID. Sites that share one EIN are one business with many locations; a different EIN is a separate business, onboarded on its own.
- Same EIN: one business with multiple locations, each added under the same
businessId. - Different EIN: a separate business, onboarded on its own.
Manage locations
| Action | Call |
|---|---|
| List | GET .../locations |
| Read one | GET .../locations/{locationId} |
| Update | PATCH .../locations/{locationId} |
| List its services | GET .../locations/{locationId}/services |
| Enable or disable a service | PATCH .../locations/{locationId}/services/{serviceCode} |
In the table,
... is shorthand for the business base path /v1/businesses/{businessId}. For example, .../locations is /v1/businesses/{businessId}/locations.
Location status
A location does not carry a status of its own. Its readiness shows on the location's services and features: read services on the location, for example services.payin.card.status and the status on each feature. These use the same values as the business's services and features. See Service lifecycle for the service and feature statuses, and Status lifecycle for the business-level flow.
Funding sits at the business
Bank accounts are held on the business, not the location. Every location settles through the business's accounts, and a single account can serve as funding, billing, or both.
A different bank account per location is not supported; accounts live at the business level. See Bank accounts.
Request reference
| Field | Required | Description |
|---|---|---|
name | Yes | A label for the site. |
address | Yes | The location's own address: line1, city, stateProvince, postalCode, countryCode. |
processingProfile | No | estimatedMonthlyVolume, avgTicket, highTicket, and a cardMix of swipedPercent, motoPercent, and ecomPercent. The three cardMix percentages must total 100. |
industry | No | mccCode (required within the block) plus an optional category and description. |
operational | No | isSeasonal, and openMonths for seasonal sites. |
phone, email, website | No | Site contact details. |
externalId | No | Your own reference for the location. |
isPrimary | No | true for the business's main site. |
Next steps
See also
- Create a business: build the business and its locations in one call
- Supported services and features: the features you can set per location
- Businesses: how locations fit the entity model
Updated 9 days ago