POST Api/Payment/CalculateFee
Calculate the applicable fees for a payment request.
Request Information
URI Parameters
None.
Body Parameters
APIPaymentRequestModel| Name | Description | Type | Additional information | 
|---|---|---|---|
| AccountLevelAddOnPayments | Collection of APIAccountLevelAddOnPayment | 
                             None.  | 
                |
| ApprovedByUserID | 
                         Optional user ID of supervisor who approved payment request  | 
                    int? | 
                             None.  | 
                
| Attributes | 
                         Optional attributes to store on the payment record  | 
                    Dictionary of string [key] and string [value] | 
                             None.  | 
                
| Channel | 
                         Optional override for the payment channel  | 
                    PaymentChannel | 
                             None.  | 
                
| CheckForDuplicate | 
                         Specifies whether the payment should fail if another payment of equal amount was made for this account in the past 24 hours.  | 
                    boolean | 
                             None.  | 
                
| Customer | 
                         For one-time payments, contains the information of the customer submitting the payment.  | 
                    CustomerModel | 
                             None.  | 
                
| CustomerToken | 
                         For enrolled payments, contains the unique customer token used to identify the customer making the payment.  | 
                    string | 
                             None.  | 
                
| EmailConfirmation | boolean | 
                             None.  | 
                |
| ExternalPaymentID | 
                         Optional payment identifier generated from 3rd party for logging and reconciliation purposes.  | 
                    string | 
                                 String length: inclusive between 0 and 100  | 
                
| ExternalTranactionID | 
                         For BPX reconciliation purpose  | 
                    string | 
                                 String length: inclusive between 0 and 100  | 
                
| InvoicePayments | 
                         Lists the invoices and how they are to be paid.  | 
                    Collection of InvoicePaymentModel | 
                                 Required  | 
                
| MailConfirmation | boolean | 
                             None.  | 
                |
| PaymentAccount | 
                         For enrolled or one-time payments, contains the new payment account information to use for the payment. Will be saved as an available payment account for enrolled customers.  | 
                    PaymentAccountModel | 
                             None.  | 
                
| PaymentAccountCVV | 
                         For enrolled credit card payments, contains the security code of the existing account being used.  | 
                    string | 
                                 Matching regular expression pattern: \d{3,4}  | 
                
| PaymentAccountToken | 
                         For enrolled payments, contains the payment account token of the existing payment account to use.  | 
                    string | 
                                 String length: inclusive between 0 and 1024  | 
                
| PaymentDate | 
                         Optional processing date for future-dated payments  | 
                    date-time? | 
                             None.  | 
                
| PayPalCMID | string | 
                                 String length: inclusive between 0 and 32  | 
                |
| UniqueTransactionID | 
                         Optional unique identifier for new payment requests that are logically the same. Used in conjunction with the CheckForDuplicate flag to prevent duplicate payments  | 
                    string | 
                                 String length: inclusive between 0 and 100  | 
                
| UserLevelAddOnPayments | Collection of APIAddOnPayment | 
                             None.  | 
                |
| WaiveFee | 
                         Specifies whether fees should be waived  | 
                    boolean? | 
                             None.  | 
                
Request Formats
application/json, text/json
{
  "CheckForDuplicate": true,
  "Customer": {
    "AcceptedTermsOfService": true,
    "Address": "sample string 1",
    "Address2": "sample string 2",
    "BillDue": "None",
    "BillDueDays": 1,
    "BillPastDue": "None",
    "BillPastDueDays": 1,
    "City": "sample string 3",
    "CompanyName": "sample string 4",
    "Country": "sample string 5",
    "Email": "sample string 7",
    "ConfirmEmail": "sample string 8",
    "DisableBillNotification": true,
    "Email2": "sample string 10",
    "Email3": "sample string 11",
    "ExternalUserID": "sample string 12",
    "FirstName": "sample string 13",
    "LastName": "sample string 14",
    "MiddleName": "sample string 15",
    "Phone": "sample string 16",
    "MobilePhone": "sample string 17",
    "PaperSuppression": true,
    "SendPinacleRFP": true,
    "State": "sample string 19",
    "SMSEnrollOnlyRegistrationStatus": "NotRegistered",
    "SMSEnrollOnlyMobile": "sample string 20",
    "Zip": "sample string 22"
  },
  "CustomerToken": "sample string 2",
  "AccountLevelAddOnPayments": [
    {
      "ReferenceNumber": "sample string 1",
      "OtherData": "sample string 2",
      "BillerInvoiceNo": "sample string 3",
      "AddonCode": "sample string 4",
      "AddonName": "sample string 5",
      "Amount": 6.0,
      "BillerRemittanceField1": "sample string 7",
      "BillerRemittanceField2": "sample string 8",
      "BillerRemittanceField3": "sample string 9",
      "BillerRemittanceField4": "sample string 10",
      "BillerRemittanceField5": "sample string 11"
    },
    {
      "ReferenceNumber": "sample string 1",
      "OtherData": "sample string 2",
      "BillerInvoiceNo": "sample string 3",
      "AddonCode": "sample string 4",
      "AddonName": "sample string 5",
      "Amount": 6.0,
      "BillerRemittanceField1": "sample string 7",
      "BillerRemittanceField2": "sample string 8",
      "BillerRemittanceField3": "sample string 9",
      "BillerRemittanceField4": "sample string 10",
      "BillerRemittanceField5": "sample string 11"
    }
  ],
  "UserLevelAddOnPayments": [
    {
      "AddonCode": "sample string 1",
      "AddonName": "sample string 2",
      "Amount": 3.0,
      "BillerRemittanceField1": "sample string 4",
      "BillerRemittanceField2": "sample string 5",
      "BillerRemittanceField3": "sample string 6",
      "BillerRemittanceField4": "sample string 7",
      "BillerRemittanceField5": "sample string 8"
    },
    {
      "AddonCode": "sample string 1",
      "AddonName": "sample string 2",
      "Amount": 3.0,
      "BillerRemittanceField1": "sample string 4",
      "BillerRemittanceField2": "sample string 5",
      "BillerRemittanceField3": "sample string 6",
      "BillerRemittanceField4": "sample string 7",
      "BillerRemittanceField5": "sample string 8"
    }
  ],
  "ApprovedByUserID": 1,
  "Attributes": {
    "sample string 1": "sample string 2",
    "sample string 3": "sample string 4"
  },
  "Channel": "IVR",
  "EmailConfirmation": true,
  "ExternalPaymentID": "sample string 4",
  "ExternalTranactionID": "sample string 5",
  "InvoicePayments": [
    {
      "Amount": 1.0,
      "AdditionalFields": {
        "Fields": [
          {
            "BillerId": 1,
            "FieldName": "sample string 2",
            "FieldOrder": 3,
            "FieldText": "sample string 4",
            "FieldValue": "sample string 5",
            "ID": 6,
            "InvoiceId": 7,
            "IsEditable": true,
            "IsRequired": true
          },
          {
            "BillerId": 1,
            "FieldName": "sample string 2",
            "FieldOrder": 3,
            "FieldText": "sample string 4",
            "FieldValue": "sample string 5",
            "ID": 6,
            "InvoiceId": 7,
            "IsEditable": true,
            "IsRequired": true
          }
        ]
      },
      "AmountDue": 1.0,
      "Discount": 1.0,
      "FreeformText": "sample string 4",
      "GrossAlcoholicBeverageSales": 1.0,
      "GrossFoodSales": 1.0,
      "GrossRent": 1.0,
      "GrossRevenue": 1.0,
      "InterestAmount": 1.0,
      "Invoice": {
        "Address": "sample string 3",
        "Address2": "sample string 4",
        "AmountDue": 1.0,
        "BillerInvoiceNo": "sample string 5",
        "BillerRemittanceField1": "sample string 6",
        "BillerRemittanceField2": "sample string 7",
        "BillerRemittanceField3": "sample string 8",
        "BillerRemittanceField4": "sample string 9",
        "BillerRemittanceField5": "sample string 10",
        "City": "sample string 11",
        "CompanyName": "sample string 12",
        "Country": "sample string 13",
        "CurrentCharges": 1.0,
        "CustomAttributes": {
          "sample string 1": "sample string 2",
          "sample string 3": "sample string 4"
        },
        "Details": [
          {
            "ItemDesc": "sample string 1",
            "ItemFromDate": "sample string 2",
            "ItemNetAmount": "sample string 3",
            "ItemNum": "sample string 4",
            "ItemOrderQty": "sample string 5",
            "ItemQtyShipped": "sample string 6",
            "ItemToDate": "sample string 7",
            "ItemUnitPrice": "sample string 8"
          },
          {
            "ItemDesc": "sample string 1",
            "ItemFromDate": "sample string 2",
            "ItemNetAmount": "sample string 3",
            "ItemNum": "sample string 4",
            "ItemOrderQty": "sample string 5",
            "ItemQtyShipped": "sample string 6",
            "ItemToDate": "sample string 7",
            "ItemUnitPrice": "sample string 8"
          }
        ],
        "DisplayField1": "sample string 14",
        "DisplayField2": "sample string 15",
        "DisplayField3": "sample string 16",
        "DisplayField4": "sample string 17",
        "DisplayField5": "sample string 18",
        "DueDate": "2025-11-03T15:53:00.8264159Z",
        "EIR": true,
        "Email": "test5@test.com",
        "EntryField1": "sample string 20",
        "EntryField2": "sample string 21",
        "EntryField3": "sample string 22",
        "EntryField4": "sample string 23",
        "EntryField5": "sample string 24",
        "ExternalID": "sample string 26",
        "Fax": "sample string 28",
        "FDICode": "sample string 29",
        "FirstName": "sample string 30",
        "ID": 31,
        "InvoiceAge": 32,
        "InvAltTaxAmount": 1.0,
        "InvAltTaxAmtItmLevel": 1.0,
        "InvAltTaxIdItmLevel": "sample string 33",
        "InvAltTaxIDOrdLevel": "sample string 34",
        "InvAltTaxID": "sample string 35",
        "InvAltTaxRate": "sample string 36",
        "InvAltTaxType": "sample string 37",
        "InvAltTaxTypeApp": "sample string 38",
        "InvCommodityCode": "sample string 39",
        "InvCustomerCode": "sample string 40",
        "InvDestAddress1": "sample string 41",
        "InvDestAddress2": "sample string 42",
        "InvDestCardholderName": "sample string 43",
        "InvDestCity": "sample string 44",
        "InvDestCountryCode": "sample string 45",
        "InvDestStateCode": "sample string 46",
        "InvDestZipCode": "sample string 47",
        "InvDiscountPerItem": 1.0,
        "InvDutyAmount": 1.0,
        "InvFreightAmount": 1.0,
        "InvLineItemTotal": 1.0,
        "InvLineItemDiscountRate": "sample string 48",
        "InvLineItemTaxRate": "sample string 49",
        "InvLineItemVATTaxAmount": 1.0,
        "InvLineItemVATTaxRate": "sample string 50",
        "InvLocalTaxAmount": 1.0,
        "InvLocalTaxItmLevel": 1.0,
        "InvLocalTaxRate": "sample string 51",
        "InvMerchantVATRegistrationNumber": "sample string 52",
        "InvNationalTaxAmount": 1.0,
        "InvNationalTaxItmLevel": 1.0,
        "InvNationalTaxRate": "sample string 53",
        "InvNetGrossIndicator": "sample string 54",
        "InvOrderDisAmtOrdLevel": "sample string 55",
        "InvProductCode": "sample string 56",
        "InvProductName": "sample string 57",
        "InvProductSKU": "sample string 58",
        "InvPurchaseID": "sample string 59",
        "InvPurchaseIDItmLevel": "sample string 60",
        "InvPstTaxRegNum": "sample string 61",
        "InvRequestorName": "sample string 62",
        "InvQuantity": 1,
        "InvShipFromZipCode": "sample string 63",
        "InvSummaryCommodityCode": "sample string 64",
        "InvSupplierOrdRef": "sample string 65",
        "InvTaxAmount": 1.0,
        "InvTaxRate": "sample string 66",
        "InvUnitCost": 1.0,
        "InvUnitMeasure": "sample string 67",
        "InvVatRefNumber": "sample string 68",
        "InvVatRegNumber": "sample string 69",
        "InvVatTaxAmount": 1.0,
        "InvVatTaxRate": "sample string 70",
        "LastName": "sample string 74",
        "MerchantDescriptor": "sample string 75",
        "MerchantDescriptorAlt": "sample string 76",
        "MerchantDescriptorCity": "sample string 77",
        "MerchantDescriptorContact": "sample string 78",
        "MerchantDescriptorCountry": "sample string 79",
        "MerchantDescriptorState": "sample string 80",
        "MerchantDescriptorStreet": "sample string 81",
        "MerchantDescriptorZip": "sample string 82",
        "Message_OutstandingBalance": "sample string 83",
        "MiddleName": "sample string 84",
        "MinimumAmountDue": 1.0,
        "OtherData": "sample string 85",
        "PaymentInstrumentBlock": "sample string 86",
        "PaymentReceived": 1.0,
        "PaymentsPostedAsOfDate": "2025-11-03T15:53:00.8576616Z",
        "PayThisAmount": 1.0,
        "Phone": "sample string 87",
        "Prev_0To30Days": 1.0,
        "Prev_30To60Days": 1.0,
        "Prev_60To90Days": 1.0,
        "Prev_90DaysPlus": 1.0,
        "PreviousBalance": 1.0,
        "ReferenceNumber": "sample string 88",
        "State": "sample string 89",
        "StatementDate": "2025-11-03T15:53:00.8576616Z",
        "Status": "Active",
        "TotalAccountBalance": 1.0,
        "WaiveFee": true,
        "Zip": "sample string 90"
      },
      "InvoiceID": 1,
      "PaymentCode": "sample string 7",
      "PenaltyAmount": 1.0,
      "PermanentResidentialRent": 1.0,
      "TaxAmount": 1.0,
      "NetAmount": 1.0
    },
    {
      "Amount": 1.0,
      "AdditionalFields": {
        "Fields": [
          {
            "BillerId": 1,
            "FieldName": "sample string 2",
            "FieldOrder": 3,
            "FieldText": "sample string 4",
            "FieldValue": "sample string 5",
            "ID": 6,
            "InvoiceId": 7,
            "IsEditable": true,
            "IsRequired": true
          },
          {
            "BillerId": 1,
            "FieldName": "sample string 2",
            "FieldOrder": 3,
            "FieldText": "sample string 4",
            "FieldValue": "sample string 5",
            "ID": 6,
            "InvoiceId": 7,
            "IsEditable": true,
            "IsRequired": true
          }
        ]
      },
      "AmountDue": 1.0,
      "Discount": 1.0,
      "FreeformText": "sample string 4",
      "GrossAlcoholicBeverageSales": 1.0,
      "GrossFoodSales": 1.0,
      "GrossRent": 1.0,
      "GrossRevenue": 1.0,
      "InterestAmount": 1.0,
      "Invoice": {
        "Address": "sample string 3",
        "Address2": "sample string 4",
        "AmountDue": 1.0,
        "BillerInvoiceNo": "sample string 5",
        "BillerRemittanceField1": "sample string 6",
        "BillerRemittanceField2": "sample string 7",
        "BillerRemittanceField3": "sample string 8",
        "BillerRemittanceField4": "sample string 9",
        "BillerRemittanceField5": "sample string 10",
        "City": "sample string 11",
        "CompanyName": "sample string 12",
        "Country": "sample string 13",
        "CurrentCharges": 1.0,
        "CustomAttributes": {
          "sample string 1": "sample string 2",
          "sample string 3": "sample string 4"
        },
        "Details": [
          {
            "ItemDesc": "sample string 1",
            "ItemFromDate": "sample string 2",
            "ItemNetAmount": "sample string 3",
            "ItemNum": "sample string 4",
            "ItemOrderQty": "sample string 5",
            "ItemQtyShipped": "sample string 6",
            "ItemToDate": "sample string 7",
            "ItemUnitPrice": "sample string 8"
          },
          {
            "ItemDesc": "sample string 1",
            "ItemFromDate": "sample string 2",
            "ItemNetAmount": "sample string 3",
            "ItemNum": "sample string 4",
            "ItemOrderQty": "sample string 5",
            "ItemQtyShipped": "sample string 6",
            "ItemToDate": "sample string 7",
            "ItemUnitPrice": "sample string 8"
          }
        ],
        "DisplayField1": "sample string 14",
        "DisplayField2": "sample string 15",
        "DisplayField3": "sample string 16",
        "DisplayField4": "sample string 17",
        "DisplayField5": "sample string 18",
        "DueDate": "2025-11-03T15:53:00.8264159Z",
        "EIR": true,
        "Email": "test5@test.com",
        "EntryField1": "sample string 20",
        "EntryField2": "sample string 21",
        "EntryField3": "sample string 22",
        "EntryField4": "sample string 23",
        "EntryField5": "sample string 24",
        "ExternalID": "sample string 26",
        "Fax": "sample string 28",
        "FDICode": "sample string 29",
        "FirstName": "sample string 30",
        "ID": 31,
        "InvoiceAge": 32,
        "InvAltTaxAmount": 1.0,
        "InvAltTaxAmtItmLevel": 1.0,
        "InvAltTaxIdItmLevel": "sample string 33",
        "InvAltTaxIDOrdLevel": "sample string 34",
        "InvAltTaxID": "sample string 35",
        "InvAltTaxRate": "sample string 36",
        "InvAltTaxType": "sample string 37",
        "InvAltTaxTypeApp": "sample string 38",
        "InvCommodityCode": "sample string 39",
        "InvCustomerCode": "sample string 40",
        "InvDestAddress1": "sample string 41",
        "InvDestAddress2": "sample string 42",
        "InvDestCardholderName": "sample string 43",
        "InvDestCity": "sample string 44",
        "InvDestCountryCode": "sample string 45",
        "InvDestStateCode": "sample string 46",
        "InvDestZipCode": "sample string 47",
        "InvDiscountPerItem": 1.0,
        "InvDutyAmount": 1.0,
        "InvFreightAmount": 1.0,
        "InvLineItemTotal": 1.0,
        "InvLineItemDiscountRate": "sample string 48",
        "InvLineItemTaxRate": "sample string 49",
        "InvLineItemVATTaxAmount": 1.0,
        "InvLineItemVATTaxRate": "sample string 50",
        "InvLocalTaxAmount": 1.0,
        "InvLocalTaxItmLevel": 1.0,
        "InvLocalTaxRate": "sample string 51",
        "InvMerchantVATRegistrationNumber": "sample string 52",
        "InvNationalTaxAmount": 1.0,
        "InvNationalTaxItmLevel": 1.0,
        "InvNationalTaxRate": "sample string 53",
        "InvNetGrossIndicator": "sample string 54",
        "InvOrderDisAmtOrdLevel": "sample string 55",
        "InvProductCode": "sample string 56",
        "InvProductName": "sample string 57",
        "InvProductSKU": "sample string 58",
        "InvPurchaseID": "sample string 59",
        "InvPurchaseIDItmLevel": "sample string 60",
        "InvPstTaxRegNum": "sample string 61",
        "InvRequestorName": "sample string 62",
        "InvQuantity": 1,
        "InvShipFromZipCode": "sample string 63",
        "InvSummaryCommodityCode": "sample string 64",
        "InvSupplierOrdRef": "sample string 65",
        "InvTaxAmount": 1.0,
        "InvTaxRate": "sample string 66",
        "InvUnitCost": 1.0,
        "InvUnitMeasure": "sample string 67",
        "InvVatRefNumber": "sample string 68",
        "InvVatRegNumber": "sample string 69",
        "InvVatTaxAmount": 1.0,
        "InvVatTaxRate": "sample string 70",
        "LastName": "sample string 74",
        "MerchantDescriptor": "sample string 75",
        "MerchantDescriptorAlt": "sample string 76",
        "MerchantDescriptorCity": "sample string 77",
        "MerchantDescriptorContact": "sample string 78",
        "MerchantDescriptorCountry": "sample string 79",
        "MerchantDescriptorState": "sample string 80",
        "MerchantDescriptorStreet": "sample string 81",
        "MerchantDescriptorZip": "sample string 82",
        "Message_OutstandingBalance": "sample string 83",
        "MiddleName": "sample string 84",
        "MinimumAmountDue": 1.0,
        "OtherData": "sample string 85",
        "PaymentInstrumentBlock": "sample string 86",
        "PaymentReceived": 1.0,
        "PaymentsPostedAsOfDate": "2025-11-03T15:53:00.8576616Z",
        "PayThisAmount": 1.0,
        "Phone": "sample string 87",
        "Prev_0To30Days": 1.0,
        "Prev_30To60Days": 1.0,
        "Prev_60To90Days": 1.0,
        "Prev_90DaysPlus": 1.0,
        "PreviousBalance": 1.0,
        "ReferenceNumber": "sample string 88",
        "State": "sample string 89",
        "StatementDate": "2025-11-03T15:53:00.8576616Z",
        "Status": "Active",
        "TotalAccountBalance": 1.0,
        "WaiveFee": true,
        "Zip": "sample string 90"
      },
      "InvoiceID": 1,
      "PaymentCode": "sample string 7",
      "PenaltyAmount": 1.0,
      "PermanentResidentialRent": 1.0,
      "TaxAmount": 1.0,
      "NetAmount": 1.0
    }
  ],
  "MailConfirmation": true,
  "PayPalCMID": "sample string 7",
  "PaymentAccount": {
    "AchAccountNumber": "sample string 1",
    "AchInstitutionNumber": "sample string 2",
    "AchRememberMe": true,
    "AchRoutingNumber": "sample string 3",
    "AchRegion": "USA",
    "AchTransitNumber": "sample string 4",
    "AchType": "Unknown",
    "AchUsageType": "Unknown",
    "AchValidate": true,
    "Address": "sample string 6",
    "Address2": "sample string 7",
    "Agree": true,
    "CcAccountNumber": "sample string 15",
    "CcCardType": "Unknown",
    "CcCVV": "sample string 16",
    "CcExpirationDate": "sample string 17",
    "CcRememberMe": true,
    "City": "sample string 19",
    "Country": "sample string 20",
    "Description": "sample string 21",
    "EnrollInRTP": true,
    "IsPinacleAccount": true,
    "IsRTP": true,
    "IsWalkIn": true,
    "Name": "sample string 25",
    "NotifyBillsToPinacle": true,
    "SingleUse": true,
    "SkipAccountOwnerCheck": true,
    "SkipCardPreauth": true,
    "State": "sample string 30",
    "Token": "sample string 31",
    "Zip": "sample string 32",
    "TerminalID": "sample string 36",
    "AccountType": "ACH"
  },
  "PaymentAccountCVV": "sample string 8",
  "PaymentAccountToken": "sample string 9",
  "PaymentDate": "2025-11-03T15:53:00.8733096Z",
  "UniqueTransactionID": "sample string 10",
  "WaiveFee": true
}
        Response Information
Resource Description
Calculate the applicable fees for a payment request.
APIPaymentFeeResponseModel| Name | Description | Type | Additional information | 
|---|---|---|---|
| ErrorCode | 
                         Name of the error condition. See ErrorCode model for details.  | 
                    ErrorCode | 
                             None.  | 
                
| ErrorID | 
                         Internal error identification number that uniquely identifies this specific error that occurred.  | 
                    string | 
                             None.  | 
                
| ErrorNum | 
                         Numeric value of the ErrorCode  | 
                    int | 
                             None.  | 
                
| Errors | 
                         List of errors that occurred when placing the payment  | 
                    Collection of string | 
                             None.  | 
                
| FeeTotal | 
                         Calculated Surcharge Amount  | 
                    decimal | 
                             None.  | 
                
| GrandTotal | 
                         PaymentTotal + FeeTotal  | 
                    decimal | 
                             None.  | 
                
| PaymentTotal | 
                         Sum of Invoice Principal Payment Amounts  | 
                    decimal | 
                             None.  | 
                
| ProcessingType | 
                         Indicator for Combined, Separate or Mixed Fee processing. See ProcessingType model for details.  | 
                    ProcessingType | 
                             None.  | 
                
| Success | 
                         Indicates sucess or failure of the REST request.  | 
                    boolean | 
                             None.  | 
                
Response Formats
application/json, text/json
{
  "ErrorCode": "None",
  "ErrorID": "sample string 1",
  "ErrorNum": 0,
  "Errors": [
    "sample string 1",
    "sample string 2"
  ],
  "FeeTotal": 2.0,
  "GrandTotal": 3.0,
  "PaymentTotal": 4.0,
  "ProcessingType": "Combined",
  "Success": true
}