---
title: "Update pricing intent"
method: PUT
path: "/pricing-intents/{pricingIntentId}"
tags: ["pricingIntents"]
---

# Update pricing intent

`PUT /pricing-intents/{pricingIntentId}`

Use this method to update the details of a pricing intent. If you update a pricing intent, it won't affect merchant that you've previously onboarded.  

To update a pricing intent, you need its pricingIntentId. Our gateway returned the pricingIntentId in the response of the [Create Pricing Intent](https://docs.payroc.com/api/schema/boarding/pricing-intents/create) method.  

**Note:** If you don't have the pricingIntentId, use our [List Pricing Intents](https://docs.payroc.com/api/schema/boarding/pricing-intents/list) method to search for the pricing intent.  

You can update the following details about a pricing intent:  

- Fees, including the base fees, processor fees, and gateway fees.  
- Custom name for the pricing intent.  
- Additional services that merchants can sign up for.

## Path parameters

- `pricingIntentId` string, required

## Headers

- `Authorization` string, required

## Request body

- WritePricingIntent — Object that contains information about a pricing intent for Merchant Processing Agreement (MPA) 5.2.
  - `id` string — Unique identifier of the pricing intent.
  - `createdDate` string, date-time — Date and time that we received your request to create the pricing intent. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  - `lastUpdatedDate` string, date-time — Date and time that the pricing intent was last modified. We return this value in the [ISO-8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.
  - `status` 'active' | 'pendingReview' | 'rejected' — Status of the pricing intent. The value can be one of the following: - `active` - We have approved the pricing intent. - `pendingReview` - We have not yet reviewed the pricing intent. - `rejected` - We have rejected the pricing intent.
  - `key` string, required — Unique identifier that you can assign to the pricing intent for your own records.
  - `metadata` object — [Metadata](https://docs.payroc.com/api/metadata) object that contains your custom data.
  - `country` 'US', required — Two-digit code for the country that the pricing intent applies to. The format follows the [ISO-3166-1](https://www.iso.org/iso-3166-country-codes.html) standard.
  - `version` '5.2', required — Version of the MPA.
  - `base` BaseUs52, required — Object that contains information about U.S. base fees.
    - `addressVerification` integer, nullable, required — Fee for each address verification request. The value is in the currency's lowest denomination, for example, cents.
    - `annualFee` BaseUs52AnnualFee, required — Object that contains information about the annual fee.
      - `billInMonth` 'june' | 'december' — Indicates whether we collect the annual fee in June or December.
      - `amount` integer, required — Annual fee. The value is in the currency's lowest denomination, for example, cents.
    - `regulatoryAssistanceProgram` integer, nullable, required — Annual fee for the regulatory assistance program. The value is in the currency's lowest denomination, for example, cents.
    - `pciNonCompliance` integer — Fee that we apply each month if you aren't compliant with PCI standards. The value is in the currency's lowest denomination, for example, cents.
    - `platinumSecurity` union — Object that contains information about the Platinum Security fee.
      - object — monthly variant
        - `billingFrequency` 'monthly', required — Discriminator value: monthly
        - `amount` integer — Fee for Platinum Security. The value is in the currency's lowest denomination, for example, cents.
      - object — annual variant
        - `billingFrequency` 'annual', required — Discriminator value: annual
        - `amount` integer — Fee for the Platinum Security, this is returned in the lowest unit of currency. For example, cents.
    - `maintenance` integer, required — Monthly fee for maintenance. The value is in the currency's lowest denomination, for example, cents.
    - `minimum` integer, required — Monthly fee that we charge when the merchant doesn't meet the minimum fee amount. This monthly fee is in the currency's lowest denomination, for example, cents.
    - `voiceAuthorization` integer — Fee for each voice authorization. The value is in the currency's lowest denomination, for example, cents.
    - `chargeback` integer — Fee for each chargeback. The value is in the currency's lowest denomination, for example, cents.
    - `retrieval` integer — Fee for each retrieval. The value is in the currency's lowest denomination, for example, cents.
    - `batch` integer, required — Fee for each batch. The value is in the currency's lowest denomination, for example, cents.
    - `earlyTermination` integer — Fee for early termination. The value is in the currency's lowest denomination, for example, cents.
  - `processor` PricingIntent52Processor — Object that contains information about U.S. processor fees.
    - `card` union — Object that contains information about card fees.
      - object — Object that contains information about Interchange Plus.
        - `planType` 'interchangePlus', required — Discriminator value: interchangePlus
        - `fees` PricingAgreementProcessorCardDiscriminatorMappingInterchangePlusFees, required — Object that contains information about the fees.
          - `mastercardVisaDiscover` ProcessorFee, required — Object that contains information about the processor fees.
            - `volume` number, double — Percentage value up to 2 decimal places.
            - `transaction` integer
          - `amex` union — Object that contains the fees for American Express transactions.
            - object — optBlue variant
              - …
            - object — direct variant
              - …
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about Interchange Plus Plus.
        - `planType` 'interchangePlusPlus', required — Discriminator value: interchangePlusPlus
        - `fees` PricingAgreementProcessorCardDiscriminatorMappingInterchangePlusPlusFees, required — Object that contains information about the fees.
          - `mastercardVisaDiscover` QualRates, required
            - `qualifiedRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `midQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `nonQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
          - `amex` union — Object that contains the fees for American Express transactions.
            - object — optBlue variant
              - …
            - object — direct variant
              - …
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about tiered pricing with three tiers.
        - `planType` 'tiered3', required — Discriminator value: tiered3
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingTiered3Fees, required — Object that contains information about the fees.
          - `mastercardVisaDiscover` QualRates, required
            - `qualifiedRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `midQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `nonQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
          - `amex` union — Polymorphic object that contains fees for American Express transactions. The value of the type field determines which variant you should use: - `optBlue` - Amex OptBlue pricing program. - `direct` - Amex Direct pricing program.
            - object — optBlue variant
              - …
            - object — direct variant
              - …
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about tiered pricing with four tiers.
        - `planType` 'tiered4', required — Discriminator value: tiered4
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingTiered4Fees, required — Object that contains information about the fees.
          - `mastercardVisaDiscover` QualRatesWithPremium, required
            - `qualifiedRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `midQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `nonQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `premiumRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
          - `amex` union — Polymorphic object that contains fees for American Express transactions. The value of the type field determines which variant you should use: - `optBlue` - Amex OptBlue pricing program. - `direct` - Amex Direct pricing program.
            - object — optBlue variant
              - …
            - object — direct variant
              - …
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about tiered pricing with six tiers.
        - `planType` 'tiered6', required — Discriminator value: tiered6
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingTiered6Fees, required — Object that contains information about the fees.
          - `mastercardVisaDiscover` QualRatesWithPremiumAndRegulated, required
            - `qualifiedRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `midQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `nonQualRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `premiumRate` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `regulatedCheckCard` ProcessorFee, required — Object that contains information about the processor fees.
              - …
            - `unregulatedCheckCard` ProcessorFee, required — Object that contains information about the processor fees.
              - …
          - `amex` union — Polymorphic object that contains fees for American Express transactions. The value of the type field determines which variant you should use: - `optBlue` - Amex OptBlue pricing program. - `direct` - Amex Direct pricing program.
            - object — optBlue variant
              - …
            - object — direct variant
              - …
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about Flat Rate.
        - `planType` 'flatRate', required — Discriminator value: flatRate
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingFlatRateFees, required — Object that contains information about the Flat Rate fees.
          - `standardCards` ProcessorFee, required — Object that contains information about the processor fees.
            - `volume` number, double — Percentage value up to 2 decimal places.
            - `transaction` integer
          - `amex` PricingAgreementUs40ProcessorCardDiscriminatorMappingFlatRateFeesAmex — direct variant
            - `type` 'direct', required — Discriminator value: direct
            - `transaction` integer, required
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
      - object — Object that contains information about ConsumerChoice.
        - `planType` 'consumerChoice', required — Discriminator value: consumerChoice
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingConsumerChoiceFees, required — Object that contains information about the fees.
          - `monthlySubscription` integer, required
          - `volume` number, double, required — Percentage value up to 2 decimal places.
          - `pinDebit` PinDebit — Object that contains the fees for PIN-debit transactions.
            - `additionalDiscount` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
            - `monthlyAccess` integer, required
          - `electronicBenefitsTransfer` ElectronicBenefitsTransfer — Object that contains the fees for EBT transactions.
            - `transaction` integer, required
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
          - `merchantChargePercentage` number, double — Percentage value up to 2 decimal places.
      - object — Object that contains information about RewardPayChoice.
        - `planType` 'rewardPayChoice', required — Discriminator value: rewardPayChoice
        - `fees` PricingAgreementUs40ProcessorCardDiscriminatorMappingRewardPayChoiceFees, required — Object that contains information about the fees.
          - `monthlySubscription` integer, required
          - `debit` PricingAgreementUs40ProcessorCardDiscriminatorMappingRewardPayChoiceFeesDebit, required — Object that contains information about fees for debit transactions.
            - `option` 'interchangePlus' | 'flatRate' — Indicates if debit transactions should be charged at interchange plus or flat rate pricing.
            - `volume` number, double, required — Percentage value up to 2 decimal places.
            - `transaction` integer, required
          - `credit` PricingAgreementUs40ProcessorCardDiscriminatorMappingRewardPayChoiceFeesCredit, required — Object that contains information about fees for credit transactions.
            - `tips` 'noTips' | 'tipPrompt' | 'tipAdjust' — Indicates how the merchant manages tips.
            - `cardChargePercentage` number, double — Percentage value up to 2 decimal places.
            - `merchantChargePercentage` number, double — Percentage value up to 2 decimal places.
            - `merchantChargePerTransaction` integer
          - `specialityCards` SpecialityCards — Object that contains the fees for speciality cards.
            - `transaction` integer, required
    - `ach` Ach — Object that contains the fees for ACH transactions.
      - `fees` AchFees — Object that contains processing fees for ACH transactions.
        - `transaction` integer, required — Fee for each transaction. The value is in the currency's lowest denomination, for example, cents.
        - `batch` integer, required — Fee for each batch. The value is in the currency's lowest denomination, for example, cents.
        - `returns` integer, required — Fee for each return. The value is in the currency's lowest denomination, for example, cents.
        - `unauthorizedReturn` integer, required — Fee for each unauthorized return. The value is in the currency's lowest denomination, for example, cents.
        - `statement` integer, required — Fee for each statement. The value is in the currency's lowest denomination, for example, cents.
        - `monthlyMinimum` integer, required — Minimum monthly value of transactions. The value is in the currency's lowest denomination, for example, cents.
        - `accountVerification` integer, required — Fee for each account verification. The value is in the currency's lowest denomination, for example, cents.
        - `discountRateUnder10000` number, double, required — Percentage value up to 2 decimal places.
        - `discountRateAbove10000` number, double, required — Percentage value up to 2 decimal places.
  - `gateway` GatewayUs52 — Object that contains information about the gateway fees for MPA 5.2.
    - `fees` GatewayUs52Fees, required — Object that contains information about the gateway fees.
      - `monthly` integer, required
      - `setup` integer, required
      - `perTransaction` integer, required
      - `perDeviceMonthly` integer, required
      - `3dSecurePerTransaction` integer
      - `tapToPayPerTransaction` integer
  - `services` ServiceUs52[] — Object that contains information about our additional services that the merchant can sign up for.
    - union — Object that contains information about the Hardware Advantage Plan.
      - object — Object that contains information about the Hardware Advantage Plan.
        - `name` 'hardwareAdvantagePlan', required — Discriminator value: hardwareAdvantagePlan
        - `enabled` boolean, required — Indicates if the merchant has signed up for the Hardware Advantage Plan.
      - object — Object that contains the fees for account updater service.
        - `name` 'accountUpdater', required — Discriminator value: accountUpdater
        - `fees` ServiceUs52DiscriminatorMappingAccountUpdaterFees, required — Object that contains information about the gateway fees.
          - `setup` integer, required
          - `monthly` integer, required
          - `perUpdate` integer, required
      - object — Object that contains the fees for wireless processing.
        - `name` 'wirelessProcessing', required — Discriminator value: wirelessProcessing
        - `fees` ServiceUs52DiscriminatorMappingWirelessProcessingFees, required
          - `setup` integer, required
          - `monthlyAccess` integer, required
      - object — Object that contains the fees for the Clover platform service.
        - `name` 'cloverProcessing', required — Discriminator value: cloverProcessing
        - `fees` ServiceUs52DiscriminatorMappingCloverProcessingFees, required — Object that contains the Clover platform fee amounts.
          - `platformMonthly` integer, required
          - `dataProtectionPerMid` integer, required
          - `keyedAuthorizationPerTransaction` integer, required
      - object — Object that contains the fees for the Roc Services gateway.
        - `name` 'rocServicesProcessing', required — Discriminator value: rocServicesProcessing
        - `fees` ServiceUs52DiscriminatorMappingRocServicesProcessingFees, required — Object that contains the Roc Services fee amounts.
          - `monthly` integer, required

## Response `204`

Resource successfully updated

- object

## Other responses

- `400` — Invalid request
- `401` — Identity could not be verified
- `403` — Do not have permissions to perform this action
- `404` — Resource not found
- `406` — Not acceptable
- `500` — An error has occured

---

[API](https://skmtc.dev/payroc/apis/schema.md) · [All operations](https://skmtc.dev/payroc/apis/schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/payroc/schema/revisions/1d9d3e305945/schema)
