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-12-21T23:08:32.8266072Z",
"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-12-21T23:08:32.857871Z",
"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-12-21T23:08:32.857871Z",
"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-12-21T23:08:32.8266072Z",
"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-12-21T23:08:32.857871Z",
"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-12-21T23:08:32.857871Z",
"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-12-21T23:08:32.8734996Z",
"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
}