connect web service

34
BASYS Processing Connect Web Service Version 1.6 Programmer’s Guide

Upload: others

Post on 08-Jan-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Connect Web Service

BASYS Processing

Connect Web Service Version 1.6 Programmer’s Guide

Page 2: Connect Web Service

P a g e | 1

Table of Contents Synapse Connect Web Service Version 1.6 ................................................................................................... 2

Programmer’s Guide ................................................................................................................................. 2

Introduction .............................................................................................................................................. 2

Getting Started .......................................................................................................................................... 4

Programming the Submit Function ........................................................................................................... 8

Transaction Types ............................................................................................................................... 10

Authorization Results (Declines and Error Checking) ............................................................................. 12

Response Actions by Programmer ...................................................................................................... 13

Query Function Call ................................................................................................................................. 14

Programming the Query Function .......................................................................................................... 17

Query Results (Not Found and Errors) .................................................................................................... 18

Void Function Call ................................................................................................................................... 19

Programming the Void Function ............................................................................................................. 22

Void Results (Not Found and Errors) ...................................................................................................... 23

Rolodex Usage ......................................................................................................................................... 24

Rolodex Functions ................................................................................................................................... 24

Rolodex Functions ................................................................................................................................... 25

Level 3 Transaction Items ....................................................................................................................... 27

Reporting ................................................................................................................................................ 28

AVS & CVV Response Codes .................................................................................................................... 29

Test Information ..................................................................................................................................... 31

Page 3: Connect Web Service

P a g e | 2

Synapse Connect Web Service Version 1.6

Programmer’s Guide Synapse Corporation developed the Connect Web Service specifically for clients and programmers that

have written their own applications for order entry and invoicing purposes. Therefore, now there is an

alternative method of processing a credit card transaction that is more direct and customizable than the

use of the Connect interface and file transfer protocols. With the Connect Web Service, clients and

programmers can call a single function from their development language that creates simple Sale,

Credit, Authorizations or Void transactions.

This documentation describes the functionality of the Connect Web Service and encompasses these

desired design characteristics and simplified procedures by utilizing the Business Services Gateway.

URL: https://connect16.basyspro.net/connect.asmx

WSDL: https://connect16.basyspro.net/connect.asmx?WSDL

Introduction The Connect Web Service function calls allow the programmer to create transaction authorizations

(including Sales and Credits), Void previous transactions, and Query previous transactions to check their

existence and status. All transaction activity directly communicates with the merchant’s account at the

Gateway. Connect Web Service transaction activity as well as transactions created with the gateway’s

virtual terminal can be monitored and reported by logging into the merchant account and viewing

transaction historical reporting options.

Because the Connect Web Service works in conjunction with the merchant’s gateway account, many of

the tedious details normally associated with creating credit card transactions have been simplified. The

gateway can store default values for many transaction values including invoice number, customer

number and purchase order number. The Connect Web Service function call will apply these default

values to any transaction values that are left blank.

This integration of the Connect Web Service functions and the gateway could allow the programmer to

program only the Sale and/or Credit authorization functions into their application, and to require users

to visit the gateway and log into the merchant account for any transactions to void. In turn, a

transaction created at the gateway virtual terminal could be voided by an application using the Connect

Web Service. These mix-and-match integration options allow the programmer the greatest design

flexibility. Of course, all functionality (i.e., Sales, Credits, Void, Queries, Authorizations, Post Auths,

Marks, Uses and Returns) can be programmed into the programmer’s application at their option and

discretion.

Transaction settlement is a procedure that can be fully automated at the gateway. Therefore, no

programming is required to perform this function. The gateway merchant account can be set for manual

settlement, which requires the user to log into the merchant account and complete the settlement

process.

With the Connect Web Service, a programmer can incorporate truly integrated credit card processing

through a secured high-speed Internet connection with only a small amount of programming.

Page 4: Connect Web Service

P a g e | 3

Example code for each programming language can be supplied by request, and small portions of code

are displayed later in this document.

It is recommended that the programmer and user also review the Business Service Gateway User’s

Manual for details on gateway usage and functionality. The user’s manual can be download by login into

the gateway and selecting the “User Manual” option from the “Help” menu.

NOTE

A demo merchant account is available for programmer testing and review, but an active merchant

account is required for live credit card processing.

Page 5: Connect Web Service

P a g e | 4

Getting Started To begin, the Submit function of the Connect Web Service will be described by listing the function call’s

arguments, interactions with the gateway and merchant account, and use of the Sale and Credit

transaction types to accomplish credit card processing.

The screenshot below depicts one of the sample applications supplied with this document. Its function is

to allow the programmer to become acquainted with the arguments in a graphical form and to review

the programming code associated with the sample application for use in their application:

The edit box fields along the left side of the sample application (under the Authorize tab) represent the

full set of arguments that can be submitted in the Submit function call. Some values are always required

(e.g., Gateway Account ID, Password, Transaction Type), whereas others are completely optional and

have no effect on the transaction approval of qualification rate (only used for merchant reference—

Customer number, Note, etc.). Many values are required only in order to produce better merchant fee

rates by qualifying the transaction at a discount Level 2 or 3 (instead of Level 1, which occurs by

submitting only the required transaction minimum information).

NOTE

Please discuss Level 1, 2, and 3 qualification levels and rates with your account representative. These

rates—and the corresponding values that are required to be submitted with authorizations—vary based

on your industry type, card present status, and gateway settings.

Below is the Submit function table listing of field values (arguments), a brief description, and basic

requirements for Level 1, 2, and 3 merchant fee qualifications:

Page 6: Connect Web Service

P a g e | 5

The returned response from the Submit function includes the following values:

The sample application (provided in SDK) for your programming language will be used to illustrate the

authorization process. Within the programmer’s application, credit card transaction information is

collected from the user’s transaction. This information, combined with the stored values of the

Merchant Account and Password values are used to populate the functions values.

Page 7: Connect Web Service

P a g e | 6

The syntax for the Submit function call will differ depending on the programming language, but here is a

basic example of the call:

_Transaction.Syn_Act = tbAccount.Text

_Transaction.Syn_Pwd = tbPassword.Text

_Transaction.Tran_Type = tbTranType.Text

_Transaction.Tran_Amt = tbTranAmount.Text

_Transaction.Tran_Tax = tbTranTax.Text

_Transaction.Tran_Inv = tbTranInv.Text

_Transaction.Tran_PO = tbTranPO.Text

_Transaction.Tran_CNum = tbTranCust.Text

_Transaction.Tran_Note = tbTranNote.Text

_Transaction.Card_Num = tbCardNumber.Text

_Transaction.Card_Name = tbCardHolder.Text

_Transaction.Card_Exp = tbCardExp.Text

_Transaction.AVS_Street = tbAVSStreet.Text

_Transaction.AVS_Zip = tbAVSZip.Text

_Transaction.CVV_Num = tbCVV.Text

_Transaction.Proc_ID = _RequestID

_Transaction = _Connect.Submit(_Transaction)

Notes:

• When called the Submit Function returns a transaction object that echoes the originally

submitted information with the response fields populated.

Page 8: Connect Web Service

P a g e | 7

In this example, we are using the “Demo-Syn” account and, therefore, the credit card authorization is

simulated (i.e., not live or charged).

NOTE

There are many different derivations of the type of response the programmer will receive when

processing credit card transactions. The next section will discuss the steps that might be implemented

by a programmer.

NOTE

The magnetic stripe codes (tracks 1 & 2) can be submitted as the credit card number in the case of retail

transactions. When submitted, the card holder and expiration date will be updated to the data encoded

in the tracks by the gateway. Better processing rates for retail merchants are obtained by submitting the

credit card swipe tracks.

Page 9: Connect Web Service

P a g e | 8

Programming the Submit Function The programmer is provided the Connect Web Service free of charge.

The following programming steps are given as an example: (Code examples in VB.NET)

1) In Visual Studio.Net Add a Web Reference to

https://connect16.basyspro.net/connect.asmx?WSDL

2) In the Settings section of the programmer application (or other appropriate area), store the

user’s (i.e., merchant’s) unique Gateway Account ID and Password values.

3) After an invoice or order is ready for credit card processing, collect the required values for the

transaction. (Remember—submitting most or all transaction values will lower merchant

processing fees; see the level 1, 2, and 3 requirements.)

4) Create the Connect Web Service Object

5) Create the Connect Transaction Object

6) Define all required properties:

7) Execute the function.

8) Read the response and take appropriate action (record authorization code, message, etc.; or, if

declined or error message appears, direct user to other actions).

Page 10: Connect Web Service

P a g e | 9

Example code clip from Visual Basic.NET

Dim _Connect As New Synapse.ConnectTest.Connect

Dim _Transaction As New Synapse.ConnectTest.Transaction

Dim _RequestID As String = Date.Now.ToOADate

Dim _Decimal As Decimal

If Decimal.TryParse(tbTranAmount.Text, _Decimal) Then

_Transaction.Tran_Amt = _Decimal

Else

tbTranAmount.Text = "Invalid Amount"

Return

End If

_Decimal = 0

If Decimal.TryParse(tbTranTax.Text, _Decimal) Then

_Transaction.Tran_Tax = _Decimal

Else

tbTranTax.Text = "Invalid Tax"

Return

End If

_Transaction.Syn_Act = tbAccount.Text

_Transaction.Syn_Pwd = tbPassword.Text

_Transaction.Tran_Type = tbTranType.Text

_Transaction.Tran_Amt = tbTranAmount.Text

_Transaction.Tran_Tax = tbTranTax.Text

_Transaction.Tran_Inv = tbTranInv.Text

_Transaction.Tran_PO = tbTranPO.Text

_Transaction.Tran_CNum = tbTranCust.Text

_Transaction.Tran_Note = tbTranNote.Text

_Transaction.Card_Num = tbCardNumber.Text

_Transaction.Card_Name = tbCardHolder.Text

_Transaction.Card_Exp = tbCardExp.Text

_Transaction.AVS_Street = tbAVSStreet.Text

_Transaction.AVS_Zip = tbAVSZip.Text

_Transaction.CVV_Num = tbCVV.Text

_Transaction.Proc_ID = _RequestID

_Transaction = _Connect.Submit(_Transaction)

tbRequestID.Text = _RequestID

tbProcessID.Text = _Transaction.Proc_ID

tbProcessResponse.Text = _Transaction.Proc_Resp

tbProcessCode.Text = _Transaction.Proc_Code

tbProcessMessage.Text = _Transaction.Proc_Mess

Page 11: Connect Web Service

P a g e | 10

tbAVSCode.Text = _Transaction.AVS_Code

tbAVSMessage.Text = _Transaction.AVS_Resp

tbCVVCode.Text = _Transaction.CVV_Code

tbCVVMessage.Text = _Transaction.CVV_Resp

Transaction Types

Name Type Description

S Sale transaction This transaction type creates an authorization for the amount provided and immediately mark the transaction for settlement.

C Credit transaction This transaction type creates a refund transaction based on the amount provided.

V Void transaction This transaction type will void a preexisting and unsettled transaction. If the transaction has already settled, a Credit transaction will need to be issued.

Q Query transaction This transaction will return a transaction object with all available information about the transaction.

A Authorization transaction This transaction type allows for the user to change the charged amount after the Authorize has been processed by using a Post Auth. Requirements for this type are the same as a Sale transaction. This will not be settled until a Post Auth and/or Mark has been sent.

P Post auth transaction This transaction type changes a previous Authorization charge amount to a new amount given. Requirements are Account ID, Password, Transaction ID (from an Authorization) and Amount. *Amount changes are ONLY supported on Visa and MasterCard when AVS information has been submitted.

M Mark an Authorization/Post Authorization Requirements are Account ID, Password and Transaction ID (from an Authorization or Post Authorization).

U Default sale transaction Creates a new Sale transaction using default variables from a previous transaction. Any previous Transaction ID can be used. Requirements are Account ID, Password and Transaction ID.

R Default credit transaction Creates a new Credit transaction using default variables from a previous transaction that is of a Sale or Auth type. If the Amount is changed it cannot be greater than the original charged amount. Requirements are Account ID, Password and Transaction ID (from a previous

Page 12: Connect Web Service

P a g e | 11

Sale or Auth). If “0.00” or “0” is sent for the Amount, the Gateway will use the original transaction amount.

Page 13: Connect Web Service

P a g e | 12

Authorization Results (Declines and Error Checking) The following scenarios will describe the Submit function response to the following

transaction parameters:

1) Argument: Blank Account ID submitted

Response = “E”

Message = “No Account Specified”

2) Argument: Blank Password submitted

Response = “E”

Message = “No Password Specified”

3) Argument: Incorrect Account or Password

Response = “E”

Message = “Incorrect Account or Password”

4) Argument: Incorrect Transaction Type (S-Sale, C-Credit)

Response = “E”

Message = “Invalid Transaction Type”

5) Argument: Blank Transaction Type (S-Sale, C-Credit)

Response = “E”

Message = “Invalid Transaction Type”

6) Argument: Blank Amount Submitted

Response = “E”

Message = “Invalid Amount Specified”

7) Argument: Poorly Formatted Amount (e.g., 1.00.2)

Response = “E”

Message = “Invalid Amount Specified”

8) Argument: Poorly Formatted Tax (e.g., 0.2A)

Response = “E”

Message = “"Invalid Tax Amount”

9) Argument: Blank Card Number

Response = “E”

Message = “No Credit Card Number Specified “”

10) Argument: Blank Card Holder Name

Response = “E”

Message = “No Credit Card Holder Specified”

11) Argument: Blank Card Expiration Date

Response = “E”

Message = “No Credit Card Exp Date Specified”

12) Decline: Request = [assigned] Process = [assigned]

Response = “D” Code = “Decline”

Message = “Insufficient Funds” AVS Code = “A” AVS Message = “Address matches, ZIP code does

not. “CVV Code = “M” CVV Message = “Match”

13) Approval: Authorization complete

Request = {assigned}

Process = {assigned}

Response = “A”

Page 14: Connect Web Service

P a g e | 13

Code = “123456” {assigned}

Message = “” {blank}

AVS Code = “A”

AVS Message = “Address matches, ZIP code does not.” (Not in Demo Mode)

CVV Code = “M “

CVV Message = “Match”

Response Actions by Programmer As indicated in the previous section (Authorization Results), four different response types need to be

interpreted and addressed by the programmer, and user action is recommended:

Response type Description

Argument Errors If the user or application attempts to submit a function argument that is not allowed, the function will return a response of “E” for error. Appropriate checking of user input and programmer values will reduce or eliminate these errors. If this type of error is encountered while using the programmer application, the program should suggest the appropriate course of action to the user (e.g., “Please enter the Card Number and try again”).

Connection Errors If the Internet connection is lost after the authorization is submitted, but prior to receiving a response, it is unknown if the transaction authorization was processed or not. The programmer can instruct the user to log into the gateway and manually verify the existence of the transaction (and void it, if appropriate) and suggest user action. OR, the programmer can use the Query function call described later in this document to check the response of the unknown transaction authorization status and produce action appropriate to the Query response. (The use for the Request ID to reference the transaction should now be apparent.)

Declined Transactions If the user or application receives a declined transaction response, the reason for the decline should be stated. The user should then be given the option to correct the transaction arguments or enter a different credit card or form of payment.

Approved Transactions If the user or application receives an approved transaction response, the program should record the authorization code for future reference. No further action is required by the user or program if the Gateway account is set for Auto-Settlement.

NOTE

Default values for the Tax, Invoice #, PO #, Customer #, Note, AVS Street, and AVS Zip Code can be set at

the gateway. If the arguments for any of the listed values are blank (Null) and default values are set for

the value at the gateway, then the default value for that field will be inserted into the transaction prior

to authorization. This feature was designed to assist the programmer and users with qualifications at

Levels 2 and 3 without the need to actually submit a per-transaction value.

Page 15: Connect Web Service

P a g e | 14

Query Function Call The Query function call is used specifically by the programmer for the case where Internet connectivity

is lost in the middle of a transaction authorization process. Because of the connection loss, the

application (or user) cannot determine if the authorization request was received and processed by the

gateway and, therefore, if the response to this authorization was lost or if the authorization never

reached the gateway.

The Query function was designed to eliminate the need for the user to log into the gateway and check

the transaction in question.

Only three of the four listed query arguments are required for this transaction status check. The Account

ID and Password are required, and either the Request ID or the Process ID must also be submitted.

NOTE

In the case of a connection-lost error type, only the Request ID provided by the programmer prior to

attempting the authorization will be available to use as a Query argument. The Process ID was only

added for programmer convenience and is often used just for researching or re-checking a credit card

transaction status.

The Query function call arguments are as follows (only the Request ID or Process ID is submitted):

Page 16: Connect Web Service

P a g e | 15

The return response from the Query function includes all of the transaction values:

The sample application (provided in SDK) for your programming language will be used to illustrate the

query process. Within the programmer’s application, the Account ID and Password are collected and the

Request ID (or, optionally, the Process ID) is submitted.

Page 17: Connect Web Service

P a g e | 16

The syntax for the Query function call will differ depending on the programming language, but here is a

basic example of the call:

Dim _Connect As New Synapse.ConnectTest.Connect

Dim _Transaction As New Synapse.ConnectTest.Transaction

_Transaction.Syn_Act = tbQAccount.Text

_Transaction.Syn_Pwd = tbQPassword.Text

If Not String.IsNullOrEmpty(tbQRequestID.Text) Then _Transaction.Proc_ID = tbQRe

questID.Text

If Not String.IsNullOrEmpty(tbQProcessID.Text) Then _Transaction.Proc_ID = tbQPr

ocessID.Text

_Transaction = _Connect.Query(_Transaction)

Page 18: Connect Web Service

P a g e | 17

Programming the Query Function The following programming steps are given as an example:

1) Upon receiving an error code response from a transaction authorization request, the programmer

should capture the corresponding Request ID for the transaction.

2) The program should then populate the Query function with the appropriate arguments, including the

Request ID for the transaction in question.

3) The Response from the Query function call should be used in place of the initial error return values (if

the transaction is found); otherwise, the initial transaction values should be reauthorized.

Example code clip from Visual Basic.NET:

Dim _Connect As New Synapse.ConnectTest.Connect

Dim _Transaction As New Synapse.ConnectTest.Transaction

_Transaction.Syn_Act = tbQAccount.Text

_Transaction.Syn_Pwd = tbQPassword.Text

If Not String.IsNullOrEmpty(tbQRequestID.Text) Then _Transaction.Proc_ID = tbQRe

questID.Text

If Not String.IsNullOrEmpty(tbQProcessID.Text) Then _Transaction.Proc_ID = tbQPr

ocessID.Text

_Transaction = _Connect.Query(_Transaction)

tbQTranType.Text = _Transaction.Tran_Type

tbQTranAmount.Text = _Transaction.Tran_Amt

tbQTranTax.Text = _Transaction.Tran_Tax

tbQTranInv.Text = _Transaction.Tran_Inv

tbQTranPO.Text = _Transaction.Tran_PO

tbQTranCust.Text = _Transaction.Tran_CNum

tbQTranNote.Text = _Transaction.Tran_Note

tbQCardNumber.Text = _Transaction.Card_Num

tbQCardHolder.Text = _Transaction.Card_Name

tbQCardExp.Text = _Transaction.Card_Exp

tbQAVSStreet.Text = _Transaction.AVS_Street

tbQAVSZip.Text = _Transaction.AVS_Zip

tbQCVV.Text = _Transaction.CVV_Code

tbQProcessID.Text = _Transaction.Proc_ID

tbQProcessResponse.Text = _Transaction.Proc_Resp

tbQProcessCode.Text = _Transaction.Proc_Code

tbQProcessCode.Text = _Transaction.Proc_Mess

tbQAVSCode.Text = _Transaction.AVS_Code

tbQAVSMessage.Text = _Transaction.AVS_Resp

tbQCVVCode.Text = _Transaction.CVV_Code

tbQCVVMessage.Text = _Transaction.CVV_Resp

Page 19: Connect Web Service

P a g e | 18

Query Results (Not Found and Errors) The following scenarios will describe the Authorize function response to the following

transaction parameters:

1) Argument: Blank Account ID submitted

Response = “E”

Message = “No Account Specified”

2) Argument: Blank Password submitted

Response = “E”

Message = “No Password Specified”

3) Argument: Incorrect Account or Password

Response = “E”

Message = “Incorrect Account or Password”

4) Argument: Blank Transaction Type (S-Sale, C-Credit)

Response = “E”

Message = “Invalid Transaction Type”

5) Argument: Blank Request or Process ID

Response = “E”

Message = “No Request or Process ID Submitted”

6) Not Found: Request does not match gateway transaction

Response = “E”

Message = “Transaction Not Found”

7) Found: Request matches a gateway transaction

(ALL transaction values returned)

Page 20: Connect Web Service

P a g e | 19

Void Function Call The Void function call is used specifically by the programmer for the case where a previously Approved

transaction needs to be voided. Optionally, the user may log into the merchant account and void a

transaction manually. The Void function was designed to eliminate the need for the user to log into the

gateway and check the transaction in question.

Only three void arguments are required for this transaction to change to the void status. The Account ID

and Password are required, and the Process ID must also be submitted.

The Void function call arguments are as follows: (Only the Process ID is submitted)

The return response from the Void function includes all of the transaction values:

Page 21: Connect Web Service

P a g e | 20

The sample application (provided in SDK) for your programming language will be used to illustrate the

void process. Within the programmer’s application, the Account ID and Password are collected, and the

Process ID are submitted.

Page 22: Connect Web Service

P a g e | 21

The syntax for the Void function call will differ depending on the programming language, but here is a

basic example of the call:

Dim _Connect As New Synapse.ConnectTest.Connect

Dim _Transaction As New Synapse.ConnectTest.Transaction

_Transaction.Syn_Act = tbvAccount.Text

_Transaction.Syn_Pwd = tbVPassword.Text

_Transaction.Proc_ID = tbVProcessID.Text

_Transaction.Tran_Type = "V"

_Transaction = _Connect.Submit(_Transaction)

Page 23: Connect Web Service

P a g e | 22

Programming the Void Function Example code clip from Visual Basic.NET:

Dim _Connect As New Synapse.ConnectTest.Connect

Dim _Transaction As New Synapse.ConnectTest.Transaction

_Transaction.Syn_Act = tbvAccount.Text

_Transaction.Syn_Pwd = tbVPassword.Text

_Transaction.Proc_ID = tbVProcessID.Text

_Transaction.Tran_Type = "V"

_Transaction = _Connect.Submit(_Transaction)

tbVTranType.Text = _Transaction.Tran_Type

tbVTranAmount.Text = _Transaction.Tran_Amt

tbVTranTax.Text = _Transaction.Tran_Tax

tbVTranInv.Text = _Transaction.Tran_Inv

tbVTranPO.Text = _Transaction.Tran_PO

tbVTranCust.Text = _Transaction.Tran_CNum

tbVTranNote.Text = _Transaction.Tran_Note

tbVCardNumber.Text = _Transaction.Card_Num

tbVCardHolder.Text = _Transaction.Card_Name

tbVCardExp.Text = _Transaction.Card_Exp

tbVAVSStreet.Text = _Transaction.AVS_Street

tbVAVSZip.Text = _Transaction.AVS_Zip

tbVCVV.Text = _Transaction.CVV_Code

tbVProcessID.Text = _Transaction.Proc_ID

tbVProcessResponse.Text = _Transaction.Proc_Resp

tbVProcessCode.Text = _Transaction.Proc_Code

tbVProcessCode.Text = _Transaction.Proc_Mess

tbVAVSCode.Text = _Transaction.AVS_Code

tbVAVSMessage.Text = _Transaction.AVS_Resp

tbVCVVCode.Text = _Transaction.CVV_Code

tbVCVVMessage.Text = _Transaction.CVV_Resp

Page 24: Connect Web Service

P a g e | 23

Void Results (Not Found and Errors) The following scenarios will describe the Authorize function response to the following

transaction parameters:

1) Argument: Blank Account ID submitted

Response = “E”

Message = “No Account Specified ”

2) Argument: Blank Password submitted

Response = “E”

Message = “No Password Specified”

3) Argument: Incorrect Account or Password

Response = “E”

Message = “Incorrect Account or Password”

4) Argument: Blank Process ID

Response = “E”

Message = “No Request or Process ID Submitted”

5) Not Found: Request does not match gateway transaction

Response = “E”

Message = “Invalid Transaction ID”

6) Found: Request matches a gateway transaction

(Transaction voided & ALL transaction values)

Page 25: Connect Web Service

P a g e | 24

Rolodex Usage The Rolodex section of the Gateway allows the user to record customer information for those

customers that will have recurring business (transactions) with the user’s company. Customer

information—including contact information (e.g., name, address, phone), transaction information (e.g.,

customer number, default PO), and credit card information (e.g., card number, expiration)—can all

be stored in the Rolodex for your account and used later to create new transactions without

submitting this stored information.

Rolodex Functions Below are the current Rolodex functions with a brief description of their fu nction.

GetRolodexRecord Returns a Rolodex record for the Reference number passed. Required arguments: Account, Password and Reference (e.g. “Demo-Syn”,”Demo123”, “123”).

SaveRolodex Allows for saving an updated Rolodex record. Required arguments: Account, Password and Record (Synapse.Connect.Record) (e.g. “Demo-Syn”, “Demo123”, _Record).

SaveRolodexCard Allows for saving an additional Credit Card to the Rolodex record. Required arguments: Account, Password, RolodexID and RolodexCreditCard (Synapse.Connect.RolodexCreditCard) (e.g. “Demo-Syn”, “Demo123”, “123456”, _RolodexCreditCard).

SubmitWithRolodexCardID Submit a transaction using a preexisting RolodexCreditCard. Required arguments: _Transaction and RolodexCardID (e.g. _Transaction and “123456”).

Page 26: Connect Web Service

P a g e | 25

Rolodex Functions Example code shown in Visual Basic .Net

GetRolodexRecord

Dim _connect As New Synapse.Connect.Connect '-- create webservice object

Dim _record As New Synapse.Connect.Record

_record = _connect.GetRolodexRecord("Demo-Syn", "Demo123", "123")

Synapse.Connect.Record Object

SaveRolodex

Dim _connect As New Synapse.Connect.Connect '-- create webservice object

Dim _record As New Synapse.Connect.Record '-- Can Populate using GetRolodexRecord

'-- Modify _record

_record.Business = new Business()

_record.Business.Address.AddressLine1 = "123 Main St"

_record.Business.Address.City = "Overland Park"

_record.Business.Address.State = "KS"

_record.Reference = "123"

_record.Contact = new Contact()

_record.Contact.FirstName = "John"

_record.Contact.LastName = "Smith"

_record.PO = "123456"

_record.Invoice = "759426"

Page 27: Connect Web Service

P a g e | 26

_connect.SaveRolodex("Demo-Syn", "Demo123", _record)

SaveRolodexCard

Dim _connect As New Synapse.Connect.Connect '-- create webservice object

Dim _record As New Synapse.Connect.Record '-- Populate using GetRolodexRecord

Dim _creditcard As New Synapse.Connect.RolodexCreditCard

'-- Populate Card

_creditcard.Holder = "John Smith"

_creditcard.Number = "4111111111111111"

_creditcard.ExpDate = "12/16"

_creditcard.Address = "123 Main St"

_creditcard.City = "Overland Park"

_creditcard.State = "KS"

_creditcard.Zip = "66212"

_connect.SaveRolodexCard("Demo-Syn", "Demo123", _record.ID, _creditcard)

SubmitWithRolodexCardID

Dim _connect As New Synapse.Connect.Connect '-- create webservice object

Dim _tran As New Synapse.Connect.Transaction

Dim _record As New Synapse.Connect.Record '-- Populate using GetRolodexRecord

_tran.Syn_Act = "Demo-Syn"

_tran.Syn_Pwd = "Demo123"

_tran.Tran_Type = "S"

_tran.Tran_Amt = 1.0

_tran = _connect.SubmitWithRolodexCardID(_tran, _record.CreditCards(0).CardID)

Page 28: Connect Web Service

P a g e | 27

Level 3 Transaction Items It is now possible to submit your own level 3 transaction items if you choose. If you do not submit a

transaction item, a default item can be added. The following code will show you how to create a

transaction with a transaction item. An error will be returned if total transaction amount or tax does not

equal total transaction items amount or tax.

Dim _connect As New Synapse.Connect.Connect

Dim _transaction As New Synapse.Connect.Transaction

Dim _item As New Synapse.Connect.TransactionItem

Dim _items As New Generic.List(Of Synapse.Connect.TransactionItem)

_transaction.Syn_Act = "Demo-Syn"

_transaction.Syn_Pwd = "Demo123"

_transaction.Card_Name = "John Smith"

_transaction.Card_Num = "4111111111111111"

_transaction.Card_Exp = "1216"

_transaction.Tran_Amt = "12.75"

_transaction.Tran_Tax = "0.61"

_item.ItemNumber = "MISC"

_item.Description = "Business Supplies"

_item.Quantity = 1

_item.UnitOfMeasure = "NMB" 'each

_item.UnitCost = 12.14

_item.Tax = 0.61

_items.Add(_item)

_transaction.Items = _items.ToArray

_transaction = _connect.Submit(_transaction)

Page 29: Connect Web Service

P a g e | 28

Reporting Connect 1.6 now includes three report options: Transactions by Date, Transactions by

Batch, and Batches by Date.

Transactions by Date

This will return an array of QueryTransaction objects. The object will contain all information about each

transaction on the selected date.

Dim _connect As New Synapse.Connect.Connect

Dim _transactions() As Synapse.Connect.QueryTransaction

_transactions = _connect.GetTransactionsByDate("Demo-

Syn", "Demo123", "1/11/2011")

Transactions by Batch

This will return an array of QueryTransaction objects. The object contains all information about each

transaction in the selected batch.

Dim _connect As New Synapse.Connect.Connect

Dim _transactions() As Synapse.Connect.QueryTransaction

_transactions = _connect.GetTransactionsByBatch("Demo-Syn", "Demo123", "385")

Batches by Date

This will return an array of Batch objects. The object contains all information about each Batch that

occurred on the selected date.

Dim _connect As New Synapse.Connect.Connect

Dim _batches() As Synapse.Connect.Batch

_batches = _connect.GetBatchesByDate("Demo-Syn", "Demo123", "1/11/2011")

Page 30: Connect Web Service

P a g e | 29

AVS & CVV Response Codes Listed in the following sections are the different response codes that may be returned by

the Synapse Gateway in response to either the AVS or CVV transaction data submitted.

WARNING

These codes and descriptions do change periodically.

AVS Response Codes – Visa

Code Description

A Address matches, ZIP code does not.

B Address matches, ZIP not verified.

C Address and ZIP code not verified due to incompatible formats.

D Address and ZIP code match (International only).

F Address and ZIP code match (U.K. only).

G Address not verified for International transaction (International only).

I Address not verified (International only).

M Address and ZIP code match (International only)N Neither the ZIP nor the address matches.

P ZIP matches, address not verified.

R Issuer's authorization system is unavailable; try again later. (Domestic only).

S AVS not supported at this time (Domestic only).

U Unable to perform address verification because either address information is unavailable or Issuer does not support AVS (Domestic only).

Y Address & 5-digit or 9-digit ZIP match (Domestic only).

Z Either 5-digit or 9-digit ZIP matches; address does not or is not included in request.

AVS Response Codes - MasterCard

Code Description

A Address matches, ZIP code does not.

N Neither the ZIP nor the address matches. R Retry; system unable to process.

S AVS not supported at this time.

U No data from issuer/Authorization system. W For U.S. addresses, 9-digit code matches, but address does not; for address outside of

U.S., the ZIP code matches, address does not. X For US: Exact, all digits match, 9-digit ZIP code and address. For non-US: exact postal code

and address match. Y For US: Exact, all digits match, 5-digit ZIP code and address. Z 5-digit ZIP code matches, but address does not.

AVS Response Codes - American Express

Code Description

A Address only is correct.

Page 31: Connect Web Service

P a g e | 30

M

N Neither the ZIP nor the address matches.

R System unavailable; retry.

S AVS not supported at this time.

U The necessary information is not available; account number is neither U.S. nor Canadian.

Y Yes, address and ZIP code are both correct.

Z ZIP code only is correct.

AVS Response Codes - Discover

Code Description

A Address and 5-digit ZIP code match.

G Address info not verified for international transaction Neither the ZIP nor the address matches.

S AVS not supported at this time.

T 9-digit ZIP code matches, but address does not.

U Retry, system unable to process.

W No data from issuer/authorization.

X Address and 9-digit ZIP code match.

Y Address only matches.

Z 5-digit ZIP code matches, but address does not.

CVD Response Codes (Visa, MasterCard and Discover)

Code Description

M Match

N No Match

P Not Processed

S CID should be on the Card, but the Merchant has indicated that it is not present.

U Issuer unable to Process request.

Issuer is not certified.

CVD Response Codes (American Express)

Code Description

Y Match

N No Match

U Issuer unable to process request.

Page 32: Connect Web Service

P a g e | 31

Test Information Listed below are test card numbers that can be used for transactions. Also listed below

are specific dollar amounts that will return different responses.

Test Credit Card Numbers

VI 4111111111111111

VI - Purchasing 4055011111111111

MC 5454545454545454

MC - Purchasing 5405222222222226

AE 371449635398431

DS 6011000995500000

Diners 36438999960016

JCB 3566002020140006

Credit Card Track Samples

Visa Consumer Card

%B4788250000028291^CHASE PAYMENTECH TEST

CARD^15121015432112345601?;4788250000028291=15121015432112345601?

Visa Purchasing Card

%B4055011111111111^CHASE

PAYMENTECH^1512105432112345678?;4055011111111111=15121015432112345678?

MC Consumer Card

%B5454545454545454^CHASE PAYMENTECH TEST

CARD^15121015432112345601?;5454545454545454=15121015432112345601?

MC Purchasing Card

%B5405222222222226^CHASE

PAYMENTECH^15121015432112345678?;5405222222222226=15121015432112345678?

American Express

%B371449635398431^CHASE PAYMENTECH TEST

CARD^15121015432112345678?;371449635398431=15121015432112345678?

Discover Consumer Card

%B6011000995500000^CHASE PAYMENTECH TEST

CARD^15121015432112345678?;6011000995500000=15121015432112345678?

JCB Consumer Card

%B3566002020140006^CHASE

PAYMENTECH^15121015432112345678?;3566002020140006=15121015432112345678?

Page 33: Connect Web Service

P a g e | 32

Diners Consumer Card

%B36438999960016^CHASE PAYMENTECH TEST

CARD^15121015432112345601?;36438999960016=15121015432112345601?

Transaction Amount Responses

*.01 Declined Do Not Honor

*.02 Declined Refer to card issuer

*.03 Declined Pick up

*.04 Declined Re-enter transaction

*.05 Declined Invalid Card Number

*.06 Declined Invalid expiry date

*.12 Declined Invalid amount

*.16 Declined Lost/stolen card

9.67 Partial Auth (Approved Amt $2.00)

AVS Response Codes

Changing the zip code to the following values will result in different AVS Response Codes. Responses

descriptions may vary depending on card type. Please see AVS & CVV Response code section on page 30.

11111 A 11112 S 11113 T

22222 M 22223 W

33333 N 33334 X

44444 R 44445 B

55555 U 55556 P

66666 Y 66667 C

77777 Z 77778 D

88888 G 88889 I

CVV Responses Codes

Changing the CVV number will result in different CVV Response Codes

111 M

222 N

333 P

Page 34: Connect Web Service

P a g e | 33

444 S

555 U

777 N

2222 Y (AMEX ONLY)

1111 N (AMEX ONLY)

9999 U (AMEX ONLY)