Page cover
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Payment

To try a test and directly interact with the API endpoint click "Test It" and use an embedded API client to send requests with custom headers and variables, then see the live response; essentially letting you test this API directly within this page. When testing please use our Demo URL: https://demo-payments.frontstream.com/api/payment

Make a payment

post
Header parameters
AccessTokenstringRequired

access token

Body
ProcessorGuidstring · nullableOptional

optional for Non-Profit transactions like donations but required if For-Profit API Partner - Identifies Processor being used by an API Partner

CharityIdstring · nullableOptional

optional - Valid CharityId Guid from Charity Search

OrganizationGuidstring · nullableOptional

internal use - Valid Panorama Organization Guid

MKeystring · max: 500 · nullableOptional

internal use - Used by FrontStream only

IntegrationSourcestring · nullableOptional

internal use - Identifies integrated Product

CardNumstring · max: 30 · nullableOptional

optional - Valid Credit card number - required for non-Wallet transaction

CardTypestring · max: 20 · nullableOptional

optional (max: 20) - "American Express", "Mastercard", "Visa", "Discover", "Diners Club" - will be set internally based on cardNum

ExpMonthstring · max: 2 · nullableOptional

optional (max: 2) - example: "01" for January - required for non-Wallet transaction

ExpYearstring · max: 2 · nullableOptional

optional (max: 2) - example: "29" for 2029 - required for non-Wallet transaction

CVNumstring · max: 4 · nullableOptional

optional (max: 4) - valid CVV - please provide for CVV checks

NameOnCardstring · max: 25Required

required - Name on Card

Zipstring · max: 10 · nullableOptional

optional (max: 10) - please provide for best interchange and avs checks - US, CA, AU formats are validated (example formats - US: 12345 or 12345-1234, CA: A1A 1A1, AU: 3000

Streetstring · max: 50 · nullableOptional

optional (max: 50) - please provide for best interchange and avs checks

Emailstring · email · max: 100Required

required - valid contact email

Citystring · max: 50 · nullableOptional

optional (max: 50) - please provide for best interchange and avs checks

Statestring · max: 50 · nullableOptional

optional - 2 char US state code, 3 char may be used for other non-US

Countrystring · max: 2 · nullableOptional

optional (max: 2) - 2 char country code

Currencystring · max: 3 · nullableOptional

optional (max: 3) - 3 char currency code - Example for US - "USD", for CA - "CAD"

ExternalConstituentIdstring · max: 200 · nullableOptional

optional (max: 200) - Donor Identifier per Product

ExternalCustomerIdstring · max: 200 · nullableOptional

optional (max: 200) - ArgoFire Gateway CustomerKey for pre-existing ArgoFire customers without a Payment API token record

FirstNamestring · max: 50 · nullableOptional

optional (max: 50) - billing First Name

LastNamestring · max: 50 · nullableOptional

optional (max: 50) - billing Last Name

BillingDescriptorstring · max: 22 · nullableOptional

optional (max: 22) - descriptor to show on bank statement

IpAddressstring · max: 40Required

required - client ip address where transaction originates

ExternalEventIdstring · max: 10 · nullableOptional

optional (max: 10) - Event Identifier per Product

ExternalEventGuidstring · nullableOptional

optional - Event Guid per Product

ExternalEventNamestring · max: 500 · nullableOptional

optional (max: 500) - Event Name per Product

ShippingFeestring · max: 7 · nullableOptional

optional (max: 7) - fee for shipping that will be added to the total amount

TaxableBenefitstring · max: 7 · nullableOptional

optional (max: 7) - If part of the donation being passed in is taxable, include that amount here. No calculations are performed using this value, it is simply a placeholder to be used for your own reporting; all commission and credit card fees still apply as normal.

TranIdstring · max: 100 · nullableOptional

optional (max: 100) - system unique id for Dup Checking per Integration Source transaction (where integration source has DupCheckEnabled) that will be checked against successfully processed prior TranIds for Duplicates

EpfSessionIdstring · nullableOptional

internal use - FrontStream unique Embedded Payment Form Session Id if available

PaymentMethodTypeIdstring · nullableOptional

internal use - GooglePay (8) or Apple Pay (9) - possible values - "8" - GOOGLEPAY, "9" - APPLEPAY

ExternalPaymentDatastring · max: 5000 · nullableOptional

internal use for Wallet transactions

Surchargestring · max: 7 · nullableOptional

optional (max: 7) - calculated surcharge amount that will be added to the total amount

Tokenizeboolean · nullableOptional

optional - set to true to tokenize card at time of purchase

Responses
201

Returns the newly created payment

application/json
SuccessfulbooleanOptional

As one would guess, this is "true" if the transaction was processed successfully, and "false" if the transaction was not processed successfully.

Messagestring · nullableOptional

Payment Gateway response message

ProcessorMessagestring · nullableOptional

Response from the processing bank.

AuthCodestring · nullableOptional

AuthCode from the processor.

TransactionIdstring · nullableOptional

Payment Gateway TransactionId

PaymentGuidstring · uuidOptional

Payment API Payment GUID

PaymentIdinteger · int32Optional

Payment API Payment Id

ResponseCodestring · nullableOptional
PaymentResultinteger · enumOptionalPossible values:
ProcessStatusinteger · enumOptionalPossible values:
TotalAmountnumber · doubleOptional

The total amount processed toward the cardholder's account.

TotalSurchargenumber · double · nullableOptional

The total surcharge amount if available.

AVSStreetStatusstring · nullableOptional

Address Verification Street Status if available.

AVSZipStatusstring · nullableOptional

Address Verification Zip Status if available.

AVSResponsestring · nullableOptional

Address Verification Response if available. AVS and CVV response values covered more here - https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/general-info-and-utilities#argofire-response-codes

CVVResponsestring · nullableOptional

Card Verification Response if available. AVS and CVV response values covered more here - https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/general-info-and-utilities#argofire-response-codes

ExternalCardTokenstring · nullableOptional

ExternalCardToken if available to return - represents 3rd party gateway card token

ExternalCheckTokenstring · nullableOptional

ExternalCheckToken if available to return - represents 3rd party gateway check token

ExternalCustomerIdstring · nullableOptional

ExternalCustomerId if available to return - represents 3rd party gateway customer id tied to gateway token

ExternalConstituentIdstring · nullableOptional

ExternalConstituentId if available to return - merchant-supplied constituent/donor id linked to this token

TokenGuidstring · uuid · nullableOptional

Payment API Token GUID if available to return

OrganizationGuidstring · uuidOptional

internal use

ProcessorGuidstring · uuid · nullableOptional

ProcessorGuid used

FirstNamestring · nullableOptional
LastNamestring · nullableOptional
EmailAddressstring · nullableOptional
PostalCodestring · nullableOptional
AddressLine1string · nullableOptional
Citystring · nullableOptional
ProvinceCodestring · nullableOptional
CountryCodestring · nullableOptional
CardNumstring · nullableOptional

last 4 digits of card

CardTypestring · nullableOptional

possible values if available: American Express, Mastercard, Visa, Discover, Diners Club, Undefined

ExpMonthstring · nullableOptional
ExpYearstring · nullableOptional
Currencystring · nullableOptional
PaymentMethodTypeIdinteger · int32 · nullableOptional

possible values if available: None = 0, AmericanExpress = 1, MasterCard = 2, Visa = 3, Discover = 4, DinersClub = 5, ACH = 7, GOOGLEPAY = 8, APPLEPAY = 9

IsSurchargeEligibleboolean · nullableOptional

Was card used Surcharge eligible

CheckAccountNumstring · nullableOptional

last 4 digits of check account

TranIdstring · nullableOptional

unique tran id per Integration Source if available

EpfSessionIdstring · nullableOptional

FrontStream unique Embedded Payment Form Session Id if available

PaymentDatestring · date-timeOptional

Payment Date of transaction

post/api/payment
POST /api/payment HTTP/1.1
AccessToken: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 1483

{
  "ProcessorGuid": "text",
  "CharityId": "text",
  "OrganizationGuid": "text",
  "MKey": "text",
  "IntegrationSource": "text",
  "CardNum": "text",
  "CardType": "text",
  "ExpMonth": "text",
  "ExpYear": "text",
  "CVNum": "text",
  "NameOnCard": "text",
  "Zip": "text",
  "Street": "text",
  "Email": "name@gmail.com",
  "City": "text",
  "State": "text",
  "Country": "text",
  "Currency": "text",
  "ExternalConstituentId": "text",
  "ExternalCustomerId": "text",
  "FirstName": "text",
  "LastName": "text",
  "BillingDescriptor": "text",
  "IpAddress": "text",
  "ExternalEventId": "text",
  "ExternalEventGuid": "text",
  "ExternalEventName": "text",
  "ShippingFee": "text",
  "TaxableBenefit": "text",
  "TranId": "text",
  "EpfSessionId": "text",
  "Transactions": [
    {
      "TransactionSourceGroupId": "text",
      "Amount": "text",
      "PayFee": true,
      "CommissionRateOverride": "text",
      "CardProcessingFeeOverride": "text",
      "ExternalLineId": "text",
      "Tip": "text",
      "Tax": "text"
    }
  ],
  "AFShieldAdditional": {
    "ProductDescription": "text",
    "ProductItem": "text",
    "ProductType": "text",
    "ProductQuantity": "text",
    "SessionId": "text",
    "BillToPhoneNumber": "text",
    "ShippingAddressStreet1": "text",
    "ShippingAddressStreet2": "text",
    "ShippingAddressCountry": "text",
    "ShippingAddressCity": "text",
    "ShippingAddressEmail": "name@gmail.com",
    "ShippingAddressName": "text",
    "ShippingAddressZip": "text",
    "ShippingAddressState": "text",
    "ShipToPhoneNumber": "text",
    "ShipToPremiseForUK": "text",
    "ShipToStreetForUK": "text",
    "BillToPremiseForUK": "text",
    "BillToStreetForUK": "text"
  },
  "PaymentMethodTypeId": "text",
  "ExternalPaymentData": "text",
  "Surcharge": "text",
  "Tokenize": true
}
{
  "Successful": true,
  "Message": "text",
  "ProcessorMessage": "text",
  "AuthCode": "text",
  "TransactionId": "text",
  "PaymentGuid": "123e4567-e89b-12d3-a456-426614174000",
  "PaymentId": 1,
  "ResponseCode": "text",
  "PaymentResult": 1,
  "ProcessStatus": 1,
  "TotalAmount": 1,
  "TotalSurcharge": 1,
  "AVSStreetStatus": "text",
  "AVSZipStatus": "text",
  "AVSResponse": "text",
  "CVVResponse": "text",
  "ExternalCardToken": "text",
  "ExternalCheckToken": "text",
  "ExternalCustomerId": "text",
  "ExternalConstituentId": "text",
  "TokenGuid": "123e4567-e89b-12d3-a456-426614174000",
  "TransactionFees": [
    {
      "TransactionSourceGroupId": "text",
      "PaymentAmount": 1,
      "CardFeeRate": 1,
      "CardFeeAmount": 1,
      "CardTypeFeeAmount": 1,
      "TotalCommissionRate": 1,
      "TotalCommissionAmount": 1,
      "PartnerCommissionRate": 1,
      "PartnerCommissionAmount": 1,
      "FsCommissionRate": 1,
      "FsCommissionAmount": 1,
      "TotalFees": 1,
      "MaxOverridePartnerCommissionRate": 1,
      "MinOverridePartnerCommissionRate": 1,
      "PerTransFee": 1,
      "Tip": 1,
      "CardFeeOnFeeAmount": 1,
      "Tax": 1,
      "AchFeeRate": 1,
      "AchFeeAmount": 1
    }
  ],
  "OrganizationGuid": "123e4567-e89b-12d3-a456-426614174000",
  "ProcessorGuid": "123e4567-e89b-12d3-a456-426614174000",
  "FirstName": "text",
  "LastName": "text",
  "EmailAddress": "text",
  "PostalCode": "text",
  "AddressLine1": "text",
  "City": "text",
  "ProvinceCode": "text",
  "CountryCode": "text",
  "CardNum": "text",
  "CardType": "text",
  "ExpMonth": "text",
  "ExpYear": "text",
  "Currency": "text",
  "PaymentMethodTypeId": 1,
  "IsSurchargeEligible": true,
  "CheckAccountNum": "text",
  "TranId": "text",
  "EpfSessionId": "text",
  "PaymentDate": "2026-01-01T00:00:00.000Z"
}

When testing please use our Demo URL: https://demo-payments.frontstream.com/api/paymentAch

Make an ach payment

post
Header parameters
AccessTokenstringRequired

access token

Body
ProcessorGuidstring · nullableOptional

optional for Non-Profit transactions like donations but required if For-Profit API Partner - Identifies Processor being used by an API Partner

CharityIdstring · nullableOptional

optional - Valid CharityId Guid from Charity Search

OrganizationGuidstring · nullableOptional

internal use - Valid Panorama Organization Guid

MKeystring · max: 500 · nullableOptional

internal use - Used by FrontStream only

IntegrationSourcestring · nullableOptional

internal use - Identifies integrated Product

CheckRoutingNumberstring · max: 9Required

required - Valid Check Bank Routing Number - formats - US: Enter 9-digits, CA: Enter 9-digits (Format: 0YYYXXXXX: A mandatory leading zero. YYY: The 3-digit institution number. XXXXX: The 5-digit transit number), AU: Enter 6-digits - BSB Number (Bank State Branch) without hyphen

CheckAccountNumberstring · max: 20Required

required - Valid Check Account Number - formats - US: Enter 8-12 digits, CA: Enter 7-12 digits, AU: Enter 3-9 digits

CheckNumberstring · max: 10 · nullableOptional

optional (max: 10) - Valid Check Number

CheckAccountTypeIdstringRequired

required for Check ACH transactions - possible values - 1 - Checking, 2 - Savings

CheckTypeIdstringRequired

required for Check ACH transactions - possible values - 1 - Personal, 2 - Corporate, 3 - Government

NameOnCheckstring · max: 25Required

required - Name on ACH Check Account

Zipstring · max: 10 · nullableOptional

optional (max: 10) - US, CA, AU formats are validated (example formats - US: 12345 or 12345-1234, CA: A1A 1A1, AU: 3000

Streetstring · max: 50 · nullableOptional

optional (max: 50) - billing street

Emailstring · email · max: 100Required

required - valid contact email

Citystring · max: 50 · nullableOptional

optional (max: 50) - billing city

Statestring · max: 50Required

required - 2 char US state code, 3 char may be used for other non-US

Countrystring · max: 2 · nullableOptional

optional - 2 char country code

Currencystring · max: 3 · nullableOptional

optional - 3 char currency code - Example for US - "USD", for CA - "CAD"

ExternalConstituentIdstring · max: 200 · nullableOptional

optional (max: 200) - Donor Identifier per Product

ExternalCustomerIdstring · max: 200 · nullableOptional

optional (max: 200) - ArgoFire Gateway CustomerKey for pre-existing ArgoFire customers without a Payment API token record

FirstNamestring · max: 50 · nullableOptional

optional (max: 50) - billing First Name

LastNamestring · max: 50 · nullableOptional

optional (max: 50) - billing Last Name

BillingDescriptorstring · max: 22 · nullableOptional

optional (max: 22) - descriptor to show on bank statement

IpAddressstring · max: 40Required

required - client ip address where transaction originates

ExternalEventIdstring · max: 10 · nullableOptional

optional (max: 10) - Event Identifier per Product

ExternalEventGuidstring · nullableOptional

optional - Event Guid per Product

ExternalEventNamestring · max: 500 · nullableOptional

optional (max: 500) - Event Name per Product

ShippingFeestring · max: 7 · nullableOptional

optional (max: 7) - fee for shipping that will be added to the total amount

TaxableBenefitstring · max: 7 · nullableOptional

optional (max: 7) - If part of the donation being passed in is taxable, include that amount here. No calculations are performed using this value, it is simply a placeholder to be used for your own reporting; all commission and credit card fees still apply as normal.

TranIdstring · max: 100 · nullableOptional

optional (max: 100) - system unique id for Dup Checking per Integration Source transaction (where integration source has DupCheckEnabled) that will be checked against successfully processed prior TranIds for Duplicates

EpfSessionIdstring · nullableOptional

internal use - FrontStream unique Embedded Payment Form Session Id if available

PaymentMethodTypeIdstring · nullableOptional

optional - if used please set to 7 for ACH or will be set internally

Tokenizeboolean · nullableOptional

optional - set to true to tokenize check at time of purchase

Responses
201

Returns the newly created payment

application/json
SuccessfulbooleanOptional

As one would guess, this is "true" if the transaction was processed successfully, and "false" if the transaction was not processed successfully.

Messagestring · nullableOptional

Payment Gateway response message

ProcessorMessagestring · nullableOptional

Response from the processing bank.

AuthCodestring · nullableOptional

AuthCode from the processor.

TransactionIdstring · nullableOptional

Payment Gateway TransactionId

PaymentGuidstring · uuidOptional

Payment API Payment GUID

PaymentIdinteger · int32Optional

Payment API Payment Id

ResponseCodestring · nullableOptional
PaymentResultinteger · enumOptionalPossible values:
ProcessStatusinteger · enumOptionalPossible values:
TotalAmountnumber · doubleOptional

The total amount processed toward the cardholder's account.

TotalSurchargenumber · double · nullableOptional

The total surcharge amount if available.

AVSStreetStatusstring · nullableOptional

Address Verification Street Status if available.

AVSZipStatusstring · nullableOptional

Address Verification Zip Status if available.

AVSResponsestring · nullableOptional

Address Verification Response if available. AVS and CVV response values covered more here - https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/general-info-and-utilities#argofire-response-codes

CVVResponsestring · nullableOptional

Card Verification Response if available. AVS and CVV response values covered more here - https://developers.frontstream.com/argofire/full-endpoint-reference-and-tools/general-info-and-utilities#argofire-response-codes

ExternalCardTokenstring · nullableOptional

ExternalCardToken if available to return - represents 3rd party gateway card token

ExternalCheckTokenstring · nullableOptional

ExternalCheckToken if available to return - represents 3rd party gateway check token

ExternalCustomerIdstring · nullableOptional

ExternalCustomerId if available to return - represents 3rd party gateway customer id tied to gateway token

ExternalConstituentIdstring · nullableOptional

ExternalConstituentId if available to return - merchant-supplied constituent/donor id linked to this token

TokenGuidstring · uuid · nullableOptional

Payment API Token GUID if available to return

OrganizationGuidstring · uuidOptional

internal use

ProcessorGuidstring · uuid · nullableOptional

ProcessorGuid used

FirstNamestring · nullableOptional
LastNamestring · nullableOptional
EmailAddressstring · nullableOptional
PostalCodestring · nullableOptional
AddressLine1string · nullableOptional
Citystring · nullableOptional
ProvinceCodestring · nullableOptional
CountryCodestring · nullableOptional
CardNumstring · nullableOptional

last 4 digits of card

CardTypestring · nullableOptional

possible values if available: American Express, Mastercard, Visa, Discover, Diners Club, Undefined

ExpMonthstring · nullableOptional
ExpYearstring · nullableOptional
Currencystring · nullableOptional
PaymentMethodTypeIdinteger · int32 · nullableOptional

possible values if available: None = 0, AmericanExpress = 1, MasterCard = 2, Visa = 3, Discover = 4, DinersClub = 5, ACH = 7, GOOGLEPAY = 8, APPLEPAY = 9

IsSurchargeEligibleboolean · nullableOptional

Was card used Surcharge eligible

CheckAccountNumstring · nullableOptional

last 4 digits of check account

TranIdstring · nullableOptional

unique tran id per Integration Source if available

EpfSessionIdstring · nullableOptional

FrontStream unique Embedded Payment Form Session Id if available

PaymentDatestring · date-timeOptional

Payment Date of transaction

post/api/paymentAch
POST /api/paymentAch HTTP/1.1
AccessToken: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 924

{
  "ProcessorGuid": "text",
  "CharityId": "text",
  "OrganizationGuid": "text",
  "MKey": "text",
  "IntegrationSource": "text",
  "CheckRoutingNumber": "text",
  "CheckAccountNumber": "text",
  "CheckNumber": "text",
  "CheckAccountTypeId": "text",
  "CheckTypeId": "text",
  "NameOnCheck": "text",
  "Zip": "text",
  "Street": "text",
  "Email": "name@gmail.com",
  "City": "text",
  "State": "text",
  "Country": "text",
  "Currency": "text",
  "ExternalConstituentId": "text",
  "ExternalCustomerId": "text",
  "FirstName": "text",
  "LastName": "text",
  "BillingDescriptor": "text",
  "IpAddress": "text",
  "ExternalEventId": "text",
  "ExternalEventGuid": "text",
  "ExternalEventName": "text",
  "ShippingFee": "text",
  "TaxableBenefit": "text",
  "TranId": "text",
  "EpfSessionId": "text",
  "Transactions": [
    {
      "TransactionSourceGroupId": "text",
      "Amount": "text",
      "PayFee": true,
      "CommissionRateOverride": "text",
      "CardProcessingFeeOverride": "text",
      "ExternalLineId": "text",
      "Tip": "text",
      "Tax": "text"
    }
  ],
  "PaymentMethodTypeId": "text",
  "Tokenize": true
}
{
  "Successful": true,
  "Message": "text",
  "ProcessorMessage": "text",
  "AuthCode": "text",
  "TransactionId": "text",
  "PaymentGuid": "123e4567-e89b-12d3-a456-426614174000",
  "PaymentId": 1,
  "ResponseCode": "text",
  "PaymentResult": 1,
  "ProcessStatus": 1,
  "TotalAmount": 1,
  "TotalSurcharge": 1,
  "AVSStreetStatus": "text",
  "AVSZipStatus": "text",
  "AVSResponse": "text",
  "CVVResponse": "text",
  "ExternalCardToken": "text",
  "ExternalCheckToken": "text",
  "ExternalCustomerId": "text",
  "ExternalConstituentId": "text",
  "TokenGuid": "123e4567-e89b-12d3-a456-426614174000",
  "TransactionFees": [
    {
      "TransactionSourceGroupId": "text",
      "PaymentAmount": 1,
      "CardFeeRate": 1,
      "CardFeeAmount": 1,
      "CardTypeFeeAmount": 1,
      "TotalCommissionRate": 1,
      "TotalCommissionAmount": 1,
      "PartnerCommissionRate": 1,
      "PartnerCommissionAmount": 1,
      "FsCommissionRate": 1,
      "FsCommissionAmount": 1,
      "TotalFees": 1,
      "MaxOverridePartnerCommissionRate": 1,
      "MinOverridePartnerCommissionRate": 1,
      "PerTransFee": 1,
      "Tip": 1,
      "CardFeeOnFeeAmount": 1,
      "Tax": 1,
      "AchFeeRate": 1,
      "AchFeeAmount": 1
    }
  ],
  "OrganizationGuid": "123e4567-e89b-12d3-a456-426614174000",
  "ProcessorGuid": "123e4567-e89b-12d3-a456-426614174000",
  "FirstName": "text",
  "LastName": "text",
  "EmailAddress": "text",
  "PostalCode": "text",
  "AddressLine1": "text",
  "City": "text",
  "ProvinceCode": "text",
  "CountryCode": "text",
  "CardNum": "text",
  "CardType": "text",
  "ExpMonth": "text",
  "ExpYear": "text",
  "Currency": "text",
  "PaymentMethodTypeId": 1,
  "IsSurchargeEligible": true,
  "CheckAccountNum": "text",
  "TranId": "text",
  "EpfSessionId": "text",
  "PaymentDate": "2026-01-01T00:00:00.000Z"
}

Payment Example

Take a look at how you might call this method:

Last updated