FrontStream Docs
FrontStream Payments
FrontStream Payments
  • Introducing our Embedded Form
    • Overview and Features
    • Payment Methods process
    • How to implement
    • Compare Embedded Form and Direct API integration
  • Welcome to our Payment API
    • Overview
    • Quick Start
    • API references
      • Search for a Charity for your Donation
      • Make a Payment
      • Learn how to cover Fees
      • Test Payment API Features
        • CharitySearch
        • Payment
        • Fee
      • Temp - Make a Payment - API specification
      • Temp - Charity Search API specification
      • Payment - Specification
      • Calculate Fees - Specification
    • Specification
    • CharitySearch - Specification
Powered by GitBook
On this page
Export as PDF
  1. Welcome to our Payment API
  2. API references
  3. Test Payment API Features

Payment

PreviousCharitySearchNextFee

Last updated 5 months ago

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

Payment Example

Take a look at how you might call this method:

// Some code

Page cover image
  • POSTMake a payment
  • Payment Example

Make a payment

post
Header parameters
AccessTokenstringRequired

access token

Body
ProcessorGuidstring | nullableOptional

required - Identifies Processor being used by an API Partner

CharityIdstring | nullableOptional

optional - Valid CharityId from Charity Search

OrganizationGuidstring | nullableOptional

internal use - Valid Panorama Organization Guid

IntegrationSourcestring | nullableOptional

internal use - Identifies integrated Product – PAN, Firstgiving, Artez, BFG, and can also be an Api Partner

CardNumstring | nullableOptional

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

CardTypestring | nullableOptional

optional - "American Express", "Mastercard", "Visa", "Discover", "Diners Club"

ExpMonthstring | nullableOptional

optional - example: "01" for January - required for non-Wallet transaction

ExpYearstring | nullableOptional

optional - example: "29" for 2029 - required for non-Wallet transaction

CVNumstring | nullableOptional

optional - valid CVV

NameOnCardstring · max: 25Required

required

Zipstring | nullableOptional

optional - US and CA formats are validated (example formats - US: 12345 or 12345-1234 CA: K1V 2

Streetstring | nullableOptional

optional

Emailstring · email · max: 100Required

required - valid contact email

Citystring | nullableOptional

optional

Statestring | nullableOptional

optional - 2 char state code

Countrystring | nullableOptional

optional - 2 char country code

Currencystring | nullableOptional

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

ExternalConstituentIdstring | nullableOptional

optional - ConstituentId per Product

FirstNamestring | nullableOptional

optional

LastNamestring | nullableOptional

optional

BillingDescriptorstring | nullableOptional

optional - descriptor to show on Credit Card statement

IpAddressstring · max: 40Required

required - client ip address where transaction originates

ExternalEventIdstring | nullableOptional

optional - Event Id per Product

ExternalEventGuidstring | nullableOptional

optional - Event Guid per Product

ExternalEventNamestring | nullableOptional

optional - Event Name per Product

ShippingFeestring | nullableOptional

optional fee for shipping that will be added to the total amount

TaxableBenefitstring | nullableOptional

optional - 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 | nullableOptional

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

PaymentMethodTypeIdstring | nullableOptional

required for Wallet transactions - possible values - 1 - AMEX, 2 - MASTERCARD, 3 - VISA, 4 - DISCOVER, 5 - DINERSCLUB, 6 - JCB, 7 - ACH, 8 - GOOGLEPAY, 9 - APPLEPAY, 10 - STRIPE

ExternalPaymentDatastring | nullableOptional

required for Wallet transactions

Responses
201
Returns the newly created payment
application/json
400
If it fails to create a payment
application/json
post
POST /api/payment HTTP/1.1
Host: 
AccessToken: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 1371

{
  "ProcessorGuid": "text",
  "CharityId": "text",
  "OrganizationGuid": "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",
  "FirstName": "text",
  "LastName": "text",
  "BillingDescriptor": "text",
  "IpAddress": "text",
  "ExternalEventId": "text",
  "ExternalEventGuid": "text",
  "ExternalEventName": "text",
  "ShippingFee": "text",
  "TaxableBenefit": "text",
  "TranId": "text",
  "Transactions": [
    {
      "TransactionSourceGroupId": "text",
      "Amount": "text",
      "PayFee": true,
      "CommissionRateOverride": "text",
      "CardProcessingFeeOverride": "text",
      "ExternalLineId": "text",
      "Tip": "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"
}
{
  "Successful": true,
  "Message": "text",
  "ProcessorMessage": "text",
  "TransactionId": "text",
  "PaymentGuid": "123e4567-e89b-12d3-a456-426614174000",
  "PaymentId": 1,
  "ResponseCode": "text",
  "PaymentResult": 1,
  "ProcessStatus": 1,
  "TotalAmount": 1,
  "AVSStreetStatus": "text",
  "AVSZipStatus": "text",
  "CVVResponse": "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
    }
  ],
  "OrganizationGuid": "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"
}