• Home
  • Merchants
  • Developers
  • Partners
  • Contact
  • Home
  • Merchants
  • Developers
  • Partners
  • Contact

HOME / Partner Docs / Virtual Terminal User Guide / Payment Form Specifications

    Payment Form Specifications

    1602 views 0

    1. Purpose

    ComsGate®, the proprietary gateway of Charge Anywhere, facilitates electronic commerce by enabling merchants to accept credit cards and ACH as a form of online payment. The gateway acts as a bridge between the merchant’s website and the financial institution that processes the payment transactions. Merchants may request ComsGate to host the page where the customer enters payment data. This page is referred to as the Payment Form and may be configured to look like the Merchant’s website.

    This guide describes how the merchant may configure the Payment Forms available through ComsGate’s Web Terminal Application.

    2. Scope

    This guide applies to all Merchants and their employees or contractors authorized to use ComsGate’s Web Terminal application.

    3. Background

    Payment data is collected online from the shopper and submitted to the gateway for real-time authorization. The merchant may collect payment information on their Website using ComsGate’s Payment Form. Using this Payment Form, merchants can collect payment data securely without having a secure Website. The Payment Form offered by Charge Anywhere can be utilized via Client-to-Server or Server-to-Server mode of communication.

    4. Definitions

    PF – Payment Form

    TM – Transaction Manager

    CTS – Client to Server

    STS – Server to Server

    SIP – Simple Integration Protocol

    AIP – Advanced Integration Protocol

    5. Payment Form Modes

    The Payment Form may be used with two different protocols: Simple Integration Protocol and Advanced Integration Protocol. The selected protocol will determine how the collected payment data will be sent to the ComsGate gateway, and will also determine the way the customer views the response.

    The Simple Integration Protocol also has two ways to present a payment form to the client.

    • SIP Basic: It allows merchants to have Charge Anywhere collect the payment data on their behalf, making it easy for any merchant to set up a Payment Form on their site. 
    • SIP Advanced: It allows merchants to collect payment data on their own site using an HTML page of their own design if they desire.  Both SIP-Basic and SIP-Advanced post information directly to Charge Anywhere ComsGate.

    The Advanced Integration Protocol has only one way to present a payment form to the client.

    • AIP: The merchant collects payment data and submits it to Charge Anywhere. Payment data passes through the merchant’s servers. The merchant generates the receipt after the successful transaction in AIP.
    ActionSIP
    Basic
    SIP
    Advanced
    AIP
    Payment Data is Collected by Charge Anywheretrue  
    Payment Data is Collected by the Merchant truetrue
    Payment Data is sent to Charge Anywheretruetrue 
    Payment Data is sent to the Merchant  true
    Charge Anywhere process transactiontruetruetrue
    Receipt is sent by Charge Anywheretruetrue 
    Receipt is sent by the Merchant  true
    5.1 Simple Integration Protocol (SIP)
    5.1.1 Basic: Charge Anywhere hosts the Payment Form

    Use case diagram:

    • The merchant uses a client-to-server method of communication.
    • The merchant delegates the collection of payment data to Charge Anywhere
    • Charge Anywhere collects the payment data.
    • Charge Anywhere sends a receipt to the customer.
    • Charge Anywhere also sends payment data to the merchant.

    Sequence diagram:

    • The user clicks on the pay button on the merchant’s website.
    • Charge Anywhere generates a payment form and displays it to the customer.
    • The customer fills in payment information and submits the payment.
    • Charge Anywhere validates payment information, processes payment, and generates a response.
    • MerchantReceiptURL:
      • If provided, Charge Anywhere sends all transaction data to the merchant receipt URL.
      • If not provided, Charge Anywhere displays the confirmation page and receipt to the user.
    • Send all transaction data to MerchantResultURL if the merchant provides one
    • Email the customer if the EmailCustomer flag is enabled in the payments form.
    5.1.2 Advanced: Merchant hosts their own Payment Form

    Use case diagram:

    • The merchant uses a client-to-server method of communication. The merchant collects the payment data and submits it to Charge Anywhere.
    • Charge Anywhere processes the transaction and sends the response to the merchant.
    • The merchant customizes a receipt in Transaction Manager and Charge Anywhere forwards that receipt to the customer. The receipt is configured to look like the merchant’s webpage.

    Sequence diagram:

    1. The customer fills up payment information and submits payment from the merchant’s website
    2. Charge Anywhere validates payment information, processes payment, and generates a response.
    3. MerchantReceiptURL:
      If provided, Charge Anywhere sends all transaction data to the merchant receipt URL.
      If not provided, Charge Anywhere displays a confirmation page and receipt to the user.
    4. Send all transaction data to MerchantResultURL if one is provided by the merchant
    5. Email customer if EmailCustomer flag is provided.
    5.2 Advanced Integration Protocol (AIP)

    Merchants with PCI compliance can implement Advanced Integration Protocol. To know more about AIP, checkout out Advanced Integration Protocol Guide.

    6. Payment Form

    You can refer to our Payment Form Quick Start Guide for detailed information.

    6.1 Payment Forms Options

    The Payment Form look and feel hosted by Charge Anywhere may be customized from Transaction Manager. It can also be controlled through API calls using the fields from the table below:

    FIELDREQUIREDVALUEMAX LENGTH
    HeaderLogoOptionalValid logo image URL or image saved on the TM payment form configurationThe saved or provided logo URL will be displayed in the header of the Payment Form
    HeaderTextOptionalValid textThe text contained in this field will set the Header’s text on the Payment Form
    HeaderTextColorOptionalValid Color hex codeThe color hex code in this field will set the header’s color of the Payment Form
    PageBGColorOptionalValid Color hex codeValue in this field will set the background color for the Payment Form.
    PageFormLayoutOptionalAny valid layout saved from the portalValue in this field will set the layout of the Payment Form to any supported layout
    FooterBGColorOptionalValid Color hex codeThe color hex code in this field will set the footer’s color of the Payment Form
    FooterTextOptionalValid textThe text contained in this field will set the Footer’s text on the Payment Form
    FooterTextColorOptionalValid textThe color hex code in this field will set the footer’s test of the Payment Form
    HeaderBGColorOptionalValid Color hex codeThe color hex code in this field will set the header’s color of the Payment Form
    ButtonBGColorOptionalValid Color hex codeThe color hex code in this field will set the button’s color of the Payment Form
    ButtonTextColorOptionalValid textThe color hex code in this field will set the button’s text of the Payment Form
    MerchantReceiptURLRequired / DefaultA valid URLIf a receipt page is not specified, one is available by default
    MerchantResultsURLOptionalA valid URLThe results of the transaction are sent to this URL.
    6.2 Payment Form Setup

    The Payment Form hosted by Charge Anywhere ComsGate (SIP-Basic) may be configured, as specified below.

    • All fields on the payment form can be customized. While setting up the Payment Form, the following may be specified:
      • View: The check box next to the field must be selected to view the field on the payment form
      • Edit: The check box next to the Edit field must be selected to allow the user to make changes to the value of the field.
      • Required: The check box next to the field must be selected in order to require a value to be entered in order to save the form and proceed with the checkout process
    • The following tables list the fields available on the payment form. The fields are grouped logically in the tables, based on the information submitted. Each table contains the following information:
    FieldName of the parameter that may be submitted on a transaction
    RequiredIndicates whether the field is required on a transaction
    ValueLists the possible values that may be submitted for the field
    Max LengthIndicates the maximum number of characters that may be supplied for each field.
    DescriptionProvides additional details on how the field is used
    Modes

    Charge Anywhere supports the following three modes.

    • Mode 0 = SIP Basic
    • Mode 1 = SIP Advanced
    • Mode 2 = AIP
    6.2.1 Invoice Information

    Based on their requirements, merchants may submit invoice information with a transaction. The following fields are provided in the ComsGate API.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    VersionRequired2.0 Version of the Protocol.
    ModeRequired0, 1, or 21Mode used, Default 0
    VarAmountOptionalTRUENAOnly applicable to Mode=0 when using a variable amount
    InvoiceNumber
    Label
    OptionalAny String50Label to be used when displaying invoice number
    InvoiceNumberOptionalAny String50Invoice number for this Transaction
    Description LabelOptionalAny String225Label to be used when displaying Description
    DescriptionOptionalAny String225Description of the transaction
    AmountRequiredAny Amount15Total value to be charged
    6.2.2 Customer Information
    6.2.2.1 Customer Name and Billing Address

    The customer billing address fields listed below contain the customer billing address information associated with each transaction.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    CustomerNumber
    Label
    OptionalAny string50Label to be used when displaying Customer Number
    CustomerNumberOptionalAny string50CustomerNumber for this transaction
    BIFirstNameOptionalAny string50Contains the first name of the customer associated with the billing address for the transaction
    BILastNameOptionalAny string50Contains the last name of the customer associated with the billing address for the transaction
    BICompanyNameOptionalAny string50Contains the company name of the customer associated with the billing address for the transaction
    BIAddressOptionalAny string50Contains the address of the customer associated with the billing address for the transaction
    BICityOptionalAny string50Contains the city of the customer associated with the billing address for the transaction
    BIStateOptionalAny valid two character state code or full state name50Contains the state of the customer associated with the billing address for the transaction
    BIZipCodeOptionalAny five digit or nine digit zip code9Contains the zip of the customer associated with the billing address for the transaction
    BICountryOptionalAny valid two character country code or full country name50Contains the country of the customer associated with the billing address for the transaction
    BIPhoneOptionalAny string   Recommended Format is (111) 123-123425Contains the phone number of the customer associated with the billing address for the transaction
    BIFaxOptionalAny string   Recommended Format is (111) 123-123425Contains the fax number of the customer associated with the billing address for the transaction
    BIEmailOptionalAny valid email address Email address to which the customer’s copy of the confirmation email is sent. No email will be sent to the customer if the email address does not meet the standard email format checks.
    6.2.2.2 Customer Shipping Address

    The following fields describe the customer shipping information that may be submitted with each transaction

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    SIFirstNameOptionalAny string50Contains the customer shipping first name
    SILastNameOptionalAny string50Contains the customer shipping last name
    SICompanyNameOptionalAny string50Contains the customer shipping company name
    SIAddressOptionalAny string50Contains the customer shipping address
    SICityOptionalAny string50Contains the customer shipping city name
    SIStateOptionalAny valid two character state code or full state name50Contains the customer shipping state name
    SIZipCodeOptionalAny five digit or nine digit zip code9Contains the customer shipping zip code
    SICountryOptionalAny valid two character country code or full country name50Contains the customer shipping country
    6.2.3 Service Fee

    A service fee is a charge collected to pay for services related to the primary product or service being purchased. The charge is configured from the payment form options section in Transaction Manager and will be added and calculated automatically at the time of the transaction.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    ServiceFeeLabelOptionalAny string50Label to use when displaying Service Fee
    6.2.4 Transaction Types Supported
    • Credit Cards
      • Sale: Can be used in all modes. This is the most basic credit card transaction used for the purchase of goods or services
      • Auth Only: Can be used in all modes. This credit card transaction is used to verify funds.
      • Force: Can be used in all modes. This credit card transaction is used to complete a previously authorized (Auth Only) transaction.
      • Void: Can be used in all modes. This credit card transaction is used to cancel a Sale, a Force, or a Return, performed on the current open batch.
      • Address Validation: Can be used in all modes. This transaction performs a $0 authorization to verify that the customer’s billing address matches the address on file with the card-issuing bank.

    Note: A non-sensitive alternative called token can be used to replace the credit card number and its expiration date. This makes the data completely useless for exploitation. Tokenization only applies to Mode 2.

    ACH

    • Debit: Can be used in all modes, This ACH transaction is used for the purchase of goods or services
    • Refund: Mode 2 Only, This ACH transaction is used to refund funds previously obtained from the customer’s bank account.
    6.2.5 Credit Card Information

    The following fields describe the credit card information submitted with each transaction.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    TransactionTypeOptionalStringNADefault Sale.
    PaymentMethodRequiredNumeric1Contains Payment Method.
    CreditCard=1
    ACH=2
    CardNumberRequiredNumeric credit card number22Contains credit card number
    ExpMonthRequiredMMNAContains the month in which card expires
    ExpYearRequiredYYNAContains the year in which the card expires
    TokenNumberRequiredNumeric token number16Contains token number. If used, do not include card number and Expiration date
    CardVerification ValueOptionalValid CVV2 value4Contains 3 or 4 digit number on back of the card
    6.2.6 ACH Information

    The following fields describe the credit card information submitted with each transaction.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    PaymentMethodRequiredNumeric1Contains Payment Method.
    CreditCard=1
    ACH=2
    AccountTypeRequiredNumeric1Contains Account Type Value.
    Personal Saving=0
    Personal Checking=1
    Business Checking=2
    RoutingNumberRequiredNumeric9Contains Routing#
    AccountNumberRequiredNumeric6 or moreContains Account#
    6.2.7 Captcha

    Captcha is a Fraud detection mechanism that stops bots and other automated attacks while approving valid users.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    CaptchaOptional  Google reCaptcha SIP Basic Only
    6.2.8 Additional Information

    The following fields describe additional information that may be submitted with each transaction.

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    TaxOptionalAny valid tax amountNAContains sales tax amount. Dollar sign is not allowed
    ShippingOptionalAny valid shipping amountNAContains shipping amount charged. Dollar sign is not allowed
    TaxExemptOptionalTRUE, FALSE5Indicates whether the transaction is tax exempt
    PurchaseCodeOptionalAny string25Contains the code on a purchase card issued by a particular business
    EmailMerchantOptionalTrue or False Set to False to suppress sending the receipt to Merchant
    EmailCustomerOptionalTrue or False Set to False to suppress sending the receipt to Customer
    ResponseFieldSeperatorOptionalAny Character1Default is & Mode2
    Only Character used to separate fields in response
    ResponseNameValueSeperatorOptionalAny Character Default is = Mode2
    Only Character used to separate name/value pairs in response
    ResponseValueWrapperOptionalTrue or False Mode2 Only Character used to wrap values in response
    6.2.9 Recurring Information

    The following fields describe fields that may be submitted with each transaction to identify a transaction as being recurring

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    IsRecurringOptional0 or 1NASpecifies either the transaction is recurring or not
    RecurringEffectiveDateOptionalAny valid Date:
    MM-DD-YY
    8Specifies first date when payment will be processed
    RecurringFrequencyOptional0-Daily
    1-Weekly
    2-Bi- Monthly 3-Monthly
    4-Annually
    1Specifies how often this payment will be applied
    RecurringPaymentsOptionalAny valid number greater than zeroNASpecifies how many payments will be applied.
    Setting the value to ‘-1’ means that this is an unlimited instance unless there is an unlimited flag
    RecurringAmountOptionalAny valid Amount greater than zeroNASpecifies the amount that will be applied to this recurring. If not specified, the amount of the transaction is used.
    6.2.10 Original Transaction Info

    The following fields describe fields that may be submitted with each transaction to identify the original transaction. These fields are only applicable to Force, Return, and Voids

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    OriginalReferenceNumberOptionalNumeric12Specifies reference# of original transaction
    OriginalApprovalCodeOptionalAlpha Numeric6Specifies approval code of the original transaction
    OriginalAmountOptionalAny Amount15Specifies the amount of original transaction
    6.3 Line Items

    As in the previous versions of the Charge Anywhere Payment Forms, merchants can choose to send line items, item tax details, and transaction tax details with each transaction. The information will be stored in the Charge Anywhere system and the merchant will be able to view it when viewing the transaction details.

    The three tables below indicate the fields that can be sent for Line Items, Line Item Tax Detail, and Transaction Tax Detail.  For samples on how to POST the data to Charge Anywhere Payment Forms, refer to section 10 and section 11 for Code Examples.

    Line Item Details

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    IdOptionalNumeric—A counter value for the item.  This field will not be saved. 
    DescriptionRequiredAlpha Numeric70The item name or a brief description of the item.
    Product CodeOptionalAlpha Numeric25The product code, such as UPC, of the item.
    Unit Of MeasureOptionalAlpha Numeric25The units that are used to measure this item.
    TaxableOptionalBoolean10 if the item is not taxable.  1 if it is.
    Commodity CodeOptionalAlpha Numeric25Commodity Code that describes the item
    CategoryOptionalAlpha Numeric25Category of the Item.
    PriceRequiredNumeric Float—The cost of a single unit of the item
    QuantityRequiredNumeric Float–The number of this particular item purchased.
    TotalRequiredNumeric Float—The total final

    Line Item Tax Details

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    EnabledOptionalBoolean1Informs if the tax is enabled.  Should be 1 if Tax is enabled.
    DescriptionOptionalAlpha Numeric25The name or a brief description of the item tax.
    RateOptionalNumeric Float—The percentage tax rate of the tax
    AmountOptionalNumeric Float—The tax amount that is applied to this item.

    Transaction Tax Detail

    FIELDREQUIREDVALUEMAX LENGTHDESCRIPTION
    EnabledOptionalBoolean1Informs if the tax is enabled.  Should be 1 if Tax is enabled.
    DescriptionOptionalAlpha Numeric25The name or a brief description of the item tax.
    RateOptionalNumeric Float—The percentage tax rate of the tax
    AmountOptionalNumeric Float—The tax amount that is applied to this transaction.

    Because multiple line items and transaction taxes can be sent in a single order, these fields are sent differently than other payment form information.  All line items should be sent in the following format:

    <input type=”hidden” name=”LineItem” value=”id[|]description[|]product_code[|]UnitOfMeasure[|]Taxable[|]CommodityCode[|]Category[|]Price[|]Quantity[|]Total[~]TaxEnabled1[-]TaxDescription1[-]TaxRate1[-]TaxAmount1[^]TaxEnabled2[-]TaxDescription2[-]TaxRate2[-]TaxAmount2 …>”

    Transaction Taxes should be sent in the following format:

    <input type=”hidden” name=”TranTax” value=”TaxEnabled[-]TaxDescription[-]TaxRate[-]TaxAmount”>
    6.4 Gateway Response

    In Simple Integration Protocol – Advanced, ComsGate will POST a response to a URL designated by the merchant.  This section describes the response returned by the gateway when a transaction is submitted for processing. The merchant can parse the string, customize a response, and submit it back to ComsGate, which will then relay the response to the customer’s browser.

    Note: All credit card numbers in the Gateway response will be truncated. CardVerificationValue (CVV) and Captcha will not be returned in the response.

    6.4.1 Fields in the Gateway Response:

    The gateway response contains all fields sent to the gateway as described in the tables above, in addition to the fields described below:

    FIELDINFORMATIONDESCRIPTION
    ResponseCodeCode sent by ComsGateA code sent out by ComsGate to track transaction ResponseCodes:
    000 = APPROVED
    094 = APPROVED_DUPLICATE
    FE0 = DEVICE_NOT_CONFIGURED
    FE1= INVALID_MERCHANT_ACCOUNT
    FE2 = OUT_OF_SEQUENCE
    FE3 = PROCESSOR_UNAVAILABLE
    FE4 = NO_RESPONSE_FROM_SERVER
    FE5 = INVALID_RESPONSE
    FE6 = INVALID_TRANSACTION_DATA
    FE7 = SERVER_BUSY
    FE8 = MERCHANT_ACCOUNT_DEACTIVE
    FE9 = TRANSACTION_NOT_SUPPORTED
    FEA = CA_MERCHANT_NOT_ALLOWED
    FEB = CA_INVALID_PROCESSOR_INFO
    FEC = CA_BATCH_CLOSE_IN_PROGRESS
    FED = CA_NO_SUCH_TRANSACTION
    FEE = CA_AVS_MISMATCH
    FEF = CA_CVV_MISMATCH
    FFA = CA_NOTHING_TO_BATCH
    FFE= PROCESSOR_ERROR
    FFF = UNSPECIFIED_ERROR
    00D = TOKEN EXPIRED
    00E = CARD EXPIRED
    ResponseTextResponse reason textIndicates the result of the transaction
    1 = Approved
    2 = Declined
    3 = Error
    ProcessorResponseCodeCode sent by credit card processorA code sent by the processor to track transaction
    ApprovalCodeApproval Code by credit card processorThe six alpha numeric authorization or approval code
    TokenNumberCredit Card TokenCredit Card Token
    AVSResponseAVS result CodeAVS verifies that the information entered, matches what the credit card company has for billing purposes. One of the following codes is received as a response:
    A =Address (Street) matches, ZIP does not
    B = Address information not provided for AVS check
    E = AVS error
    G = Non U.S. Card Issuing Bank
    N = No Match on Address (Street) or ZIP
    P = AVS not applicable for this transaction
    R = Retry – System unavailable or timed out
    S = Service not supported by issuer
    U = Address information is unavailable
    W = 9 digit ZIP matches, Address (Street) does not
    X = Address (Street) and 9 digit ZIP match
    Y = Address (Street) and 5 digit ZIP match
    Z = 5 digit ZIP matches, Address (Street) does not
    CVVResponseCard code response codeIndicates the result of Card Code verification
    M = Card Code matches
    N = Card Code does not match
    P = Card Code was not processed
    S = Card Code should be on card but was not indicated
    U = Issuer was not certified for Card Code   This value will not display on the Payment Form
    RecurringResponseResult for creating recurring0 = Failure
    1 = Success
    ReferenceNumberUnique Reference#This value represent a unique identifier in the payment system
    CustomerNumber    Customer IDEchoed from form input value for CustomerNumber
    BIFirstNameCardholder First NameEchoed from form input value for BIFirstName 
    BILastNameCardholder Last NameEchoed from form input value for BILastName
    BICompanyNameCustomer CompanyEchoed from form input value for BICompanyName
    BIAddressCustomer Billing AddressEchoed from form input value for BIAddress 
    BICityCustomer CityEchoed from form input value for BICity.
    BIStateCustomer StateEchoed from form input value for BIState.
    BIZipCodeCustomer ZipEchoed from form input value for BIZipCode
    BICountryCustomer CountryEchoed from form input value for BICountry.
    BIPhoneCustomer PhoneEchoed from form input value for BIPhone.
    BIFaxCustomer FaxEchoed from form input value for BIFax.
    BIEmailCustomer EmailEchoed from form input value for BIEmail.
    SIFirstNameCustomer Ship to First NameEchoed from form input value for SIFirstName
    SILastNameCustomer Ship to Last NameEchoed from form input value for Customer SILastName
    SICompanyNameCustomer Ship to CompanyEchoed from form input value for SICompanyName
    SIAddressCustomer Ship to AddressEchoed from form input value for SIAddress
    ShipICityCustomer Ship to CityEchoed from form input value for Customer ship_to_city.
    SIStateCustomer Ship to StateEchoed from form input value for SIState
    SIZipCodeCustomer Ship to ZipEchoed from form input value for SIZipCode
    SICountryCustomer Ship to CountryEchoed from form input value for SICountry
    TaxTax AmountEchoed from form input value for tax.
    ShippingShipping AmountEchoed from form input value for shipping
    TaxExemptTax Exempt FlagEchoed from form input value for taxexempt.
    TransactionTypeTransaction TypeEchoed from form input value for TransactionType.
    ServiceFeeServiceFeeServiceFee Amount used in the transaction

    7. Submitting a request to ComsGate

    In order to integrate with ComsGate, the merchant must be able to construct an HTML form that can generate a signature and post information including the signature.

    The form must be sent to:

    SIP Basic Fixed Amount: https://www.chargeanywhere.com/APIs/PaymentForm.aspx

    SIP Basic Variable Amount: https://www.chargeanywhere.com/APIs/PaymentFormVarAmount.aspx

    SIP Advanced: https://www.chargeanywhere.com/APIs/PaymentFormSIP.aspx

    AIP Advanced: https://www.chargeanywhere.com/APIs/PaymentFormAIP.aspx

    The client-to-server request by the merchant to generate ComsGate’s Payment Form must include a unique merchant-generated Signature. This signature is used to authenticate requests submitted by an authorized merchant.

    For merchants that do not have the capability of generating a signature, please send the form to the following URL:

    https://www.chargeanywhere.com/APIs/PayOnline.aspx

    Note:

    To know the list of predefined trigger values that can be used to test various transaction responses within Charge Anywhere, refer to the Trigger Values for Testing Transactions guide.

    For a comprehensive guide on all valid response codes (including AVS and CVV), transaction types, and a detailed explanation of Transaction Reversal reasons, please see our master list of Transaction Responses and Codes.

    7.1 Signature

    The Signature is configured using the Merchant ID, Terminal ID, Seed number (a randomly generated number), Amount, and timestamp (optional) of the transaction.

    Sample of signature generation:

    vSignature = hex_hmac_sha512(vSecret, vMerchantId & ":" & vTerminalId & ":" &   vSeed & ":" & vAmount & ":" & vTimestamp)

    Where:

    vMerchantId = <Merchant ID> as it appears on the Payment Form Processing Data page

    vTerminalId = <Terminal ID> as it appears on the Payment Form Processing Data page

    vSeed = <Random Number>        

    vAmount =  <Amount> of the transaction

    vTimestamp = <Timestamp> of the transaction

    7.2 Secret

    When using Advanced Integration Protocol, any request made by the merchant to generate a ComsGate Payment Form must include the Secret. The Secret is similar to a password. It is a gateway-generated, random string that is unique and is submitted by the merchant to the Gateway. It is used by ComsGate to authenticate the request as originating from an authorized merchant.  The Secret should be stored securely on the merchant’s server once it has been obtained. It should only be used in the Server to Server method of communication so that the Secret is not exposed to the client.

    The Secret can be obtained by clicking on the Payment Form Processing Data page in Charge Anywhere Transaction Manager. Refer to How to Retrieve Merchant ID, Terminal ID, and Secret.

    8. Other    

    8.1 Payment Form Best Practices
    • The Secret should be stored securely on the merchant’s web server or hosting provider (The Secret should never be stored in the www root directory)
    • The Secret should never be used when using Simple Integration Protocol.
    • The Secret should not be exposed on any web page that is displayed to the end customer.
    • The Secret should not appear in any hidden HTML form field.
    • The Secret should be changed periodically.

    To change your Secret:

    • Log in to Virtual Terminal in the Transaction Manager Portal
    • Select Payment Form Processing Data
    • In the Action Column, Select Rotate Secret

    Notes:  The old secret will be disabled as soon as the new secret is generated

    Caution! The Secret should be stored securely on the merchant’s server once it has been obtained. It should only be used in the Server to Server method of communication. The secret should never be exposed to the client.

    9. Sample Code

    Please check the following files for sample codes.

    ASP.NET_BasicSIP_SampleDownload
    PHP_BasicSIP_SampleDownload

    10. Help

    10.1.1 Obtain Processing Data

    Processing data like Merchant ID, Terminal ID, and Secret are available at:

    https://www.chargeanywhere.com/transactionmanager/login.aspx

    Virtual Terminal -> Payment Forms -> Payment Forms Processing Data

    (To obtain data in test mode, change the www to webtest)

    10.1.2 Questions

    Questions may be sent to – cert.questions@chargeanywhere.com

    11. Submitting Test Transactions

    11.1 Test Mode

    ComsGate offers a test mode during the initial setup phase, where a merchant may want to test their setup without processing live card data.

    • Go to webtest.chargeanywhere.com/transactionmanager/login.aspx
    • Enter your Username and password
    • Click Virtual Terminal
    • Select Payment Forms
    • Configure the form in the Payment Forms Options section
    • Set fields Permissions in the Payment Forms Setup section
    • Generate a quick pay button from the Payment Forms Code Generator section

    In test mode, all transactions appear to process as real transactions. The Gateway accepts all transactions but does not pass them on to financial institutions. All transactions will be approved in Test Mode.

    Was this helpful?

    Yes  1 No
    Previously
    Virtual Terminal User Guide
    Up Next
    Bill Pay User Guide

    This website and content contains confidential, trade secret information, which is proprietary to Charge Anywhere, LLC, and its subsidiaries (collectively “Charge Anywhere®”) and is provided solely for the recipient's use in connection with the recipient’s participation in one of the Charge Anywhere’s Payment Gateway Programs. Charge Anywhere reserves the right to make changes to the specifications at any time and without notice. The information furnished by Charge Anywhere in this publication is believed to be accurate and reliable as of the date of its release; however, no responsibility is assumed by Charge Anywhere for its use, nor for infringements of patents or other rights of third parties resulting from its use, nor for the violation, misinterpretation, or misapplication of any laws, or any regulation of any credit card association including Visa USA, Visa International, or MasterCard International. No general license is granted under any patents, copyrights, or other intellectual property rights owned by Charge Anywhere and the recipient is only granted an end user license to use this information for the purpose of participating in one of Charge Anywhere’s Payment Gateway Programs, pursuant to an agreement with Charge Anywhere or one of its authorized Program partners. All modifications or improvements to any of the information and specifications in this document shall belong exclusively to Charge Anywhere, LLC. No unauthorized copying, disclosure, or use of this document is permitted without the express written consent of the Charge Anywhere, LLC.

    • Privacy Policy
    • Terms of Use
    • Copyright 2025 Charge Anywhere. All Rights Reserved

    ×