Update merchant's fees

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

Update Merchant Fees (v1)

⚠️

Deprecated — use boardingv2_updatefees instead.

Updates the complete fee configuration for a merchant application identified by its profile ID. The fee structure covers all card brand discount rates (Visa, Mastercard, Discover, Amex), authorization and monthly fees, POS software fees, gateway product fees, PIN debit/EBT fees, and miscellaneous custom fee items. Only the fee groups provided in the request body will be updated.

Endpoint

POST /api/v1/merchant/fees

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 after initial merchant submission to set or revise the fee schedule before the application is approved. Fee updates are typically needed when negotiating rates with a specific merchant or when applying a non-standard pricing program. For new integrations, use the v2 fees endpoint which includes support for additional fee programs such as CashDiscount, Surcharge, ServiceFee, and DualPricing.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID whose fees are being updated (1–999999).
feesobjectNoTop-level fee container. Omit groups that should not be changed.
fees.minimumDiscountAmountnumberNoMinimum monthly discount amount (0–500).
fees.minimumDiscountStartDatestring (date-time)NoDate from which the minimum discount takes effect.
fees.minimumDiscountTypestringNoFrequency of the minimum discount. Enum: Daily, Monthly.
fees.earlyTerminationFeeAmountnumberNoEarly termination fee amount (0–999999).
fees.earlyTerminationFeeContractMonthsintegerNoContract duration in months for ETF (0–60).
fees.amexobjectNoAmex fee structure (interchange plus, tiered, no-surcharge, or interchange++).
fees.visaMasterCardDiscoverobjectNoVisa/MC/Discover fee structure (interchange+, bill-back, tiered retail, tiered MOTO, custom interchange, or interchange++).
fees.authorizationMonthlyAndSpecialProgramobjectNoPer-transaction and monthly fees (auth, AVS, batch, chargeback, statement, PCI, etc.).
fees.posobjectNoPOS software package fees (full package, table-side, protection, licenses).
fees.standardobjectNoStandard service fees (online portal, MOTO surcharge, next/same-day funding).
fees.cardBrandobjectNoCard brand pass-through fee toggles (Visa/MC card brand fees, MC license).
fees.debitPinAndEBTobjectNoPIN debit and EBT transaction fees.
fees.gatewayProductsobjectNoGateway access, per-item, wireless, and mPOS fees.
fees.miscFeesarrayNoCustom miscellaneous per-item/volume fee items.
fees.miscFeesVolumearrayNoCustom miscellaneous volume-based fee items.

Each TsysFee sub-object has:

FieldTypeRequiredDescription
perItemnumber (double)YesFlat per-transaction fee amount in dollars.
percentnumber (double)YesPercentage rate applied to transaction volume.
{
  "id": 10482,
  "fees": {
    "minimumDiscountAmount": 25.00,
    "minimumDiscountType": "Monthly",
    "earlyTerminationFeeAmount": 495.00,
    "earlyTerminationFeeContractMonths": 36,
    "visaMasterCardDiscover": {
      "interchangePlus": {
        "vsQualCrDiscount": { "perItem": 0.10, "percent": 0.25 },
        "vsQualDbDiscount": { "perItem": 0.10, "percent": 0.10 },
        "mcQualCrDiscount": { "perItem": 0.10, "percent": 0.25 },
        "mcQualDbDiscount": { "perItem": 0.10, "percent": 0.10 },
        "dsQualCrDiscount": { "perItem": 0.10, "percent": 0.25 },
        "dsQualDbDiscount": { "perItem": 0.10, "percent": 0.10 }
      }
    },
    "authorizationMonthlyAndSpecialProgram": {
      "vsmcdiscAuth": { "perItem": 0.05, "percent": 0.00 },
      "amexAuth": { "perItem": 0.10, "percent": 0.00 },
      "avs": { "perItem": 0.05, "percent": 0.00 },
      "batch": { "perItem": 0.25, "percent": 0.00 },
      "chargeback": { "perItem": 25.00, "percent": 0.00 },
      "statement": { "perItem": 10.00, "percent": 0.00 },
      "pciAnnual": { "perItem": 99.00, "percent": 0.00 }
    },
    "miscFees": [
      {
        "name": "Monthly Minimum Fee",
        "frequency": "Monthly",
        "perItem": 25.00,
        "percent": 0.00
      }
    ]
  }
}

Response

200 OK

FieldTypeDescription
dataobjectEmpty object on success (no additional data returned).
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": 65203
}

Error Codes

CodeWhen it happens
400The id is missing, out of range, or a fee field fails validation (e.g., minimumDiscountAmount > 500).
401Invalid or missing Basic Auth credentials.
403User does not have permission to update fees for this merchant.
404No merchant application found with the given ID.
500Internal server error.

Common Mistakes

  • Sending an empty fees object without any sub-groups has no effect — always include the specific fee groups being updated.
  • minimumDiscountAmount must be between 0 and 500; values outside this range return a 400 error.
  • earlyTerminationFeeContractMonths must be between 0 and 60.
  • miscFees items require name, frequency, perItem, and percent — omitting any of these causes a 400 error.
  • This is a v1 deprecated endpoint — prefer the v2 fees endpoint for new integrations.

Related Endpoints

  • POST /api/v1/merchant/submit — Initial submission that can include fees in the request body.
  • POST /api/v1/merchant/info — Update the merchant profile settings.
  • POST /api/v1/merchant/account — Update the sales and business profile.

Example

curl -X POST https://hq.staging.netevia.dev/api/v1/merchant/fees \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 10482,
    "fees": {
      "minimumDiscountAmount": 25.00,
      "minimumDiscountType": "Monthly",
      "earlyTerminationFeeAmount": 495.00,
      "earlyTerminationFeeContractMonths": 36,
      "authorizationMonthlyAndSpecialProgram": {
        "vsmcdiscAuth": { "perItem": 0.05, "percent": 0.00 },
        "chargeback": { "perItem": 25.00, "percent": 0.00 },
        "statement": { "perItem": 10.00, "percent": 0.00 }
      }
    }
  }'
Body Params
fees
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