# PricingPlanV2

## Get a Pricing Plan

> Retrieve the pricing plan for a specified merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}":{"get":{"tags":["PricingPlanV2"],"summary":"Get a Pricing Plan","description":"Retrieve the pricing plan for a specified merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"effectiveDate","in":"query","description":"Indicates the date from which the pricing plans should be effective.","schema":{"type":"string","format":"date-time"}},{"name":"outof100","in":"query","description":"Indicates whether pricing fees are displayed as percentages out of 100.","schema":{"type":"boolean","default":false}},{"name":"useDisplayFees","in":"query","description":"Indicates whether the response includes display-friendly fee values for better readability.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returns a pricing plan successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPricingPlan"}}}},"400":{"description":"If merchant number is null or empty.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"If pricing plan not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred retrieving pricing plan.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Create a Pricing Plan

> Create a new pricing plan for the specified merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}":{"post":{"tags":["PricingPlanV2"],"summary":"Create a Pricing Plan","description":"Create a new pricing plan for the specified merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"outof100","in":"query","description":"Indicates whether rates should be calculated on a percentage basis.","schema":{"type":"boolean","default":false}},{"name":"useDisplayFees","in":"query","description":"Indicates whether display fees are applied in the pricing plan.","schema":{"type":"boolean","default":false}}],"requestBody":{"description":"PricingPlan model.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPricingPlan"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPricingPlan"}}}},"201":{"description":"Creates a pricing plan successfully."},"400":{"description":"If merchant number or pricing plan is null or empty, or modelstate is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"Resource not found exception.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred while saving pricing plan.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Delete All Pricing Plans

> Remove all pricing plans associated with a merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}":{"delete":{"tags":["PricingPlanV2"],"summary":"Delete All Pricing Plans","description":"Remove all pricing plans associated with a merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deletes a pricing plan successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"400":{"description":"If merchant number is null.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"Resource not found exception.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred while deleting pricing plan.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Get All Pricing Plans

> Retrieve all pricing plans associated with a specified merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/All/{merchantNumber}":{"get":{"tags":["PricingPlanV2"],"summary":"Get All Pricing Plans","description":"Retrieve all pricing plans associated with a specified merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"outof100","in":"query","description":"Indicates whether pricing fees are displayed as percentages out of 100.","schema":{"type":"boolean","default":false}},{"name":"useDisplayFees","in":"query","description":"Indicates whether the response includes display-friendly fee values for better readability.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returns the pricing plans successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanCollection"}}}},"400":{"description":"If merchant number is null or empty.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"If no pricing plan is found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred retrieving pricing plans.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"PricingPlanCollection":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/BusinessPricingPlan"},"nullable":true}},"additionalProperties":false},"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Update a Pricing Plan

> Update an existing pricing plan for a specific merchant

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}/{id}":{"put":{"tags":["PricingPlanV2"],"summary":"Update a Pricing Plan","description":"Update an existing pricing plan for a specific merchant","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The unique ID of the pricing plan to be updated.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"outof100","in":"query","description":"Indicates whether pricing values are calculated as percentages out of 100.","schema":{"type":"boolean","default":false}},{"name":"useDisplayFees","in":"query","description":"Indicates whether display fees are applied in the updated pricing plan","schema":{"type":"boolean","default":false}}],"requestBody":{"description":"PricingPlan model.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPricingPlan"}}}},"responses":{"200":{"description":"Updates a pricing plan successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessPricingPlan"}}}},"400":{"description":"If merchant number or pricing plan is null or empty, or modelstate is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"Resource not found exception.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred while updating pricing plan.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"BusinessPricingPlan":{"type":"object","properties":{"pricingFees":{"type":"array","items":{"$ref":"#/components/schemas/PlanFee"},"description":"The set of pricing fees which will be applied to this merchant.","nullable":true},"pricingPlanID":{"type":"integer","description":"The identifier for this pricing plan.","format":"int32"},"pricingPlanTemplateID":{"type":"integer","description":"The id of the pricing template that should be used to validate this pricing plan.\r\nThese are assigned at the partner level and will be provided by your integration specialist.","format":"int32"},"merchantNumber":{"type":"string","description":"The identifier for the merchant.","nullable":true},"discountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"signatureDebitDiscountQualificationRangeID":{"type":"integer","description":"This value will be provided by your integration specialist.","format":"int32","nullable":true},"pricingTypeCode":{"type":"string","description":"This value will be provided by your integration specialist."},"isAdvancedPricing":{"type":"boolean","description":"This value will be provided by your integration specialist."},"isEMF":{"type":"boolean","description":"Enrolls the merchant in  Xplor Pay’s EMF (Express Merchant Funding) program, giving them next-business-day funding of batches submitted prior to 11:00 p.m. Eastern Time."},"isDailySettle":{"type":"boolean","description":"Governs the settlement of transaction fees: If IsDailySettle is set to true, fees will be deducted from the merchant's daily deposit. If IsDailySettle is set to false, fees will be deducted from the merchant's bank account at the end of the month (Note: a Month End Billing Option fee may apply to transactions that have fees settled monthly)."},"includeAssessments":{"type":"boolean","description":"Governs the billing of certain card brand fees including but not limited to: Assessments, Foreign Card Fees, Authorization Fees (e.g. NABU, APF), Visa Fees (TIF, FANF, ZFL, Auth Misuse), and Network Fees. \r\nAs a general guideline: This should be set to false if the merchant is on a flat-rate or two-tier pricing plan, as the Discount Rate (or Card-Present/Card-Not-Present Transaction Fees) is set high enough to cover these items. \r\nThis should be set to true if the merchant is on a Tiered pricing plan, as the Discount Rate is set to cover Interchange, but not these other fees. \r\nThis should not be available in the template for IC Plus pricing plans, as it must be set to \"\"Y\"\" and not left to the client's discretion."},"effectiveStartDateTimeUTC":{"type":"string","description":"The pricing plan will become active starting with this date.","format":"date-time","nullable":true},"effectiveEndDateTimeUTC":{"type":"string","description":"The pricing plan will remain active up to this date.","format":"date-time","nullable":true}},"additionalProperties":false},"PlanFee":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The identifier for this pricing fee.","format":"int32"},"pricingFeeDescription":{"type":"string","description":"A description of the pricing fee.\r\nNot required when creating or updating pricing fee.","nullable":true},"rate":{"type":"number","description":"Used to indicate a percentage of the transaction amount that will be applied as a fee on each transaction of this type.","format":"double","nullable":true},"fee":{"type":"number","description":"Used to indicate an amount that will be applied as a fee on each transaction of this type. \r\nFor non-transactional fees, these fees may be applied on a monthly, semi-annual, or annual basis.","format":"double","nullable":true},"payInMonth1":{"type":"integer","description":"Used to indicate the month in which annual fees should be billed or the first month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true},"payInMonth2":{"type":"integer","description":"Used to indicate the second month in which semi-annual fees should be billed. \r\nOtherwise, this field should be set to null.","format":"int32","nullable":true}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Delete a Pricing Plan

> Delete a specific pricing plan of the specified merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}/{pricingPlanID}":{"delete":{"tags":["PricingPlanV2"],"summary":"Delete a Pricing Plan","description":"Delete a specific pricing plan of the specified merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"pricingPlanID","in":"path","description":"The unique identifier of the pricing plan.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Deletes a pricing plan successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"400":{"description":"If merchant number is null.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"Resource not found exception.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred while deleting pricing plan.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Get Available Pricing Plan Templates

> Retrieve a list of available pricing plan templates for a specific merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}/templates":{"get":{"tags":["PricingPlanV2"],"summary":"Get Available Pricing Plan Templates","description":"Retrieve a list of available pricing plan templates for a specific merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"outof100","in":"query","description":"Indicates whether rates are represented as values out of 100 rather than out of 1.","schema":{"type":"boolean","default":false}},{"name":"useDisplayFees","in":"query","description":"Indicates whether the API returns fees in a format that mirrors how they are displayed on user interfaces.","schema":{"type":"boolean","default":false}},{"name":"mccCodeFilter","in":"query","description":"The MCC Code used to determine if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"stateCodeFilter","in":"query","description":"The 2-letter State Code used to determine if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"ecommPercentFilter","in":"query","description":"The E-Comm Percentage used to determine if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"cardTypeFilter","in":"query","description":"The Card Type Codes used to determine if a merchant can use a specific template.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returns a list of available templates successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingTemplateViewModelListResponseWrapper"}}}},"400":{"description":"If merchant number is null or empty.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"If a list of available templates are not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred retrieving a list of available templates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"PricingTemplateViewModelListResponseWrapper":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateViewModel"},"description":"A list of available pricing plan templates.","nullable":true}},"additionalProperties":false},"PricingTemplateViewModel":{"type":"object","properties":{"pricingPlanTemplateID":{"type":"integer","description":"Unique identifier of the pricing plan template.","format":"int32"},"hierarchyNodeKey":{"type":"string","description":"Key that identifies the organizational hierarchy node associated with the template.","nullable":true},"templateName":{"type":"string","description":"Name of the pricing plan template.","nullable":true},"pricingTypeCode":{"type":"string","description":"Code that specifies the pricing type"},"isAdvancedPricing":{"type":"boolean","description":"Indicates whether the template supports advanced pricing."},"isDefaultTemplate":{"type":"boolean","description":"Indicates whether this template is the default option for the merchant."},"isDisabled":{"type":"boolean","description":"Indicates whether the template is currently disabled."},"templateFees":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateFeeViewModel"},"description":"Indicates the fee details for each pricing plan template.","nullable":true},"templateSettings":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateSettingViewModel"},"nullable":true},"attributes":{"type":"array","items":{"$ref":"#/components/schemas/PricingTemplateAttribute"},"nullable":true}},"additionalProperties":false},"PricingTemplateFeeViewModel":{"type":"object","properties":{"clearentPricingFeeID":{"type":"integer","description":"The numeric identifier for a particular pricing fee in our system. This is the value that you will use to programmatically identify a particular pricing fee. You will see some negative fees in the system. Those simply indicate fees where we are doing some mapping behind the scene.","format":"int32"},"clearentPricingFeeDescription":{"type":"string","description":"The name of the pricing fee within our system.","nullable":true},"isEditable":{"type":"boolean","description":"Indicates whether a pricing fee is editable. \r\nIn Hosted Merchant Onboarding, we disable the textbox if it is not editable.","nullable":true},"isRequired":{"type":"boolean","description":"Indicates whether a pricing fee is required. \r\nIn Hosted Merchant Onboarding, we show a red box around fees that are required but not set."},"isVisible":{"type":"boolean","description":"Indicates whether a pricing fee should be visible. \r\nMainly used for partners who want to reduce the number of fields their sales teams see during the onboarding process. \r\nIn Hosted Merchant Onboarding, we hide the textbox if it is this is set to true. \r\nNote: If there are default values set here, they would still be shown to the merchant during the signing process."},"isFee":{"type":"boolean","description":"Indicates whether a pricing fee is charged per item. \r\nIn Hosted Merchant Onboarding, we display a text box with a $ symbol when isFee is true."},"isRate":{"type":"boolean","description":"Indicates whether a pricing fee is charged as a percentage. \r\nIn Hosted Merchant Onboarding, we display a text box with a % symbol when isRate is true."},"isPayInMonthRequired1":{"type":"boolean","description":"Indicates whether a fee is charged in a particular month of the year. \r\nThis is used for annual fees to indicate when the merchant should be charged. \r\nIn Hosted Merchant Onboarding, we display a dropdown where you can select the month that the fee will be charged when this is true."},"isPayInMonthRequired2":{"type":"boolean","description":"Indicates whether a fee is charged in an additional month each year. \r\nIf this is true, then isPayInMonth1Required will also be true. This is used for semi-annual fees where the merchant is charged in two different months. \r\nIn Hosted Merchant Onboarding, we display a second dropdown where you can select the month that the fee will be charged when this is true."},"defaultRate":{"type":"number","description":"A suggested value for a rate. \r\nIn our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minRate":{"type":"number","description":"The minimum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0% will be enforced.","format":"double","nullable":true},"maxRate":{"type":"number","description":"The maximum value that can be set for a particular rate. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 100% will be enforced.","format":"double","nullable":true},"defaultFee":{"type":"number","description":"A suggested value for a fee. In our frontend, we prepopulate the fields with these values.","format":"double","nullable":true},"minFee":{"type":"number","description":"The minimum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a minimum of 0 will be enforced.","format":"double","nullable":true},"maxFee":{"type":"number","description":"The maximum value that can be set for a particular fee. \r\nThese values can be used to implement frontend validation, but will also be enforced by Hosted Merchant Onboarding. \r\nIf no value is set, then a maximum of 0 will be enforced.","format":"double","nullable":true},"rateLabel":{"type":"string","description":"A label that can be shown above the rate text box. We only set this value when we want a different name to be displayed above the rate component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true},"feeLabel":{"type":"string","description":"A label that can be shown above the fee text box. We only set this value when we want a different name to be displayed above the fee component. When it is not set, the clearentPricingFeeDescription should be displayed.","nullable":true}},"additionalProperties":false},"PricingTemplateSettingViewModel":{"type":"object","properties":{"pricingPlanSettingID":{"type":"integer","description":"Unique identifier for the pricing plan setting.","format":"int32"},"settingName":{"type":"string","description":"Name of the pricing setting.","nullable":true},"description":{"type":"string","description":"Description of the setting and its purpose.","nullable":true},"isVisible":{"type":"boolean","description":"Indicates whether the setting is visible to users."},"isEditable":{"type":"boolean","description":"Indicates whether the setting can be modified."},"defaultValue":{"type":"boolean","description":"Default value assigned to the setting"}},"additionalProperties":false},"PricingTemplateAttribute":{"type":"object","properties":{"name":{"type":"string","description":"Attribute name associated with the template.","nullable":true},"value":{"type":"string","description":"Value of the attribute.","nullable":true},"type":{"type":"string","description":"Data type of the attribute.","nullable":true}},"additionalProperties":false,"description":"Attributes object."},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Check Merchant Eligibility

> Retrieve the eligibility status of a specific merchant for a given pricing plan template.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}/templates/{pricingPlanTemplateId}/eligibility":{"get":{"tags":["PricingPlanV2"],"summary":"Check Merchant Eligibility","description":"Retrieve the eligibility status of a specific merchant for a given pricing plan template.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}},{"name":"pricingPlanTemplateId","in":"path","description":"The unique identifier of the pricing plan template for which you want to verify merchant eligibility.","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"mccCodeFilter","in":"query","description":"The MCC Code to be used when when determining if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"stateCodeFilter","in":"query","description":"The 2 letter State Code to be used when when determining if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"ecommPercentFilter","in":"query","description":"The E-Comm Percentage to be used when when determining if a merchant can use a specific template.","schema":{"type":"string"}},{"name":"cardTypeFilter","in":"query","description":"The Card Type Codes to be used when when determining if a merchant can use a specific template.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returns a list of available templates successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EligibilityResults"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred retrieving a list of available templates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"EligibilityResults":{"type":"object","properties":{"isEligible":{"type":"boolean","description":"Indicates whether the merchant is eligible to use the specified template."},"inelegibilityReasons":{"type":"array","items":{"type":"string"},"description":"Lists the reasons why the merchant is not eligible.","nullable":true}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```

## Get Empower Attributes

> Retrieve the empower attributes associated with a specified merchant.

```json
{"openapi":"3.0.1","info":{"title":"External US Onboarding Workflow","version":"0.0.1"},"paths":{"/api/pricing/v2/PricingPlan/{merchantNumber}/empowerAttributes":{"get":{"tags":["PricingPlanV2"],"summary":"Get Empower Attributes","description":"Retrieve the empower attributes associated with a specified merchant.","parameters":[{"name":"merchantNumber","in":"path","description":"The merchant's unique identification number.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns a empower attributes successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmpowerAttributes"}}}},"204":{"description":"If merchant does not have pricing setup.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"400":{"description":"If merchant number is null or empty.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"404":{"description":"If merchant is not in our system.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}},"500":{"description":"Error occurred retrieving empower attributes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanErrorResults"}}}}}}}},"components":{"schemas":{"EmpowerAttributes":{"type":"object","properties":{"isEligibleForValidation":{"type":"boolean","description":"Indicates whether the merchant is eligible for Empower validation."},"isEmpower":{"type":"boolean","description":"Specifies if the merchant is enrolled in the Empower program."},"surchargeMin":{"type":"number","description":"The minimum surcharge value allowed for the merchant.","format":"double","nullable":true},"surchargeMax":{"type":"number","description":"The maximum surcharge value allowed for the merchant.","format":"double","nullable":true},"surchargeIsRate":{"type":"boolean","description":"Indicates if the surcharge is applied as a rate rather than a fixed amount."},"empowerProgram":{"type":"string","description":"The name of the Empower program the merchant is associated with.","nullable":true},"isEmf":{"type":"boolean","description":"Specifies if the merchant is part of the EMF."}},"additionalProperties":false},"PricingPlanErrorResults":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/PricingPlanError"},"description":"A list of errors returned.","nullable":true},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the response was generated.","format":"date-time","readOnly":true}},"additionalProperties":false},"PricingPlanError":{"type":"object","properties":{"errorMessage":{"type":"string","description":"A human-readable message describing the error.","nullable":true},"resultCode":{"type":"integer","description":"Result code representing the type of error.","format":"int32"},"timeStamp":{"type":"string","description":"The date and time (ISO 8601 format) when the error occurred.","format":"date-time","readOnly":true},"fieldPath":{"type":"array","items":{"type":"string"},"description":"The field(s) in the request that caused the error","nullable":true},"pricingFeeIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"IDs of pricing fee(s) related to the error.","nullable":true}},"additionalProperties":false}}}}
```
