Update merchant's service acceptance

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Update Service Acceptance

Updates the service acceptance (product setup) configuration for an existing merchant application. This controls which card brands and payment networks the merchant is enrolled to accept, and provides the existing Amex ESA or FCS account numbers if applicable.

Endpoint

POST /api/v1/merchant/productSetup

Authentication

Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:

Authorization: Basic {base64(username:password)}

When to use

Call this endpoint when a merchant wants to add or remove acceptance of specific card types or payment networks after the initial application has been submitted. For example, enabling Amex Opt Blue or EBT acceptance mid-application without requiring a full re-submission. This data directly affects which card brands will be activated on the merchant's account at approval.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID to update (1–999999).
productSetupobjectNoService acceptance configuration.
productSetup.amexESAbooleanNoWhether the merchant has an existing Amex ESA (standalone Amex) account.
productSetup.amexOptBluebooleanNoWhether the merchant participates in the Amex Opt Blue program.
productSetup.discoverbooleanNoWhether the merchant accepts Discover.
productSetup.payPalbooleanNoWhether the merchant accepts PayPal.
productSetup.jcbbooleanNoWhether the merchant accepts JCB.
productSetup.ebtbooleanNoWhether the merchant accepts EBT (Electronic Benefits Transfer).
productSetup.debitCardbooleanNoWhether the merchant accepts PIN debit cards.
productSetup.amexNumberstringNoExisting Amex ESA account number — exactly 10 digits. Required if amexESA is true.
productSetup.fcsNumberstringNoFCS (Fuel Card Services) number — exactly 7 digits. Required if applicable.
{
  "id": 10482,
  "productSetup": {
    "amexESA": false,
    "amexOptBlue": true,
    "discover": true,
    "payPal": false,
    "jcb": false,
    "ebt": true,
    "debitCard": true
  }
}

Response

200 OK

FieldTypeDescription
dataobjectEmpty object on success.
statusstringHTTP status name (e.g., "OK").
errorstringError message if the update failed; otherwise null.
warningstringNon-fatal warning, if any.
validationResultsarrayField-level validation errors, if any.
requestIdintegerInternal request tracking ID.
{
  "data": {},
  "status": "OK",
  "error": null,
  "warning": null,
  "validationResults": [],
  "requestId": 58024
}

Error Codes

CodeWhen it happens
400id is missing or out of range; or amexNumber / fcsNumber are provided but do not match the required digit pattern.
401Invalid or missing Basic Auth credentials.
403User does not have permission to update this merchant application.
404No merchant application found with the given ID.
500Internal server error.

Common Mistakes

  • Setting amexESA: true without providing a valid 10-digit amexNumber will fail at underwriting even if the API returns 200.
  • Setting both amexESA: true and amexOptBlue: true simultaneously is typically invalid — choose one Amex program.
  • amexNumber must be exactly 10 digits (^\d{10}$); leading zeros are significant.
  • fcsNumber must be exactly 7 digits (^\d{7}$).
  • Enabling ebt requires additional configuration at the network level — coordinate with the ISO before enabling.

Related Endpoints

  • POST /api/v1/merchant/account — Update sales and business profile, including card acceptance percentages.
  • POST /api/v1/merchant/fees — Update fee rates for each accepted card network.
  • POST /api/v1/merchant/submit — Initial submission that includes service acceptance configuration.

Example

curl -X POST https://hq.staging.netevia.dev/api/v1/merchant/productSetup \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 10482,
    "productSetup": {
      "amexESA": false,
      "amexOptBlue": true,
      "discover": true,
      "payPal": false,
      "jcb": false,
      "ebt": true,
      "debitCard": true
    }
  }'
Body Params
productSetup
object
int32
required
1 to 999999
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/json