POST Api/Payment/CalculateFee

Calculate the applicable fees for a payment request.

Request Information

URI Parameters

None.

Body Parameters

APIPaymentRequestModel
NameDescriptionTypeAdditional 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

Sample:
{
  "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-05-21T06:35:33.1251858Z",
        "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-05-21T06:35:33.1408123Z",
        "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-05-21T06:35:33.1408123Z",
        "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-05-21T06:35:33.1251858Z",
        "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-05-21T06:35:33.1408123Z",
        "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-05-21T06:35:33.1408123Z",
        "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-05-21T06:35:33.1564438Z",
  "UniqueTransactionID": "sample string 10",
  "WaiveFee": true
}

Response Information

Resource Description

Calculate the applicable fees for a payment request.

APIPaymentFeeResponseModel
NameDescriptionTypeAdditional 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

Sample:
{
  "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
}