ProcessCheck

This Web service operation processes check transactions for a merchant. The URL to access this Web service is:

https://secure.ftipgw.com/ArgoFire/transact.asmx?op=ProcessCheck

Descriptions of the parameters are listed below.  Response Codes are listed here.

Parameter Description
Username Required. User name assigned in the payment server
Password Required. Password for the user name assigned in the payment server
TransType

Required. Type of the check transaction. Valid values are:

  • Sale to make a purchase with a check
  • Auth (Verify) to authorize/verify an amount of a check
  • Return to return the money of a settled check transaction to the check holder
  • Void to undo an unsettled check transaction
  • Force to force a previous Sale transaction into the current batch (ForceSale)
  • Capture to settle a single transaction in the current batch; only for terminal-based processors
  • CaptureAll to settle all transactions in the current batch; only for terminal-based processors
  • RepeatSale to perform a new sale using the previously collected checking account indicated by the PNRef tag in ExtData
CheckNum Required except for these TransTypes: Void, Capture, CaptureAll, RepeatSale (with ACH_Payment_Type of CCD, PPD, RCK, TEL, WEB). RepeatSale requires a check number if the original transaction indicated by the PNRef tag in ExtData has an ACH_Payment_Type of POP or ARC. ACH_Payment_Type RCK requires check number. Check number uniquely identifies each individual check
TransitNum Required except for these TransTypes: Void, Capture, CaptureAll, RepeatSale. Transit number uniquely identifies a bank routing number
AccountNum Required except for these TransType’s: Void, Capture, CaptureAll, RepeatSale. Account number uniquely identifies a check holder’s bank account number
Amount Required except for these TransType’s: Void, Capture, CaptureAll. The total transaction amount in DDDD.CC format
MICR Optional. The Magnetic Ink Check Reader data line, which includes TransitNum, and AccountNum. Required for processing Check-Present transactions
NameOnCheck Required except for these TransType’s: Void, Capture, CaptureAll. The check holder’s name as it appears on the check. The parameter may be required, depending on the merchant’s processor setup. This parameter will remove invalid characters. See List of Removed Characters for more details
DL Optional. The check holder’s driver’s license number. This parameter will remove invalid characters. See List of Removed Characters for more details
SS Optional. The check holder’s Social Security Number. This parameter will remove invalid characters. See List of Removed Characters for more details
DOB Optional. The check holder’s date of birth. This parameter will remove invalid characters. See List of Removed Characters for more details
StateCode Optional. The check holder’s 2 character state code. The parameter may be required depending on the merchant’s processor setup. This parameter will remove invalid characters. See List of Removed Characters for more details
CheckType

Optional. The type of the check. Valid values are:

  • Personal
  • Corporate
  • Government
ExtData

Extended data in XML format These tags may be required for Sale and Return transactions depending on the merchant’s processor setup: CityOfAccount, BillToStreet, and BillToPostalCode. Required tag for Return, Void, Force, and Capture transactions is: PNRef.RawMICR tag is required for processing Check-Present transactions.Valid values are:

  • <TimeOut>TimeOut</TimeOut> for timeout value in seconds (default = 30)
  • <PNRef>PNRef</PNRef> for a reference number assigned by the payment server
  • <Phone>Phone</Phone> for phone number. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <Email>EMail</EMail> for email address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <RawMICR>RawMICR</RawMICR> for raw Magnetic Ink Check Reader data from the check reader in the format of: TransitNumTAccountNumOCheckNum
  • <InvNum>InvNum</InvNum> for invoice tracking number. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <TrainingMode>TrainingMode</TrainingMode> to process transaction in Training Mode; either T or F
  • <AllianceNum>AllianceNum</AllianceNum> is the Alliance number for the check
  • <AccountType>AccountType</AccountType> is the type of bank account for the check. Valid values are Checking or Savings. At the moment, the default value is Checking, but it is a best practice to explicitly pass <AccountType>Checking</AccountType> instead of relying on this default (which may change).
  • <CityOfAccount>CityOfAccount</CityOfAccount> for city name of the check holder’s residential address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <BillToStreet>BillToStreet</BillToStreet> for street name of the check holder’s billing address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details.
  • <BillToCity>BillToCity</BillToCity> for city name of the check holder’s billing address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <BillToState>BillToState</BillToState> for the two character state code of the check holder’s billing address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <BillToPostalCode>BillToPostalCode</BillToPostalCode> for zip code of the check holder’s billing address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <BillToCountry>BillToCountry</BillToCountry> for country name of the check holder’s billing address. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <CustomerID>CustomerID</CustomerID> for customer ID. The data within this XML tag parameter will remove invalid characters. See List of Removed Characters for more details
  • <CardType>IMAGE</CardType> for use in Image uploads specific to the processor RDM_ITMS.Please see example on how to upload a check image in the ProcessCheck Examples.
  • <ACH_Payment_Type>ACH_Payment_Type</ACH_Payment_Type> Valid values are:
    • For all TransTypes except RepeatSale, if ACH_Payment_Type tag is not passed, ACH_Payment_Type defaults to POP.
    • For TransType RepeatSale, if ACH_Payment_Type tag is not passed, ACH_Payment_Type defaults to ACH_Payment_Type of the original transaction indicated by PNRef tag.
    • ARC – Convert paper check received via Mail / Drop box. Typically accounts receivable. Check number is required with this transaction type. If no check number is submitted then transaction will decline
    • CCD – Business to Business Transaction
    • POP – Check conversion at point of presentment (point of sale). Check number is required with this transaction type. If no check number is submitted then transaction will decline
    • PPD – Transaction affecting consumer account that originates from a recurring schedule
    • RCK – Returned check. Check number is required with this transaction type. If no check number is submitted then transaction will decline
    • TEL – Transaction authorized via telephone
    • WEB – Transaction authorized via website
  • <Check_Info_Key>CheckInfoKey</Check_Info_Key>for processing a payment to previously tokenized account information

Example: Manual Sale

Parameter Value
UserName test
Password 123
TransType Sale
CheckNum 1001
TransitNum 123456780
AccountNum 1234567890
Amount 100.00
NameOnCheck John Doe
StateCode WA
ExtData <CityOfAccount>City</CityOfAccount><BillToStreet>123</BillToStreet><Bill ToPostalCode>99999</BillToPostalCode>


Response
<?xml version=”1.0″ encoding=”utf-8″ ?>

<Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”https://secure.ftipgw.com/ArgoFire/”>
<Result>0</Result><RespMSG>Approved</RespMSG><Message>APPROVAL</M essage><AuthCode>GUEIJQ</AuthCode><PNRef>2400</PNRef>

</Response>


Example: Swiped (MICR Read) Sale

Parameter Value
UserName test
Password 123
TransType Sale
CheckNum 1001
TransitNum 123456780
AccountNum 1234567890
Amount 100.00
MICR 1234567801234567890
NameOnCheckr John Doe
StateCode WA
ExtData <RawMICR>123456780T1234567890O1001</RawMICR>


Response
<?xml version=”1.0″ encoding=”utf-8″ ?>

<Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”https://secure.ftipgw.com/ArgoFire/”>
<Result>0</Result><Message>APPROVAL</Message><AuthCode>AUTH NUM 121- 704</AuthCode><PNRef>11622</PNRef>

</Response>


Example: Manual Void

Parameter Value
UserName test
Password 123
TransType return
CheckNum 100
TransitNum 123456780
AccountNum 1234567890
Amount 100.00
NameOnCheck John Doe
StateCode WA
ExpData <PNRef>821</PNRef><CityOfAccount>Any Town</CityOfAccount><BillToStreet>123</BillToStreet><BillToPostalCode> 99999</BillToPostalCode><InvNum>1001</InvNum>


Response
<?xml version=”1.0″ encoding=”utf-8″ ?>

<Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”https://secure.ftipgw.com/ArgoFire/”>
<Result>0</Result><RespMSG>Approved</RespMSG><Message>APPROVAL</Messag e><AuthCode>GWNICP</AuthCode><PNRef>2406</PNRef><ExtData>InvNum=100 1</ExtData>

</Response>


Example: Payment Server Void

Parameter Value
UserName test
Password 123
TransType Void
ExtData <PNRef>2405</PNRef>


Response
<?xml version=”1.0″ encoding=”utf-8″ ?>

<Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”https://secure.ftipgw.com/ArgoFire/”>
<Result>0</Result><RespMSG>Approved</RespMSG><Message>APPROVAL</M essage><AuthCode>GW5NPQ</AuthCode><PNRef>2405</PNRef>

</Response>


Example: Uploading Check Images to a Third Party Processor

To make this sample illustrative, the steps starting from the Check sale will be presented in this example. Swipe the check using the check imager and pass the values on the required fields for a check Sale using the Web Service Process Check. Please see illustration below.

Third Party Processor

Response

<?xml version=”1.0″ encoding=”utf-8″ ?>

– <Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”ArgoFire”>
<Result>0</Result>
<Message>APPROVAL</Message>
<AuthCode>AUTH NUM 223-637</AuthCode>
<PNRef>30265</PNRef>

</Response>

The image file associated with the Check Sale is encoded in Base 64. This image will be uploaded to the Payment Server using the web service Process Signature as shown in the example below:

web service

Result of Image Upload
<?xml version=”1.0″ encoding=”utf-8″ ?>

– <Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”ArgoFire”>
<Result>0</Result>
<RespMSG>OK</RespMSG>
<Message>APPROVAL</Message>

</Response>

To upload the Check image to RDM that is stored in the Payment Server database, use ProcessCheck as the web service and use the TransType: CaptureAll and also the tag <CardType>IMAGE</CardType> in the extended data fields.

Note: Please be sure that the account is set-up with RDM ITMS to be able to upload the check image to RDM ITMS.

RDM ITMS

Response
<Response xmlns:xsd=”http://www.w3.org/2001/XMLSchema”

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns=”ArgoFire”>
<Result>0</Result>
<AuthCode>ACCEPTED</AuthCode>
<ExtData>Net_Count=8,Net_Amount=91.00,Settle_DT=2007-06-27
16:03:36</ExtData>

</Response>

Note: Image uploads are independent of capture processing i.e. if you want to do a settle and an upload it requires two calls.