---
title: "Assign Fee Schedule to Merchant / Complete and Send Welcome Email / Agree to TOS and Fees for a Merchant"
method: PATCH
path: "/v4/merchants/{gateway_id}"
tags: ["Gateway Features", "Merchants"]
---

# Assign Fee Schedule to Merchant / Complete and Send Welcome Email / Agree to TOS and Fees for a Merchant

`PATCH /v4/merchants/{gateway_id}`

> ❗️ Never Use Real API Keys
>
> Never use real API Keys when testing. The gateway allows Partners to create Test Merchant Accounts. Testing should always use keys from the Test Accounts and never keys from a Standard Account.
<details>
<summary>Assign a Fee Schedule to the Merchant</summary>

This can be done when creating the merchant in the first place <a href="createmerchant">(1. Create a Merchant)</a> but you can also add it whenever you’d like using the request below.

### Assign Fee Schedule Request
Please note this is a `PATCH` request. Attempting a `POST` will result in an error.<br />
As noted above, the `costPlan` value can be passed in the initial merchant boarding step if you know what it will be at that point.
</details>

<details>
<summary>Complete & Send the Welcome Email</summary>

This request will complete the merchant creation and send the welcome email to the merchant. `activatePendingServices` is optional, and is the equivalent of checking the “activate pending services immediately” box in the partner portal.

### Complete and Send Welcome Email Request
This is a `PATCH` request, not a `POST`.<br />
`activatePendingServices` is optional and defaults to false.<br />
Note - `agreementTextId` is based on the agreement that is needed to be agreed to. You can pull the correct agreement language with a `/merchants/{id}/agreement_text` request. This will return the id and language that you are agreeing to.
</details>

<details>
<summary>Agree to TOS and Fees for Merchant Request</summary>

### Agree to TOS and Fees for Merchant Request
This is a `PATCH` request, not a `POST`.<br />
This request will activate any and all pending service on a merchant account. This is the equivalent of checking the “Activate pending services immediately” box in the partner portal.<br>
`agreementTextId` is based on the agreement that is needed to be agreed to. You can pull the correct agreement language with a `/merchants/{id}/agreement_text` request. This will return the id and language that you are agreeing to.
</details>

## Path parameters

- `gateway_id` string, required

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- union
  - AssignFeeScheduleToMerchantRequest
    - `costPlan` string, required — Id of the fee schedule.
  - CompleteAndSendWelcomeEmailRequest
    - `status` string, required — Status of the merchant
    - `activatePendingServices` boolean — Whether to activate the pending services or not.
    - `agreementTextId` string, required — Id of the agreement text.
  - AgreeTosAndFeesForMerchantRequest
    - `activatePendingServices` boolean, required — Boolean representing if the pending services should be activated.
    - `agreementTextId` string, required — String representing the ID of agreement that is needed to be agreeded to.

## Response `200`

Success

- AssignFeeScheduleToMerchantResponse
  - `objectType` 'merchant' — The type of object that was returned as a result of the request.
  - `id` integer — The unique identifier of the processor or service instance added.
  - `type` string — The type of the merchant account which the fee scheduled was added to.
  - `created` string — The date and time that the merchant was created.
  - `updated` string — The date and time of the last update to the merchant.
  - `firstName` string — The first name of the merchant's company contact.
  - `lastName` string — The last name of the merchant's company contact.
  - `company` string — The merchant's company name.
  - `email` string — The email of the merchant's company contact.
  - `phone` string — The phone number of the merchant's company contact.
  - `fax` string — The fax number of the merchant's company contact.
  - `url` string — The merchant's website URL.
  - `address1` string — The first line of the merchant's address.
  - `address2` string — The second line of the merchant's address.
  - `city` string — The city associated with the merchant's address.
  - `state` string — The state associated with the merchant's address.
  - `zip` string — The postal code associated with the merchant's address.
  - `country` string — The country associated with the merchant's address.
  - `timezone` string — The merchant's timezone.
  - `costPlan` string — The cost plan assigned to the merchant.
  - `status` string — The status of the merchant.
  - `externalIdentifier` string — A description to further describe or identify the merchant.
  - `lastTransactionDate` string — The date of the last transaction on the merchant.
  - `parentAffiliateId` string — The ID of the affiliate directly above the merchant.
  - `accountInfo` object — Banking information for merchant billing.
    - `checkAba` string — The routing/ABA number used to bill the merchant.
    - `checkAccount` string — The account number used to bill the merchant.
    - `accountType` string — The type of bank account being used.
    - `accountHolderType` string — The type of holder for the bank account being used.
  - `features` object — A collection of various merchant feature flags.
    - `forceTos` boolean — Whether or not the merchant is forced to accept the Terms of Service.
    - `forceBillingAuth` boolean — Whether or not the merchant is forced to accept the Billing Auth.
    - `allowBlindCredits` boolean — Whether or not the merchant is allowed to issue blind credits for Credit Cards.
    - `allowBlindCheckCredits` boolean — Whether or not the merchant is allowed to issue blind credits for Checks.
    - `advancedTransactionRouting` boolean — Whether or not the merchant has advanced transaction routing enabled.
    - `sendBillingEmail` boolean — Whether or not the merchant receives an email for their billing.
    - `braspag` object — Feature flags specifically related to the braspag processor.
      - `advancedTransactionRouting` boolean — Whether or not the braspag processor has advanced transaction routing enabled.
    - `verifi` object — Feature flags specifically related to the verifi service.
      - `enabled` boolean — Whether or not the verifi service is enabled for the merchant.
    - `viewBillingStatement` boolean — Whether or not the merchant can view their billing statement.
    - `litle` object — Feature flags specifically related to the litle processor.
      - `reportGroup` string — The merchant's litle report group. Returns false if not configured.
      - `prePaidIndicator` string — The merchant's litle prepaid indicator. Returns false if not configured.
      - `affluentIndicator` string — The merchant's litle affluent indicator. Returns false if not configured.
      - `recycleAdvice` string — The merchant's litle recycle advice. Returns false if not configured.
      - `campaign` string — The merchant's litle campaign. Returns false if not configured.
      - `affiliate` string — The merchant's litle affiliate. Returns false if not configured.
      - `merchantGroupId` string — The merchant's litle group ID. Returns false if not configured.
    - `allowEmptyCcExp` boolean — Whether or not the merchant is allowed to pass empty Credit Card Expiration Dates.
    - `pastDue` boolean — Whether or not the merchant's bill is past due.
    - `apiReceipt` boolean — Whether or not the merchant's API transactions send receipts.
    - `batchReceipt` boolean — Whether or not the merchant can batch receipts.
    - `delinquent` boolean — Whether or not the merchant is in a delinquent state.
    - `commercialCardIndicator` string — The merchant's commercial card indicator. Returns false if not configured.
    - `customDescription` string — The merchant's custom description. Returns false if not configured.
    - `apiAllowOnlyUsername` boolean — Whether or not the merchant can authenticate with the APIs using only a username.
    - `orderIdDuplicateCheck` boolean — Whether or not the merchant has duplicate checking for the Order ID field.
    - `cardLevelResult` string — The merchant's card level result. Returns false if not configured.
    - `pmsalem` object — Feature flags specifically related to the pmsalem processor.
      - `ignoreAmexCvv` boolean — Whether or not the merchant's pmsalem processor ignores the Amex CVV field.
      - `allowNovusVerify` boolean — Whether or not the merchant's pmsalem processor can verify Novus cards schemes.
      - `idInMdf11` boolean — Whether or not the merchant's pmsalem processor can pass the ID in MDF11.
    - `credorax` object — Feature flags specifically related to the credorax processor.
      - `bankNet` string — The merchant's bank net value for credorax. Returns false if not configured.
      - `z5Risk` string — The merchant's z5 risk value for credorax. Returns false if not configured.
    - `vantiv` object — Feature flags specifically related to the vantiv processor.
      - `remainingBalance` string — The merchant's remaining balance for vantiv. Returns false if not configured.
    - `prosa` object — Feature flags specifically related to the prosa processor.
      - `deferredPayment` boolean — Whether or not the merchant has deferred payments enabled for the prosa processor.
    - `cronopay` object — Feature flags specifically related to the cronopay processor.
      - `customerId` string — The merchant's cronopay customer ID. Returns false if not configured.
    - `captureHigher` boolean — Whether or not the merchant is allowed to capture higher than the preceding auth.
    - `moneris` object — Feature flags related specifically to the moneris processor.
      - `orderId` string — The merchant's order ID for moneris transactions. Returns false if not configured.
    - `extendedFileBatchResponse` boolean — Whether or not the merchant receives and extended file batch response.
    - `credov3` object — Feature flags related specifically to the credov3 processor.
      - `ignoreAmexCvv` boolean — Whether or not the merchant's credov3 processor ignores the Amex CVV field.
    - `enforceRequiredFieldsForSwiped` boolean — Whether or not the merchant must continue to pass required fields when using Swipe.
    - `preventDuplicateCvRecords` boolean — Whether or not the merchant is prevented from making duplicate Customer Vault records.
    - `preventConfiguringSurcharge` boolean — Whether or not the merchant is prevented from configuring settings for surcharge.
    - `tsys` object — Feature flags related specifically to the tsys processor.
      - `paymentFacilitatorFields` string — The merchant's tsys payment facilitator fields. Returns false if not configured.
      - `allowCustomReport` boolean — Whether or not the merchant is allowed to do a custom report with tsys.
      - `alternativePostData` boolean — Whether or not the merchant is allowed to add alternative post data with tsys.
    - `requireProcessorFieldOnVt` string — Require a processor be specified on all transactions in the Virtual Terminal.
    - `isCardTesting` string — Is merchant's card testing.
    - `allowTipOnVtKeyedTransactions` string — Allow merchant to enter tips in the virtual terminal on keyed transactions.
    - `transitForceAcceptance` string — Merchant is approved for Force Acceptance.
    - `level3` object — Merchant's level III template data.
      - `autoLoadTemplate` boolean — Automatically add my Level III template data to the merchant's credit card transactions.
    - `emvPartialApprovals` string — Allow Merchant to accept Partial Approvals for EMV transactions.
    - `allowOfflineAuths` string — Allow merchant to issue Offline/Voice Authorizations.
    - `supportsGooglePay` string — Merchant supports Google Pay.
    - `supportsApplePay` string — Merchant supports Apple Pay.
    - `isApplePayEnabled` string — Is Apple Pay enabled.
    - `useDeviceRecognition` string — Enable device recognition for all merchant users when logging into the control panel (users with two-factor enabled are exempt).
  - `needsPendingServicesActivated` string — Merchant needs pending services activated.
  - `payFacBillingPeriod` string — Payment Facilitator Billing Period.
  - `rejectedCertificates` string — Number of rejected certificates.

---

[API](https://skmtc.net/nmi/apis/embedded-components-api.md) · [All operations](https://skmtc.net/nmi/apis/embedded-components-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nmi/embedded-components-api/versions/45c2ecda3685/schema)
