Syntch Gateway API

<back to all web services

CheckTransactionRequest

Transaction Processing (V2)
Requires Authentication
Required role:Merchant
The following routes are available for this service:
POST/v2/transactions/ecpRun a check transaction
CheckTransactionRequest Parameters:
NameParameterData TypeRequiredDescription
TransactionTypemodelTransactionType?YesIdentifies the type of transaction to process.

Allowable Values

  • Credit
  • Debit
  • Reversal
  • Void
TokenmodelstringNoA value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored.
CheckDatamodelElectronicCheckDataNoProperties of the check/checking account used as payment for this transaction, if the payment type is check.
SECCodemodelSECCode?No...

Allowable Values

  • WEB
  • PPD
  • CCD
  • ARC
  • TEL
TransactionRequest Parameters:
NameParameterData TypeRequiredDescription
ForceDuplicatemodelbooleanNoThis is an indicator that specifies - if this transaction is flagged as a duplicate of a previous transaction - whether or not this transaction will be processed.
RegistermodelstringNoIdentifies the physical or virtual register where the transaction is run, for reporting.
InvoiceDatamodelInvoiceDataYesTracking/reporting fields used for identifying the transaction and associating it with a customer invoice.
DeviceDatamodelDeviceDataNoProperties of the terminal/reader used in the transaction.
OriginalTransactionmodelAssociatedTransactionNoProperties of the original transaction, when necessary for processing the current transaction (such as refunds, voids, reversals).
CustomFieldsmodelList<CustomField>NoMerchant-configured fields used to store data per transaction outside the system fields.
CustomerIDmodelstringNoIdentifies the customer that is associated with this transaction.
CustomerKeymodelintNoIdentifies the customer key that is associated with this transaction. Customer Key takes priority over Customer ID
TagsmodelList<string>NoA collection of tag data that will be associated with this transaction. Each tag is limited to 20 characters, character length greater than 20 will be truncated.
MerchantOptionsmodelMerchantOptionsNoMerchant specific transaction parameters.
InvoiceData Parameters:
NameParameterData TypeRequiredDescription
InvoiceNumbermodelstringNoUnique identifier for the customer/cardholder
OrderNumbermodelstringNo...
TotalAmountmodelnumberYesTotal amount of the transaction
TipAmountmodelnumberNoAmount charged at the card holder's discretion for tip/gratuity
ShippingAmountmodelnumberNo...
SalesTaxAmountmodelnumberNoAmount charged by a merchant for state/local sales tax
DutyAmountmodelnumberNo...
DiscountAmountmodelnumberNoAmount of discount that was applied.
ConvenienceAmountmodelnumberNoAllows the merchant to add a flat fee to the total transaction. This function may be used by utility companies, government agencies, and schools.
ConvenienceAmountPercentagemodeldecimal?NoAllows the merchant to add a percentage of the total amount as a fee to the total transaction (ex 10.5 would add a 10.5% fee). This function may be used by utility companies, government agencies, and schools.
SurchargeAmountmodelnumberNoAmount charged by a merchant in exchange for processing a specific transaction
CashBackAmountmodelnumberNoAmount requested by the card holder in cash back for an eligible transaction
FSAmodelFSANoIncludes medical specific payment amounts.
IsEstimatedAmountmodelboolNoSet this to True when the amount sent in the initial transaction is an estimate. Visa transactions only.
IsTaxExemptmodelboolNoSet this to True if this purchase is exempt from sales tax.
FSA Parameters:
NameParameterData TypeRequiredDescription
ClinicalAmountformdecimal?No
CopayAmountformdecimal?No
HealthcareAmountformdecimal?No
DentalAmountformdecimal?No
RXAmountformdecimal?No
TransitAmountformdecimal?No
VisionAmountformdecimal?No
IIASVerifiedformIIASVerified?No
CumulativeAmountformdecimal?No
IIASVerified Enum:
False
True
Exempt
DeviceData Parameters:
NameParameterData TypeRequiredDescription
SdkVersionformstringNoThe SDK version of the device
SerialNumberformstringNoThe serial number of the device
BatteryLevelformint?NoThe current battery level of the device
IsEncryptedformboolNoIndicates whether or not transaction data sent from the device is encrypted
EncryptionTypeformstringNoType of encryption used when transaction data is encrypted
ReaderEncryptionTypeformstringNoType of encryption used by the card reader during card swipe. "data" and "pin" are the only valid values. Data is the default value.
MagnePrintformstringNoEncrypted MagnePrint data for use with Magtek devices
MagnePrintStatusformstringNoMagnePrint status for use with Magtek devices
CVMResultsformstringNoReturned from Discover transactions initated on an Igenico terminal to supplement the missing 9F34 tag for CVM. Valid values are "1: Offline PIN", "2: Online PIN", "E: Signature"
AssociatedTransaction Parameters:
NameParameterData TypeRequiredDescription
TransactionIdmodelintNoUnique payment reference number used to identify a single transaction within the system. The payment reference number (PNRef) is assigned by the payment server at the time the transaction is created.
CustomField Parameters:
NameParameterData TypeRequiredDescription
Keymodelint?NoGateway key for the custom field
NamemodelstringNoName of the custom field as set by the merchant
ValuemodelstringNoValue (if applicable) to store in the custom field
MerchantOptions Parameters:
NameParameterData TypeRequiredDescription
MerchantCategoryCodemodelstringNoIdentifies the category of a transaction (e.g. gas, grocery, travel).
TransactionType Enum:
Void
Settle
SettleAll
Reversal
Refund
Sale
AuthOnly
OfflineAuth
CardVerify
AuthCapture
Adjustment
RepeatSale
BalanceInquire
ElectronicCheckData Parameters:
NameParameterData TypeRequiredDescription
NameOnCheckmodelstringYesName of the check owner
RoutingNumbermodelstringYesUniquely identifies the bank holding funds.
AccountNumbermodelstringYesUniquely identifies the check owner’s bank account.
CheckNumbermodelstringNoUniquely identifies an individual’s check.
AccountTypemodelAccountTypeNoIdentifies the type of account used as a source of funds; e.g.checking, savings.

Allowable Values

  • Checking
  • Savings
AccountEntitymodelAccountEntityNoIdentifies the entity associated with the account used in the transaction; e.g. business, personal.

Allowable Values

  • Personal
  • Business
MICRmodelstringNoMagnetic Ink Character Recognition. Used for processing check-present and consumer-present transactions.
RawMICRmodelstringNoRaw Magnetic Ink Check Reader data line from the check reader.
PresenterDatamodelPresenterDataNo...
AddressOnCheckmodelAddressOnCheckNo...
AccountType Enum:
Checking
Savings
AccountEntity Enum:
Personal
Business
PresenterData Parameters:
NameParameterData TypeRequiredDescription
DriversLicenseNumbermodelstringNo...
DriversLicenseStatemodelstringNo...
SSNmodelstringNo...
DateOfBirthmodelstringNo...
EmailAddressmodelstringNo...
TelephoneNumbermodelstringNo...
AddressOnCheck Parameters:
NameParameterData TypeRequiredDescription
StreetAddressmodelstringNo...
CitymodelstringNo...
StateOrProvinceCodemodelstringNo...
PostalCodemodelstringNo...
CountryCodemodelstringNo...
SECCode Enum:
WEB
PPD
CCD
TEL
ARC
ECPTransactionResponse Parameters:
NameParameterData TypeRequiredDescription
CheckDetailsformCheckResponseDetailNoCheck specific response details.
TransactionResponse Parameters:
NameParameterData TypeRequiredDescription
TransactionIdmodelintNoGateway transaction ID/reference number.
TransactionTypemodelstringYesIdentifies the type of transaction processed.
TokenmodelstringNoA value generated by the gateway for payment data which has been previously stored. The format of the value depends on the format selected when the payment method was originally stored.
MerchantKeymodelintNoSystem-generated unique identifier of the merchant.
CustomerIDmodelstringNoCustomer ID related to the transaction.
CustomerKeymodelintNoCustomer Key related to the transaction.
TransactionIpAddressmodelstringNoIP Address of host the transaction request originated from.
HostCodemodelstringNoHost code/transaction id.
ResponseMessagemodelstringNoText description of the transaction result or error.
ResultCodemodelintNoGateway code indicating the result of the transaction or error.

Allowable Values

  • -100:Transaction NOT Processed; Generic Host Error
  • 0:Approved
  • 1:User Authentication Failed
  • 2:Invalid Transaction
  • 3:Invalid Transaction Type
  • 4:Invalid Amount
  • 5:Invalid Merchant Information
  • 7:Field Format Error
  • 8:Not a Transaction Server
  • 9:Invalid Parameter Stream
  • 10:Too Many Line Items
  • 11:Client Timeout Waiting for Response
  • 12:Decline
  • 13:Referral
  • 14:Transaction Type Not Supported in This Version
  • 15: Partial
  • 19:Original Transaction ID Not Found
  • 20:Customer Reference Number Not Found
  • 22:Invalid ABA Number
  • 23:Invalid Account Number
  • 24:Invalid Expiration Date
  • 25:Transaction Type Not Supported by Host
  • 26:Invalid Reference Number
  • 27:Invalid Receipt Information
  • 28:Invalid Check Holder Name
  • 29:Invalid Check Number
  • 30:Check DL Verification Requires DL State
  • 40:Transaction did not connect
  • 50:Insufficient Funds Available
  • 99:General Error
  • 100:Invalid Transaction Returned from Host
  • 101:Timeout Value too Small or Invalid Time Out Value
  • 102:Processor Not Available
  • 103:Error Reading Response from Host
  • 104:Timeout waiting for Processor Response
  • 105:Credit Error
  • 106:Host Not Available
  • 107:Duplicate Suppression Timeout
  • 108:Void Error
  • 109:Timeout Waiting for Host Response
  • 110:Duplicate Transaction
  • 111:Capture Error
  • 112:Failed AVS Check
  • 113:Cannot Exceed Sales Cap
  • 1000:Generic Host Error
  • 1001:Invalid Login
  • 1002:Insufficient Privilege or Invalid Amount
  • 1003:Invalid Login Blocked
  • 1004:Invalid Login Deactivated
  • 1005:Transaction Type Not Allowed
  • 1006:Unsupported Processor
  • 1007:Invalid Request Message
  • 1008:Invalid Version
  • 1010:Payment Type Not Supported
  • 1011:Error Starting Transaction
  • 1012:Error Finishing Transaction
  • 1013:Error Checking Duplicate
  • 1014:No Records to Settle
  • 1015:No Records to Process
ProcessorErrorCodemodelstringNoThe error code, if any, returned by the processor.
ResultTextmodelstringNoShort description of the transaction result.
InvoiceDatamodelInvoiceDataYesTracking/reporting fields used for identifying the transaction and associating it with a customer invoice.
CustomFieldsmodelList<CustomField>NoAny merchant-defined custom fields and their associated values.
TimestampmodelDateTimeNoTimestamp when transaction was processed.
UserNamemodelstringNoUsername for this transaction.
RegistermodelstringNoRegister used for this transaction.
ResellerKeymodelintNoThe merchant's reseller key.
PaymentTypemodelstringNoPayment type for this transaction.
ProcessormodelstringNoName of the processor handling this transaction.
HostReferenceNumbermodelstringNoTimestamp when transaction was processed.
OriginalTransactionformAssociatedTransactionNoProperties of the original transaction.
TagsmodelList<string>NoA collection of the transaction's tag data (if present).
OrigResponseCodeformstringNoThe original response code received from the processor.
CheckResponseDetail Parameters:
NameParameterData TypeRequiredDescription
CheckDatamodelElectronicCheckDataNoProperties of the check/checking account used as payment for this transaction, if the payment type is check.
SECCodemodelstringNo...

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v2/transactions/ecp HTTP/1.1 
Host: syntch.simpay.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CheckTransactionRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels.ECP">
  <CustomFields xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <CustomField>
      <Key>0</Key>
      <Name>String</Name>
      <Value>String</Value>
    </CustomField>
  </CustomFields>
  <CustomerID xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</CustomerID>
  <CustomerKey xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</CustomerKey>
  <DeviceData xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <BatteryLevel>0</BatteryLevel>
    <CVMResults>String</CVMResults>
    <EncryptionType>String</EncryptionType>
    <IsEncrypted>false</IsEncrypted>
    <MagnePrint>String</MagnePrint>
    <MagnePrintStatus>String</MagnePrintStatus>
    <ReaderEncryptionType>String</ReaderEncryptionType>
    <SdkVersion>String</SdkVersion>
    <SerialNumber>String</SerialNumber>
  </DeviceData>
  <ForceDuplicate xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">false</ForceDuplicate>
  <InvoiceData xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <CashBackAmount>0</CashBackAmount>
    <ConvenienceAmount>0</ConvenienceAmount>
    <ConvenienceAmountPercentage>0</ConvenienceAmountPercentage>
    <DiscountAmount>0</DiscountAmount>
    <DutyAmount>0</DutyAmount>
    <FSA>
      <ClinicalAmount>0</ClinicalAmount>
      <CopayAmount>0</CopayAmount>
      <CumulativeAmount>0</CumulativeAmount>
      <DentalAmount>0</DentalAmount>
      <HealthcareAmount>0</HealthcareAmount>
      <IIASVerified>False</IIASVerified>
      <RXAmount>0</RXAmount>
      <TransitAmount>0</TransitAmount>
      <VisionAmount>0</VisionAmount>
    </FSA>
    <InvoiceNumber>String</InvoiceNumber>
    <IsEstimatedAmount>false</IsEstimatedAmount>
    <IsTaxExempt>false</IsTaxExempt>
    <OrderNumber>String</OrderNumber>
    <SalesTaxAmount>0</SalesTaxAmount>
    <ShippingAmount>0</ShippingAmount>
    <SurchargeAmount>0</SurchargeAmount>
    <TipAmount>0</TipAmount>
    <TotalAmount>0</TotalAmount>
  </InvoiceData>
  <MerchantOptions xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <MerchantCategoryCode>String</MerchantCategoryCode>
  </MerchantOptions>
  <OriginalTransaction xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <TransactionId>0</TransactionId>
  </OriginalTransaction>
  <Register xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</Register>
  <Tags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <d2p1:string>String</d2p1:string>
  </Tags>
  <CheckData>
    <AccountEntity>Personal</AccountEntity>
    <AccountNumber>String</AccountNumber>
    <AccountType>Checking</AccountType>
    <AddressOnCheck>
      <City>String</City>
      <CountryCode>String</CountryCode>
      <PostalCode>String</PostalCode>
      <StateOrProvinceCode>String</StateOrProvinceCode>
      <StreetAddress>String</StreetAddress>
    </AddressOnCheck>
    <CheckNumber>String</CheckNumber>
    <MICR>String</MICR>
    <NameOnCheck>String</NameOnCheck>
    <PresenterData>
      <DateOfBirth>String</DateOfBirth>
      <DriversLicenseNumber>String</DriversLicenseNumber>
      <DriversLicenseState>String</DriversLicenseState>
      <EmailAddress>String</EmailAddress>
      <SSN>String</SSN>
      <TelephoneNumber>String</TelephoneNumber>
    </PresenterData>
    <RawMICR>String</RawMICR>
    <RoutingNumber>String</RoutingNumber>
  </CheckData>
  <SECCode>WEB</SECCode>
  <Token>String</Token>
  <TransactionType>Debit</TransactionType>
</CheckTransactionRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ECPTransactionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels.ECP">
  <CustomFields xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <CustomField>
      <Key>0</Key>
      <Name>String</Name>
      <Value>String</Value>
    </CustomField>
  </CustomFields>
  <CustomerID xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</CustomerID>
  <CustomerKey xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</CustomerKey>
  <HostCode xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</HostCode>
  <HostReferenceNumber xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</HostReferenceNumber>
  <InvoiceData xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <CashBackAmount>0</CashBackAmount>
    <ConvenienceAmount>0</ConvenienceAmount>
    <ConvenienceAmountPercentage>0</ConvenienceAmountPercentage>
    <DiscountAmount>0</DiscountAmount>
    <DutyAmount>0</DutyAmount>
    <FSA>
      <ClinicalAmount>0</ClinicalAmount>
      <CopayAmount>0</CopayAmount>
      <CumulativeAmount>0</CumulativeAmount>
      <DentalAmount>0</DentalAmount>
      <HealthcareAmount>0</HealthcareAmount>
      <IIASVerified>False</IIASVerified>
      <RXAmount>0</RXAmount>
      <TransitAmount>0</TransitAmount>
      <VisionAmount>0</VisionAmount>
    </FSA>
    <InvoiceNumber>String</InvoiceNumber>
    <IsEstimatedAmount>false</IsEstimatedAmount>
    <IsTaxExempt>false</IsTaxExempt>
    <OrderNumber>String</OrderNumber>
    <SalesTaxAmount>0</SalesTaxAmount>
    <ShippingAmount>0</ShippingAmount>
    <SurchargeAmount>0</SurchargeAmount>
    <TipAmount>0</TipAmount>
    <TotalAmount>0</TotalAmount>
  </InvoiceData>
  <MerchantKey xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</MerchantKey>
  <OrigResponseCode xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</OrigResponseCode>
  <OriginalTransaction xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <TransactionId>0</TransactionId>
  </OriginalTransaction>
  <PaymentType xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</PaymentType>
  <Processor xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</Processor>
  <ProcessorErrorCode xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</ProcessorErrorCode>
  <Register xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</Register>
  <ResellerKey xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</ResellerKey>
  <ResponseMessage xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</ResponseMessage>
  <ResultCode xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</ResultCode>
  <ResultText xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</ResultText>
  <Tags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">
    <d2p1:string>String</d2p1:string>
  </Tags>
  <Timestamp xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0001-01-01T00:00:00</Timestamp>
  <Token xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</Token>
  <TransactionId xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">0</TransactionId>
  <TransactionIpAddress xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</TransactionIpAddress>
  <TransactionType xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</TransactionType>
  <UserName xmlns="http://schemas.datacontract.org/2004/07/Gateway.Transactions.Domain.BindingModels">String</UserName>
  <CheckDetails>
    <CheckData>
      <AccountEntity>Personal</AccountEntity>
      <AccountNumber>String</AccountNumber>
      <AccountType>Checking</AccountType>
      <AddressOnCheck>
        <City>String</City>
        <CountryCode>String</CountryCode>
        <PostalCode>String</PostalCode>
        <StateOrProvinceCode>String</StateOrProvinceCode>
        <StreetAddress>String</StreetAddress>
      </AddressOnCheck>
      <CheckNumber>String</CheckNumber>
      <MICR>String</MICR>
      <NameOnCheck>String</NameOnCheck>
      <PresenterData>
        <DateOfBirth>String</DateOfBirth>
        <DriversLicenseNumber>String</DriversLicenseNumber>
        <DriversLicenseState>String</DriversLicenseState>
        <EmailAddress>String</EmailAddress>
        <SSN>String</SSN>
        <TelephoneNumber>String</TelephoneNumber>
      </PresenterData>
      <RawMICR>String</RawMICR>
      <RoutingNumber>String</RoutingNumber>
    </CheckData>
    <SECCode>String</SECCode>
  </CheckDetails>
</ECPTransactionResponse>