Transaction Processing

Home/Developers / Transaction ProcessingQuick Links

Certification Packet

Included in the packet:
Genius Certification Script, Implementation Review Outline, EMV Response message field and value documentation, EMV XML Schema for the response structure, EMV receipt requirements matrix, Genius/EMV certification script with EMV response simulator instructions.

Integration & certification Support
Please reach out to your Business Development Director if you're ready for certification and they can schedule a call to cover the details of this new functionality.

Download Here

Implementation Review

An implementation review call will be scheduled as the last step of the Genius Certification process. The following three items will be required to be demonstrated on the call:

  1. Setup: How the IP information and credentials for the Genius CED are entered into the POS.
  2. General Merchant Transaction Flow: A typical transaction using the CED, as run by a merchant.
  3. Specific Transactions: Example transactions representing each of the implementation requirements below.

Implementation Requirements

Overview

This documentation serves as a reference guide for Point of Sale developers looking to accept different payment types available using simplified integration methods. Please note that you must contact the Certification team if you intend to use HTTPS to make requests.

Transaction Flow

1 Stage Transaction Generate a unique key (TransportKey) using the createTransaction web service method to stage the transaction parameters.
2 Initiate Transaction

a. Send the TransportKey to the Customer Engagement Device using the GET method and wait for the customer to complete the transaction.

b. After the transaction is completed, the device sends the response back to the Point of Sale in XML, JSON or JSONP format.

3 Retrieve Details Optional Use the DetailsByTransportKey web service method to retrieve additional payment information for payments like gift and loyalty.

Endpoints

Test Endpoints Test URL
Stage Transaction https://transport.merchantware.net/v4/transportService.asmx
Initiate Transaction http://[CED-IP-Address]:8080/v2/pos?TransportKey=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx&Format=xxx
Additional Connection Methods
Retrieve Details https://genius.merchantware.net/v1/Reporting.asmx
Live Endpoints Live URL
Stage Transaction https://transport.merchantware.net/v4/transportService.asmx
Initiate Transaction http://[CED-IP-Address]:8080/v2/pos?TransportKey=xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx&Format=xxx
Additional Connection Methods
Retrieve Details https://genius.merchantware.net/v1/Reporting.asmx

1 Stage Transaction

The CreateTransaction web service method allows you to submit non-sensitive payment information to the payment gateway and returns a unique key (TransportKey) in the response which will be used for all subsequent steps to identify the transaction.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://transport.merchantware.net/v4/CreateTransaction
Test Endpoint https://transport.merchantware.net/v4/transportService.asmx
Live Endpoint https://transport.merchantware.net/v4/transportService.asmx

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
Request TransportRequest -- A TransportRequest object containing the transaction data. Details below.

TransportRequest Object Parameters

Name Type Size Description
TransactionType String 4-14 The transaction type for this transaction. Valid values:
  • SALE
  • _REFUND
  • LEVEL2SALE - level 2 transaction for business/corp cards. Requires tax amount, customer code and po number fields.
  • PREAUTH - preauthorizes card only. A POSTAUTH needs to be performed to capture the transaction.
  • FORCESALE - used to perform a voice authorization transaction by using the authorization code. Must use the InitiateKeyedEntry method for this function.
  • ADDVALUE - used to add a value to a gift/loyalty card.
  • BALANCEINQUIRY - used to perform a balance inquiry on a gift/loyalty card.
Amount Decimal 0-99,999 The desired amount for a transaction.
ClerkId String 1-50 A unique ID for the user running the transaction. POS can send the server ID, clerk ID, employee ID, register ID or any other ID that identifies the user or system running the transaction.
OrderNumber String 1-8 The order or invoice number associated with the transaction.
Dba String 1-50 The business name for the merchant as it should appear to the customer.
SoftwareName String 1-50 The name of the software application sending the request.
SoftwareVersion String 1-25 The version number of the software application sending the request.
TransactionId String 1-25 The merchant-defined identifier for the transaction.
ForceDuplicate Boolean -- Override duplicate protection and allow the transaction to process normally.
  • true
  • false
CustomerCode String 1-50 Required for level 2 transactions. The merchant-defined identifier for the customer involved in the transaction.
PoNumber String 1-8 Required for level 2 transactions. The customer-defined identifier declaring a purchase order for the transaction.
TaxAmount Decimal 0-20,000 Required for level 2 transactions. The declared tax amount of the transaction.
TerminalId String 0-16 Terminal ID to uniquely identify the terminal to the processor. The terminal ID must contain all numeric characters. For more information about the TID value that should be used for merchants, please contact our Integrations Team at integrations@cayan.com
HealthCareAmountDetails Object -- An optional field used to specify various healthcare amounts for healthcare based cards, such as Flexible Spending Accounts.

Response Parameters

Name Type Description
transportKey String (GUID) A GUID that references the staged transaction. Used for subsequest actions like initiating the transaction request on the Genius device.
validationKey String (GUID) A GUID that is used to validate the response from the Genius device upon the completion of the transaction.
messages MessageList A collection of message objects that contain any error messages generated by the request. Each message contains a field and information field.

Examples

Soap request example:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <CreateTransaction xmlns="http://transport.merchantware.net/v4/">
    <merchantName>ZERO INC</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <request>
        <TransactionType>SALE</TransactionType>
        <Amount>1.23</Amount>
        <ClerkId>ABC123</ClerkId>
        <OrderNumber>ABC123</OrderNumber>
        <Dba>ZERO BRANDS</Dba>
        <SoftwareName>ABC SOFTWARE</SoftwareName>
        <SoftwareVersion>1.0.0.0</SoftwareVersion>
        <Cardholder>VISA TEST CARD</Cardholder>
        <TransactionId>ABC123</TransactionId>
        <ForceDuplicate>FALSE</ForceDuplicate>
        <CustomerCode>ABC123</CustomerCode>
        <PoNumber>ABC123</PoNumber>
        <TaxAmount>0.09</TaxAmount>
        <TerminalId>01</TerminalId>
        <HealthCareAmountDetails>
            <HealthCareTotalAmount>1.23</HealthCareTotalAmount>
            <ClinicalAmount>0.23</ClinicalAmount>
            <CopayAmount>0.25</CopayAmount>
            <DentalAmount>0.25</DentalAmount>
            <PrescriptionAmount>0.25</PrescriptionAmount>
            <VisionAmount>0.25</VisionAmount>
        </HealthCareAmountDetails>
    </request>
</CreateTransaction>
</soap:Body>
</soap:Envelope>
							

Soap response example:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <CreateTransactionResponse xmlns="http://transport.merchantware.net/v4/">
    <CreateTransactionResult>
        <TransportKey>xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx</TransportKey>
        <ValidationKey>xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx</ValidationKey>
        <Messages>
            <Message>
                <Field/>
                <Information/>
            </Message>
            <Message>
                <Field/>
                <Information/>
            </Message>
        </Messages>
    </CreateTransactionResult>
</CreateTransactionResponse>
</soap:Body>
</soap:Envelope>
						

2 Initiate Transaction

REQUEST Use GET to send the TransportKey to the Customer Engagement Device. The device will prompt the customer to select the payment type and complete the transaction. The Point of Sale will keep the port open to the device and wait for the GET request to complete. The GET response will contain an XML, JSON or JSONP packet.

v2 Sample XML request [Default]
http://[CED-IP-Address]:8080/v2/pos?TransportKey= xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx&Format=XML
Additional Connection Methods
v2 Sample JSON request
http://[CED-IP-Address]:8080/v2/pos?TransportKey= xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx&Format=JSON
Additional Connection Methods

RESPONSE When the transaction is completed, the device will send the transaction results back to the Point of Sale so it can be parsed out, stored and used at a later time if necessary.

v2 Response Parameters

Name Type Description
Status String The status of the transaction, typically 'APPROVED', 'DECLINED' or 'ERROR'. This value may also have other definitions depending on CardType and context. For cancelled transactions, the status returned will be 'USERCANCELLED' for transactions cancelled by the user or 'POSCANCELLED' for transactions cancelled by the POS system.
AmountApproved Decimal The amount of the transaction that was approved.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
Cardholder String The Cardholder associated with the payment card used in a transaction.
AccountNumber String A string representing the truncated card number of the payment card used in a transaction.
PaymentType enum The issuer type of payment card used in a transaction.
  • VISA - Visa
  • MASTERCARD - Mastercard or Diner's Club
  • AMEX - American Express
  • DISCOVER - Discover
  • DEBIT - PIN Debit
  • GIFT - Gift card
  • EBT - Electronic Balance Transfer card
  • LEVELUP - LevelUp
  • VOYAGER - Voyager fleet card
  • WEX - Wright Express fleet card
  • JCB - Japan Credit Bureau
  • CUP - China Union Pay
  • UNKNOWN - This value is reserved.
EntryMode enum The entry mode for this transaction
  • SWIPE - Magnetic stripe
  • PROXIMITY - Contactless / NFC
  • BARCODE - Barcode
  • MANUAL - KeyedSale (N.B. Only as result of Initiate Keyed Sale)
ErrorMessage String A message indicating why the transaction could not be processed.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate dateTime The date and time when a transaction is issued, in UTC time.
TransactionType enum The type of transaction, and this value matches up with the TransactionType enumeration.
  • SALE
  • AUTHORIZATION
  • REFUND
  • ADDVALUE
  • BALANCEINQUIRY
ResponseType enum Possible values:
  • SINGLE
  • MULTI
  • COMPOUND
ValidationKey String This ValidationKey should be used to match up with the ValidationKey received in the CreateTransaction call to validate that the response from the CED is authentic and matches the response from the gateway.
AdditionalParameters Object Contains extra transaction information when applicable. Possible fields:
  • <SignatureData>string</SignatureData> - contains the vector signature data if it's collected by the CED.
  • <AmountDetails><UserTip/><Cashback/><Donation/><Surcharge/><RemainingCardBalance/><Discount/></AmountDetails>
  • <Discount> object - there may be more than one discount object inside the response. Take a look at the sample responses for details.
  • <KeyedDetails><ExpirationDate>string</ExpirationDate><AvsStreetZipCode>string</AvsStreetZipCode><AvsResponse>char</AvsResponse><CvResponse>char</CvResponse></KeyedDetails>
  • <FsaCard>bool</FsaCard> - Was an FSA card tendered? Will be present only in the response if FSA Healthcare amounts were specified in the create transaciton call.
  • <Loyalty><AccountNumber>string</AccountNumber><Balances><PointsBalance>int</PointsBalance><AmountBalance>decimal</AmountBalance></Balances></Loyalty> - Will be present only if the gift/loyalty function is active.
Possible AvsResponse values: View List
Possible CvResponse values: View List

Warning New fields may be added to Additional Parameters at any time. It is important to ensure you parse all fields and discard those which are not required.
EMV Object Contains EMV transaction information when applicable.

EMV Object Parameters

Name Type Description
Aid String ID of the EMV application selected by the customer.
ApplicationLabel String The application label as displayed to the customer.
PINStatement String Statement to signify ’PIN Verified’ or ‘PIN Locked’.

These EMV fields are the ones required to be used for compliance. For the additional optional fields, see the V2 Examples available above.

v1 Examples

XML response example:

V1 Initiate Transaction request has been replaced with V2 requests, and the use of V1 will prevent the activation of features such as EMV. Please only use these sections as reference for the old format response values and examples

 

<?xml version="1.0" encoding="utf-8"?>
<TransactionResult>
    <Status>APPROVED</Status>
    <AmountApproved>10.00</AmountApproved>
    <AuthorizationCode>MC1234</AuthorizationCode>
    <Cardholder>Joe Smith</Cardholder>
    <AccountNumber>************1234</AccountNumber>
    <PaymentType>Mastercard</PaymentType>
    <EntryMode>SWIPE</EntryMode>
    <ErrorMessage/>
    <Token>222365</Token>
    <TransactionDate>5/4/2015 6:27:54 PM</TransactionDate>
    <TransactionType>SALE</TransactionType>
    <ResponseType>SINGLE</ResponseType>
    <ValidationKey>xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx</ValidationKey>
    <AdditionalParameters>
        <SignatureData>10,10^110,110^0,65535^10,110^110,10^0,65535^~</SignatureData>
        <AmountDetails>
            <UserTip>0.00</UserTip>
            <Cashback>0.00</Cashback>
            <Donation>0.00</Donation>
            <Surcharge>0.00</Surcharge>
            <RemainingCardBalance>100.00</RemainingCardBalance>
            <Discount>
                <Total>decimal</Total>
                <DiscountsApplied>
                    <DiscountApplied>
                        <Amount>decimal</Amount>
                        <Type>String</Type>
                        <Message>String</Message>
                    </DiscountApplied>
                </DiscountsApplied>
            </Discount>
        </AmountDetails>
        <Loyalty>
            <AccountNumber>string</AccountNumber>
            <Balances>
                <PointsBalance>int</PointsBalance>
                <AmountBalance>decimal</AmountBalance>
            </Balances>
        </Loyalty>
    </AdditionalParameters>
</TransactionResult>
							

 

 

JSON Response Example

{
  "Status": "APPROVED",
  "AmountApproved": "10.00",
  "AuthorizationCode": "MC1234",
  "Cardholder": "Joe Smith",
  "AccountNumber": "************1234",
  "PaymentType": "Mastercard",
  "EntryMode": "SWIPE",
  "ErrorMessage": "",
  "Token": "222365",
  "TransactionDate": "5\/4\/2015 6:27:54 PM ",
  "TransactionType": "SALE",
  "ResponseType": "SINGLE",
  "ValidationKey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx",
  "AdditionalParameters": {
    "SignatureData": "10,10^110,110^0,65535^10,110^110,10^0,65535^~",
    "AmountDetails": {
      "UserTip": "0.00",
      "Cashback": "0.00",
      "Donation": "0.00",
      "Surcharge": "0.00",
      "RemainingCardBalance": "100.00",
      "Discount": {
        "Total": "0.00",
        "DiscountsApplied": {
          "DiscountApplied": {
            "Amount": "0.00",
            "Type": "Softcard Offer",
            "Message": ""
          }
        }
      }
    }
  }
}
							

v1 Response Parameters

V1 Initiate Transaction request has been replaced with V2 requests, and the use of V1 will prevent the activation of features such as EMV. Please only use these sections as reference for the old format response values and examples

 

Name Type Description
Status String The status of the transaction, typically 'APPROVED' or 'DECLINED'. This value may also have other definitions depending on CardType and context. For cancelled transactions, the status returned will be 'USERCANCELLED' for transactions cancelled by the user or 'POSCANCELLED' for transactions cancelled by the POS system.
AmountApproved Decimal The amount of the transaction that was approved. If partial authorizations are enabled, this will be the authorized amount and may be different than the requested amount.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
Cardholder String The Cardholder associated with the payment card used in a transaction.
AccountNumber String A string representing the truncated card number of the payment card used in a transaction.
PaymentType enum The issuer type of payment card used in a transaction.
  • VISA - Visa
  • MASTERCARD - Mastercard or Diner's Club
  • AMEX - American Express
  • DISCOVER - Discover
  • DEBIT - PIN Debit
  • GIFT - Gift card
  • EBT - Electronic Balance Transfer card
  • LEVELUP - LevelUp
  • VOYAGER - Voyager fleet card
  • WEX - Wright Express fleet card
  • JCB - Japan Credit Bureau
  • CUP - China Union Pay
  • UNKNOWN - This value is reserved.
EntryMode enum The entry mode for this transaction
  • SWIPE - Magnetic stripe
  • PROXIMITY - Contactless / NFC
  • BARCODE - Barcode
  • MANUAL - KeyedSale (N.B. Only as result of Initiate Keyed Sale)
ErrorMessage String A message indicating why the transaction could not be processed.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate dateTime The date and time when a transaction is issued, in UTC time.
TransactionType enum The type of transaction, and this value matches up with the TransactionType enumeration.
  • SALE
  • REFUND
  • ADDVALUE
  • BALANCEINQUIRY
ResponseType enum Possible values:
  • SINGLE
  • MULTI
  • COMPOUND
ValidationKey String This ValidationKey should be used to match up with the ValidationKey received in the CreateTransaction call to validate that the response from the CED is authentic and matches the response from the gateway.
AdditionalParameters Object Contains extra transaction information when applicable. Possible fields:
  • <SignatureData>string</SignatureData> - contains the vector signature data if it's collected by the CED.
  • <AmountDetails><UserTip/><Cashback/><Donation/><Surcharge/><RemainingCardBalance/><Discount/></AmountDetails>
  • <Discount> object - there may be more than one discount object inside the response. Take a look at the sample responses for details.
  • <Loyalty><AccountNumber>string</AccountNumber><Balances><PointsBalance>int</PointsBalance><AmountBalance>decimal</AmountBalance></Balances></Loyalty> - Will be present  only if the gift/loyalty function is active.

 

v2 Examples Non EMV

XML response example:

<?xml version="1.0" encoding="utf-8"?>
<TransactionResult>
    <Status>APPROVED</Status>
    <AmountApproved>6.01</AmountApproved>
    <AuthorizationCode>OK0601</AuthorizationCode>
    <Cardholder>TEST CARD/GENIUS</Cardholder>
    <AccountNumber>************0026</AccountNumber>
    <PaymentType>VISA</PaymentType>
    <EntryMode>SWIPE</EntryMode>
    <ErrorMessage/>
    <Token>601601601</Token>
    <TransactionDate>3/29/2016 2:58:41 PM</TransactionDate>
    <TransactionType>SALE</TransactionType>
    <ResponseType>SINGLE</ResponseType>
    <ValidationKey>bd68008f-d4fc-45c2-8eb9-2656fd56fd29</ValidationKey>
    <AdditionalParameters>
        <SignatureData/>
        <AmountDetails>
            <UserTip>0.00</UserTip>
            <Cashback>0.00</Cashback>
            <Donation>0.00</Donation>
            <Surcharge>0.00</Surcharge>
            <Discount>
                <Total>0.00</Total>
            </Discount>
        </AmountDetails>
        <Loyalty>
            <AccountNumber>string</AccountNumber>
            <Balances>
                <PointsBalance>int</PointsBalance>
                <AmountBalance>decimal</AmountBalance>
            </Balances>
        </Loyalty>
    </AdditionalParameters>
</TransactionResult>
							

 

JSON Response Example

{
  "Status": "APPROVED",
  "AmountApproved": "6.01",
  "AuthorizationCode": "OK0601",
  "Cardholder": "TEST CARD\/GENIUS",
  "AccountNumber": "************0026",
  "PaymentType": "VISA",
  "EntryMode": "SWIPE",
  "ErrorMessage": "",
  "Token": "601601601",
  "TransactionDate": "3\/29\/2016 3:01:09 PM",
  "TransactionType": "SALE",
  "ResponseType": "SINGLE",
  "ValidationKey": "65ef9de0-bd3f-40f8-9186-8687971c856b",
  "AdditionalParameters": {
    "SignatureData": "",
    "AmountDetails": {
      "UserTip": "0.00",
      "Cashback": "0.00",
      "Donation": "0.00",
      "Surcharge": "0.00",
      "Discount": {
        "Total": "0.00"
      }
    }
  }
}

v2 Examples

XML response example:

<?xml version="1.0" encoding="utf-8"?>
<TransactionResult>
    <Status>APPROVED</Status>
    <AmountApproved>6.01</AmountApproved>
    <AuthorizationCode>OK0601</AuthorizationCode>
    <Cardholder>TEST CARD/GENIUS</Cardholder>
    <AccountNumber>************0026</AccountNumber>
    <PaymentType>VISA</PaymentType>
    <EntryMode>SWIPE</EntryMode>
    <ErrorMessage/>
    <Token>601601601</Token>
    <TransactionDate>3/29/2016 2:58:41 PM</TransactionDate>
    <TransactionType>SALE</TransactionType>
    <ResponseType>SINGLE</ResponseType>
    <ValidationKey>bd68008f-d4fc-45c2-8eb9-2656fd56fd29</ValidationKey>
    <AdditionalParameters>
        <SignatureData/>
        <AmountDetails>
            <UserTip>0.00</UserTip>
            <Cashback>0.00</Cashback>
            <Donation>0.00</Donation>
            <Surcharge>0.00</Surcharge>
            <Discount>
                <Total>0.00</Total>
            </Discount>
        </AmountDetails>
        <EMV>
            <ApplicationInformation>
                <Aid>A0000000032010</Aid>
                <ApplicationLabel>Visa Electron</ApplicationLabel>
                <ApplicationExpiryDate>1/1/2017</ApplicationExpiryDate>
                <ApplicationEffectiveDate>1/1/2014</ApplicationEffectiveDate>
                <ApplicationInterchangeProfile>1359</ApplicationInterchangeProfile>
                <ApplicationVersionNumber>1</ApplicationVersionNumber>
                <ApplicationTransactionCounter>826</ApplicationTransactionCounter>
                <ApplicationUsageControl>1234</ApplicationUsageControl>
                <ApplicationPreferredName>Visa Electron</ApplicationPreferredName>
                <ApplicationDisplayName>Visa Electron</ApplicationDisplayName>
            </ApplicationInformation>
            <CardInformation>
                <MaskedPan>************0026</MaskedPan>
                <PanSequenceNumber>1</PanSequenceNumber>
                <CardExpiryDate>01/19</CardExpiryDate>
            </CardInformation>
            <ApplicationCryptogram>
                <CryptogramType>TC</CryptogramType>
                <Cryptogram>9F424AA68EB17A2</Cryptogram>
            </ApplicationCryptogram>
            <CvmResults>010001</CvmResults>
            <IssuerApplicationData>123AB123456123</IssuerApplicationData>
            <TerminalVerificationResults>123AB12345</TerminalVerificationResults>
            <UnpredictableNumber>2147483647</UnpredictableNumber>
            <Amount>
                <AmountAuthorised>6.01</AmountAuthorised>
                <AmountOther>0.00</AmountOther>
            </Amount>
            <PosEntryMode>05</PosEntryMode>
            <TerminalInformation>
                <TerminalType>22</TerminalType>
                <IfdSerialNumber>1211-121-1212</IfdSerialNumber>
                <TerminalCountryCode>840</TerminalCountryCode>
                <TerminalID>12345678</TerminalID>
                <TerminalActionCodeDefault>DC404F800</TerminalActionCodeDefault>
                <TerminalActionCodeDenial>DC404F800</TerminalActionCodeDenial>
                <TerminalActionCodeOnline>DC404F800</TerminalActionCodeOnline>
            </TerminalInformation>
            <TransactionInformation>
                <TransactionType>GOODS</TransactionType>
                <TransactionCurrencyCode>840</TransactionCurrencyCode>
                <TransactionStatusInformation>E800</TransactionStatusInformation>
            </TransactionInformation>
            <CryptogramInformationData>AB</CryptogramInformationData>
            <PINStatement>PIN Verified</PINStatement>
            <CvmMethod>ONLINE PIN</CvmMethod>
            <IssuerActionCodeDefault>1234567890</IssuerActionCodeDefault>
            <IssuerActionCodeDenial>1234567890</IssuerActionCodeDenial>
            <IssuerActionCodeOnline>1234567890</IssuerActionCodeOnline>
            <AuthorizationResponseCode>00</AuthorizationResponseCode>
        </EMV>
        <Loyalty>
            <AccountNumber>string</AccountNumber>
            <Balances>
                <PointsBalance>int</PointsBalance>
                <AmountBalance>decimal</AmountBalance>
            </Balances>
        </Loyalty>
    </AdditionalParameters>
</TransactionResult>
							

JSON Response example:

{
  "Status": "APPROVED",
  "AmountApproved": "6.01",
  "AuthorizationCode": "OK0601",
  "Cardholder": "TEST CARD\/GENIUS",
  "AccountNumber": "************0026",
  "PaymentType": "VISA",
  "EntryMode": "SWIPE",
  "ErrorMessage": "",
  "Token": "601601601",
  "TransactionDate": "3\/29\/2016 3:01:09 PM",
  "TransactionType": "SALE",
  "ResponseType": "SINGLE",
  "ValidationKey": "65ef9de0-bd3f-40f8-9186-8687971c856b",
  "AdditionalParameters": {
    "SignatureData": "",
    "AmountDetails": {
      "UserTip": "0.00",
      "Cashback": "0.00",
      "Donation": "0.00",
      "Surcharge": "0.00",
      "Discount": {
        "Total": "0.00"
      }
    },
    "EMV": {
      "ApplicationInformation": {
        "Aid": "A0000000032010",
        "ApplicationLabel": "Visa Electron",
        "ApplicationExpiryDate": "1\/1\/2017",
        "ApplicationEffectiveDate": "1\/1\/2014",
        "ApplicationInterchangeProfile": "1359",
        "ApplicationVersionNumber": "1",
        "ApplicationTransactionCounter": "826",
        "ApplicationUsageControl": "1234",
        "ApplicationPreferredName": "Visa Electron",
        "ApplicationDisplayName": "Visa Electron"
      },
      "CardInformation": {
        "MaskedPan": "************0026",
        "PanSequenceNumber": "1",
        "CardExpiryDate": "01\/19"
      },
      "ApplicationCryptogram": {
        "CryptogramType": "TC",
        "Cryptogram": "9F424AA68EB17A2"
      },
      "CvmResults": "010001",
      "IssuerApplicationData": "123AB123456123",
      "TerminalVerificationResults": "123AB12345",
      "UnpredictableNumber": "2147483647",
      "Amount": {
        "AmountAuthorised": "6.01",
        "AmountOther": "0.00"
      },
      "PosEntryMode": "05",
      "TerminalInformation": {
        "TerminalType": "22",
        "IfdSerialNumber": "1211-121-1212",
        "TerminalCountryCode": "840",
        "TerminalID": "12345678",
        "TerminalActionCodeDefault": "DC404F800",
        "TerminalActionCodeDenial": "DC404F800",
        "TerminalActionCodeOnline": "DC404F800"
      },
      "TransactionInformation": {
        "TransactionType": "GOODS",
        "TransactionCurrencyCode": "840",
        "TransactionStatusInformation": "E800"
      },
      "CryptogramInformationData": "AB",
      "PINStatement": "PIN Verified",
      "CvmMethod": "ONLINE PIN",
      "IssuerActionCodeDefault": "1234567890",
      "IssuerActionCodeDenial": "1234567890",
      "IssuerActionCodeOnline": "1234567890",
      "AuthorizationResponseCode": "00",
      "UnexpectedEMVField": null,
      "UnexpectedEmptyField1": null,
      "UnexpectedEmptyField2": null,
      "UnexpectedEmptyField3": null
    }
  }
}

3 Retrieve Transaction Details

The DetailsByTransportKey web service method allows the Point of Sale developers to send in the original TransportKey and request additional payment information at a later time.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/genius/10/Reporting/DetailsByTransportKey
Test Endpoint https://genius.merchantware.net/v1/Reporting.asmx
Live Endpoint https://genius.merchantware.net/v1/Reporting.asmx

Request Parameters

Name Type Size Description
Name String 1-160 The name of the business or organization owning the Merchantware account.
SiteID String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
Key String 1-160 The software key or password for the site accessing a Merchantware account.
TransportKey String 1-160 The unique key generated using the createTransaction method.

Response Parameters

Name Type Description
Status String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
ErrorMessage String A message indicating why the transaction could not be processed.
TotalAmountApproved String The amount of the transaction that was approved. If partial authorizations are enabled, this will be the authorized amount and may be different than the requested amount.
RequestedAmount String The requested amount of the transaction.
ResponseType String SINGLE, MULTI or Compound. Typical credit, debit and EBT payment types will return ‘SINGLE’ as the ResponseType. MULTI or COMPOUND response types are returned for additional payment types such as gift and loyalty.
Payment Details PaymentDetail Collection of detail objects for the transaction processed. If more than one payment type was processed to complete the transaction, each sub-transaction will be in the collection. For example, if a $100 transaction is processed using a $30 gift card and $70 credit card transaction, there will be a payment detail for each one within the payment details object.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <DetailsByTransportKey xmlns="http://schemas.merchantwarehouse.com/genius/10/Reporting">
      <Name>string</Name>
      <SiteID>string</SiteID>
      <Key>string</Key>
      <TransportKey>string</TransportKey>
    </DetailsByTransportKey>
  </soap:Body>
</soap:Envelope>
							

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <DetailsByTransportKeyResponse xmlns="http://tempuri.org/">
      <DetailsByTransportKeyResult>
        <Status>UNKNOWN or APPROVED or FAILED or DECLINED or DECLINED_DUPLICATE or REFERRAL</Status>
        <ErrorMessage>string</ErrorMessage>
        <TotalAmountApproved>decimal</TotalAmountApproved>
        <RequestedAmount>decimal</RequestedAmount>
        <ResponseType>UNKNOWN or SINGLE or MULTI or COMPOUND</ResponseType>
        <PaymentDetails>
          <PaymentDetail>
            <PaymentType>UNKNOWN or AMEX or DISCOVER or MASTERCARD or VISA or DEBIT or EBT or EGC or WEX or VOYAGER or JCB or CUP or LU</PaymentType>
            <Status>UNKNOWN or APPROVED or FAILED or DECLINED or DECLINED_DUPLICATE or REFERRAL</Status>
            <ErrorMessage>string</ErrorMessage>
            <TransactionType>UNKNOWN or SALE or REFUND or AUTHORIZATION</TransactionType>
            <Token>string</Token>
            <AuthorizationCode>string</AuthorizationCode>
            <Customer>string</Customer>
            <Email>string</Email>
            <PhoneNumber>string</PhoneNumber>
            <AccountNumber>string</AccountNumber>
            <ExpirationDate>string</ExpirationDate>
            <EntryMode>UNKNOWN or MANUAL or SWIPE or AUTHORIZATION or PROXIMITY or BARCODE</EntryMode>
            <TransactionDate>dateTime</TransactionDate>
            <AmountDetail>
                <AmountApproved>30.00</AmountApproved>
                <AmountCharged>0</AmountCharged>
                <TaxAmount>1.88</TaxAmount>
                <TipAmount>2.50</TipAmount>
                <UserTipAmount>2.50</UserTipAmount>
                <DiscountAmount>4.00</DiscountAmount>
                <VoucherAmount>1.00</VoucherAmount>
                <RemainingCardBalance>100.00</RemainingCardBalance>
            </AmountDetail>
            <SignatureDetail>
                <SignatureType>VECTOR</SignatureType>
                <Signature>10,10^110,110^0,65535^10,110^110,10^0,65535^~</Signature>
            </SignatureDetail>
            <GiftDetail>
                <Balance>25.35</Balance>
            </GiftDetail>
            <LoyaltyDetail>
                <Visits>25</Visits>
                <LastVisit>2011-07-02T00:00:00</LastVisit>
                <LifetimeSpend>560.33</LifetimeSpend>
                <Balance>144</Balance>
            </LoyaltyDetail>
            <AdditionalResponseParameters>
                <FsaCard>false</FsaCard>
            </AdditionalResponseParameters>
          </PaymentDetail>
        </PaymentDetails>
        <AdditionalResponseParameters />
      </DetailsByTransportKeyResult>
    </DetailsByTransportKeyResponse>
  </soap:Body>
</soap:Envelope>
							

Additional Terminal Functions

The following methods provide the ability to perform non-transaction based functions like canceling a sale or checking on the status of the Genius CED device.

1 Cancel Transaction Sends a request to the CED to cancel the current transaction.
2 Status Check Check CED to determine which screen the device is on.
3 Initiate Keyed Entry Sends a request to the CED to process manual entry of PAN, Expiration Date, CVV and Zip.
4 Initiate Keyed Sale Deprecated method. Please use Initiate Keyed Entry instead.
Sends a request to the CED to process manual entry of PAN, Expiration Date, CVV and Zip.

1 Cancel Transaction

Action=Cancel Sends a request to the CED to cancel the current transaction.

Sample request string
http://[CED-IP-Address]:8080/v1/pos?Action=Cancel&Format=XML
Additional Connection Methods

Response Parameters

Name Type Description
Status String The status of the cancel request. Possible values are Cancelled, TransactionApproved_NoSignatureCollected, Denied, Error.
ResponseMessage String Message for Denied or Error transactions. (ie. Can’t connect, can’t cancel while processing, terminal at idle screen).
AdditionalParameters Object Placeholder for any necessary future fields.

Examples

XML Response example:

<?xml version="1.0" encoding="utf-8"?>
<CancelResult>
    <Status>Cancelled</Status>
    <ResponseMessage></ResponseMessage>
    <AdditionalParameters></AdditionalParameters>
</CancelResult>                

JSON Response example:

{
  "Status": "Cancelled",
  "ResponseMessage": "",
  "AdditionalParameters": {
    
  }
}

Note: If the original transaction request is still pending, sending in a cancel request will force the CED to return a result to the original request with a status of 'POS Cancelled'. Please note that if the payment authorization has already occured, the response to the original request will contain transaction data which will need to be used to 'Void' or 'Refund' the transaction.

2 Status Check

Action=Status There are two versions of the Status request available. Version 1 sends a request to the CED to check which screen the device is on. Version 2 is analogous with version 1 but also includes any AdditionalParameters fields.

v2 Sample request string
http://[CED-IP-Address]:8080/v2/pos?Action=Status&Format=XML
Additional Connection Methods

v2 Response Parameters

Name Type Description
Status String The status of the Genius CED. Possible values:
  • Online
  • DOWNLOAD_NEEDED
CurrentScreen int Enum that lists the current screen that the CED is on. View List
ResponseMessage String Message for Denied or Error transactions. (ie. No internet access).
SerialNumber String The CED's serial number.
ApplicationVersion String The application version that is currently installed on the CED.
OSVersion String The operating system version that is currently installed on the CED.
AdditionalParameters Object Contains extra status information when applicable. Possible fields:
  • <PaymentDataCaptured>false</PaymentDataCaptured> - contains true if payment data has been captured.
  • <RemoveEMVCard>false</RemoveEMVCard> - contains true if the transaction is complete and the card is ready to be removed.
Warning New fields may be added to AdditionalParameters at any time. It is important to ensure you parse all fields and discard those which are not required.

v2 Examples

XML response example:

<?xml version="1.0" encoding="utf-8"?>
<StatusResult>
    <Status>Online</Status>
    <CurrentScreen>00</CurrentScreen>
    <ResponseMessage>NoInternetAccess</ResponseMessage>
    <SerialNumber>123-123-123</SerialNumber>
    <ApplicationVersion>1.0.0.0</ApplicationVersion>
    <OSVersion>18.0.0.0</OSVersion>
    <AdditionalParameters>
        <PaymentDataCaptured>false</PaymentDataCaptured>
        <RemoveEMVCard>false</RemoveEMVCard>
    </AdditionalParameters>
</StatusResult>                

JSON Response example:

{  
   "Status":"Online",
   "CurrentScreen":"00",
   "ResponseMessage":"NoInternetAccess",
   "SerialNumber":"123-123-123",
   "ApplicationVersion":"1.0.0.0",
   "OSVersion":"18.0.0.0",
   "AdditionalParameters":{  
      "PaymentDataCaptured":"false",
      "RemoveEMVCard":"false"
   }
}
                 	                

v1 Response Parameters

Name Type Description
Status String The status of the Genius CED. Possible values:
  • Online
  • DOWNLOAD_NEEDED
CurrentScreen int Enum that lists the current screen that the CED is on. View List
ResponseMessage String Message for Denied or Error transactions. (ie. No internet access).
SerialNumber String The CED's serial number.
ApplicationVersion String The application version that is currently installed on the CED.
OSVersion String The operating system version that is currently installed on the CED.
AdditionalParameters Object This field is not used.

v1 Examples

XML response example:

<?xml version="1.0" encoding="utf-8"?>
<StatusResult>
    <Status>Online</Status>
    <CurrentScreen>00</CurrentScreen>
    <ResponseMessage>NoInternetAccess</ResponseMessage>
    <SerialNumber>123-123-123</SerialNumber>
    <ApplicationVersion>1.0.0.0</ApplicationVersion>
    <OSVersion>18.0.0.0</OSVersion>
    <AdditionalParameters/>
</StatusResult>

JSON Response Example

{
  "Status": "Online",
  "CurrentScreen": "00",
  "ResponseMessage": "NoInternetAccess",
  "SerialNumber": "123-123-123",
  "ApplicationVersion": "1.0.0.0",
  "OSVersion": "18.0.0.0",
  "AdditionalParameters": {
    
  }
}
                
Note: The Version 2 Status check is available only in v4.3.1.0 and higher.

3 Initiate Keyed Entry

Initiate Keyed Entry can be used for credit/debit cards and gift/loyalty cards.

Action=InitiateKeyedEntry Sends a request to the CED to process manual entry of payment data, which may include PAN, Expiration Date, CVV, and/or Zip. This function can be used only when a transaction has been staged and the Genius device displays the selection screen, swipe screen, or gift card capture screen. Using this function without an existing transaction on the device will result in a failed response. If you intend to use this feature, you must contact the Certification team.

Additionally, you can select the payment method by supplying the PaymentType parameter. Currently, we support only the GIFT PaymentType.

Sample request string
http://[CED-IP-Address]:8080/v2/pos?Action=InitiateKeyedEntry&Format=XML

http://[CED-IP-Address]:8080/v2/pos?Action=InitiateKeyedEntry&PaymentType=GIFT&Format=XML

 
Additional Connection Methods

Keyed Entry Request Parameters

Name Type Size Description
PaymentType String 1-5 (Optional) The payment type that will be used for the keyed entry. This has the same result as pressing the payment method button. Currently, we support only the GIFT PaymentType.

Keyed Entry Response Parameters

Name Type Description
Status String The status of the transaction. Values can be Success, Failure or Declined.

Examples

XML Response example:

<?xml version="1.0" encoding="utf-8"?>
<InitiateKeyedEntryResult>
    <Status>Success</Status>
</InitiateKeyedEntryResult>
                

JSON Response example:

{
  "Status": "Success"
}
 

4 Initiate Keyed Sale

Note: This is a deprecated method. Please use the Intiate Keyed Entry method instead.

Action=InitiateKeyedSale Sends a request to the CED to process manual entry of PAN, Expiration Date, CVV and Zip. This function can only be used while the payment selection is active for an existing transaction. Using this function without an existing sale on the device will result in a failed response. If you intend to use this feature you must contact the Certification team.

Sample request string
http://[CED-IP-Address]:8080/v1/pos?Action=InitiateKeyedSale&Format=XML
Additional Connection Methods

Keyed Sale Response Parameters

Name Type Description
Status String The status of the transaction. Values can be Success, Failure or Declined.

Examples

XML Response example:

<?xml version="1.0" encoding="utf-8"?>
<InitiateKeyedSaleResult>
    <Status>Success</Status>
</InitiateKeyedSaleResult>
                

JSON Response example:

{
  "Status": "Success"
}
 

Extended Functionality

The following methods provide the ability to implement post-sale functions such as Voids, Refunds etc. These functions use the transaction result token (no card number needed). The Genius CED device does not get used for these transactions and they are sent directly to the MerchantWARE gateway.

CREDIT ENDPOINT https://ps1.merchantware.net/Merchantware/ws/RetailTransaction/v4/Credit.asmx
GIFT ENDPOINT https://ps1.merchantware.net/Merchantware/ws/ExtensionServices/v4/Giftcard.asmx

Supported Functions

1 Void Cancels a prior credit transaction, such as a sale or refund.
2 Refund The Refund web method issues a credit card refund to a customer from a prior transaction reference.
3 Post-Authorization The post-authorization web method captures a previously authorizes card (using preauth) and marks it ready for settlement using the token.
4 Repeat Sale Transaction The RepeatSale web method charges a customer's credit card from a prior transaction.
5 Settle Batch (Close Day) Batches out a merchant's outstanding transactions for settlement.
6 Stored Value - Activate Activates a new card by adding the initial value.
7 Stored Value- Add Value Adds additional value to an existing card.
8 Stored Value - Balance Inquiry Checks the balance on a card.

1 Void Transaction

The Void Cancels a prior credit transaction, such as a sale or refund. Once the transaction is voided and settled, the authorization falls off the cardholder's card and does not appear on their monthly statement. Once settled, depending on the issuing back of the card, the authorization should disappear within 24-48 hours. The CREDIT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Credit/Void

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
token String 1-100 The token identifier returned from a previous transaction.
registerNumber String 0-100 The identifier for the register or point of sale device submitting the transaction.
merchantTransactionId String 0-100 The merchant-defined identifier for the transaction.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
AvsResponse String A string describing the result of an AVS lookup.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
CardType int (CardType) The issuer type of payment card used in a transaction. This value matches up with the CardType enumeration.
CvResponse String A string describing the result of a Card Verification or CVD check.
EntryMode int (POSEntryType) A value from the POSEntryType enumeration indicating the method used to submit a transaction.
ErrorMessage String A message indicating why the transaction could not be processed.
ExtraData String Contains extra information, when applicable.
InvoiceNumber String The invoice or order number associated with the transaction.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionType int The type of transaction, and this value matches up with the TransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
    <Void xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <token>768450</token>
    <registerNumber/>
    <merchantTransactionId/>
</Void>
</soap:Body>
</soap:Envelope>
                

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
    <VoidResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <VoidResult>
        <Amount>5.00</Amount>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <AuthorizationCode>MC0110</AuthorizationCode>
        <AvsResponse/>
        <Cardholder/>
        <CardNumber/>
        <CardType>0</CardType>
        <CvResponse/>
        <EntryMode>0</EntryMode>
        <ErrorMessage/>
        <ExtraData/>
        <InvoiceNumber/>
        <Token>1236564</Token>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <TransactionType>7</TransactionType>
    </VoidResult>
</VoidResponse>
</soap:Body>
</soap:Envelope>
                

2 Refund Transaction

The Refund The Refund web method issues a credit card refund to a customer from a prior transaction reference. The CREDIT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Credit/Refund

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
invoiceNumber String 0-8 The invoice or order number associated with the transaction.
token String 1-100 The token identifier returned from a previous transaction.
overrideAmount String (double) 0-100 The desired refund amount if different from the amount of the original transaction.
registerNumber String 0-100 The identifier for the register or point of sale device submitting the transaction.
merchantTransactionId String 0-100 The merchant-defined identifier for the transaction.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
AvsResponse String A string describing the result of an AVS lookup.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
CardType int (CardType) The issuer type of payment card used in a transaction. This value matches up with the CardType enumeration.
CvResponse String A string describing the result of a Card Verification or CVD check.
EntryMode int (POSEntryType) A value from the POSEntryType enumeration indicating the method used to submit a transaction.
ErrorMessage String A message indicating why the transaction could not be processed.
ExtraData String Contains extra information, when applicable.
InvoiceNumber String The invoice or order number associated with the transaction.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionType int The type of transaction, and this value matches up with the TransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <Refund xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>rbr0100</invoiceNumber>
    <token>654982</token>
    <overrideAmount>1.01</overrideAmount>
    <registerNumber/>
    <merchantTransactionId/>
</Refund>
</soap:Body>
</soap:Envelope>
                

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <RefundResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <RefundResult>
        <Amount>5.00</Amount>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <AuthorizationCode>MC0110</AuthorizationCode>
        <AvsResponse/>
        <Cardholder/>
        <CardNumber/>
        <CardType>0</CardType>
        <CvResponse/>
        <EntryMode>0</EntryMode>
        <ErrorMessage/>
        <ExtraData/>
        <InvoiceNumber/>
        <Token>1236564</Token>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <TransactionType>7</TransactionType>
    </RefundResult>
</RefundResponse>
</soap:Body>
</soap:Envelope>
                

3 Post-authorization Transaction

The Post-Authorization The post-authorization web method captures a previously authorized card (using preauth) and marks it ready for settlement using the token. The CREDIT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Credit/PostAuthorization

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
invoiceNumber String 0-8 The invoice or order number associated with the transaction.
token String 1-100 The token identifier returned from a previous transaction.
amount String (double) 0-100 The desired final amount if different from the amount of the pre-auth transaction.
registerNumber String 0-100 The identifier for the register or point of sale device submitting the transaction.
merchantTransactionId String 0-100 The merchant-defined identifier for the transaction.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
AvsResponse String A string describing the result of an AVS lookup.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
CardType int (CardType) The issuer type of payment card used in a transaction. This value matches up with the CardType enumeration.
CvResponse String A string describing the result of a Card Verification or CVD check.
EntryMode int (POSEntryType) A value from the POSEntryType enumeration indicating the method used to submit a transaction.
ErrorMessage String A message indicating why the transaction could not be processed.
ExtraData String Contains extra information, when applicable.
InvoiceNumber String The invoice or order number associated with the transaction.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionType int The type of transaction, and this value matches up with the TransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <PostAuthorization xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>PA0098</invoiceNumber>
    <token>1567894</token>
    <amount>1.56</amount>
    <registerNumber/>
    <merchantTransactionId/>
</PostAuthorization>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <PostAuthorizationResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <PostAuthorizationResult>
        <Amount>5.00</Amount>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <AuthorizationCode>MC0110</AuthorizationCode>
        <AvsResponse/>
        <Cardholder/>
        <CardNumber/>
        <CardType>0</CardType>
        <CvResponse/>
        <EntryMode>0</EntryMode>
        <ErrorMessage/>
        <ExtraData/>
        <InvoiceNumber/>
        <Token>1236564</Token>
        <TransactionDate>10/10/2008 1:13:55PM
    </TransactionDate>
    <TransactionType>7</TransactionType>
</PostAuthorizationResult>
</PostAuthorizationResponse>
</soap:Body>
</soap:Envelope>
                

4 Repeat Sale Transaction

The REPEATSALE The RepeatSale web method charges a customer's credit card from a prior transaction. The CREDIT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Credit/RepeatSale

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
InvoiceNumber String 0-8 The invoice or order number associated with the transaction.
token String 1-100 The token identifier returned from a previous transaction.
overrideAmount String (double) 0-100 The amount of the sale if different from the original transaction amount.
expirationDate String 4 The expiration date of the payment card in MMYY format.
avsStreetAddress String 0-100 The street address associated with the payment card for use in address verification system (AVS) checks.
avsStreetZipCode String 0, 5 or 9 The ZIP Code associated with the payment card for use in address verification system (AVS) checks.
registerNumber String 0-100 The identifier for the register or point of sale device submitting the transaction.
merchantTransactionId String 0-100 The merchant-defined identifier for the transaction.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
AuthorizationCode String Authorization Code issued by the processor upon receipt of a transaction.
AvsResponse String A string describing the result of an AVS lookup.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
CardType int (CardType) The issuer type of payment card used in a transaction. This value matches up with the CardType enumeration.
CvResponse String A string describing the result of a Card Verification or CVD check.
EntryMode int (POSEntryType) A value from the POSEntryType enumeration indicating the method used to submit a transaction.
ErrorMessage String A message indicating why the transaction could not be processed.
ExtraData String Contains extra information, when applicable.
InvoiceNumber String The invoice or order number associated with the transaction.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionType int The type of transaction, and this value matches up with the TransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <RepeatSale xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>rs030109</invoiceNumber>
    <token>164682</token>
    <overrideAmount>1.15</overrideAmount>
    <expirationDate>1208</expirationDate>
    <avsStreetAddress>25</avsStreetAddress>
    <avsStreetZipCode>02110</avsStreetZipCode>
    <registerNumber/>
    <merchantTransactionId/>
</RepeatSale>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <RepeatSaleResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <RepeatSaleResult>
        <Amount>5.00</Amount>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <AuthorizationCode>MC0110</AuthorizationCode>
        <AvsResponse/>
        <Cardholder/>
        <CardNumber/>
        <CardType>0</CardType>
        <CvResponse/>
        <EntryMode>0</EntryMode>
        <ErrorMessage/>
        <ExtraData/>
        <InvoiceNumber/>
        <Token>1236564</Token>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <TransactionType>7</TransactionType>
    </RepeatSaleResult>
</RepeatSaleResponse>
</soap:Body>
</soap:Envelope>

5 Settle Batch (Close Day)

The SETTLEBATCH Batches out a merchant's outstanding transactions for settlement. This should be done every 24 hours to avoid downgraded transactions. Most merchants that do not accept tips can be set up for auto settlement on the gateway which would not require this call. Please contact support for more information about auto settlement options. The CREDIT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Credit/SettleBatch

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.

Response Parameters

Name Type Description
AuthorizationCode String The Authorization Code or other batch identifier issued by the processor.
BatchAmount String (double) The sum of all transactions within the batch.
BatchStatus String The status of a batch; indicates success or failure.
ErrorMessage String A message indicating why the transaction could not be processed.
ExtraData String Contains extra information, when applicable.
Token String The identifier received by the Merchantware client when a batch has been issued. If present, this value may be used to lookup a specific batch in the history log. Depending on the processor, this value may be blank.
TransactionCount int The number of transactions within the batch.
TransactionDate String (DateTime, UTC) The date and time when a batch was received, in UTC time.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <SettleBatch xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
</SettleBatch>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <SettleBatchResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Credit/">
    <SettleBatchResult>
        <AuthorizationCode>155</AuthorizationCode>
        <BatchAmount>7.15</BatchAmount>
        <BatchStatus>SUCCESS</BatchStatus>
        <ErrorMessage/>
        <ExtraData/>
        <Token/>
        <TransactionCount>6</TransactionCount>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
    </SettleBatchResult>
</SettleBatchResponse>
</soap:Body>
</soap:Envelope>

6 Stored Value - Activate

The ActivateCardKeyed Activates a new card by adding the initial value. The GIFT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Giftcard/ActivateCardKeyed

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
invoiceNumber String 0-8 The invoice or order number associated with the transaction.
amount String (double) 1-100 The dollar amount to be added to the card.
cardNumber String 10-19 The PAN or card number of the payment card.
extraData String 0-200 The place to add additional optional parameters to the transaction. Please see Notes for detailed description.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction if it has been approved.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
CardBalance String (double) The amount balance of the card.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
EntryMode int (POSEntryType) A value from the POSEntryType enumeration indicating the method used to submit a transaction.
ErrorMessage String A message indicating why the transaction could not be processed.
ExpirationDate String (date) The expiration date of the card.
ExtraData String Contains extra information, when applicable.
MiscMessage String This is a string to give merchant additional message to display on receipt.
ResponseMessage String This is a string describing the result of an ApprovalStatus.
Token String The identifier received by the Merchantware client when a transaction has been issued. This value may be used to lookup a specific transaction in the history log.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionId String The TransactionID is the invoice or order number associated with the transaction.
TransactionType int (GiftTransactionType) The type of transaction, and this value matches up with the GiftTransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <ActivateCardKeyed xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>Transaction1000</invoiceNumber>
    <amount>5.15</amount>
    <cardNumber>123456789012345</cardNumber>
    <extraData>Clerk_Id=20;Ticket=Ticket100</extraData>
</ActivateCardKeyed>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <ActivateCardKeyedResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard">
    <ActivateCardKeyedResult>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <ResponseMessage>928061</ResponseMessage>
        <MiscMessage/>
        <Token>MC0110</Token>
        <TransactionID>Transaction1000</TransactionID>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <Cardholder/>
        <CardBalance>100.00</CardBalance>
        <Amount>5.15</Amount>
        <ExpirationDate>080729</ExpirationDate>
        <CardNumber>***********2345</CardNumber>
        <Type>6</Type>
        <EntryMode>1</EntryMode>
        <ExtraData/>
    </ActivateCardKeyedResult>
</ActivateCardKeyedResponse>
</soap:Body>
</soap:Envelope>

7 Stored Value - Add Value

The AddValueKeyed Adds additional value to an existing card. The GIFT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Giftcard/AddValueKeyed

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
invoiceNumber String 0-8 The invoice or order number associated with the transaction.
amount String (double) 1-100 The dollar amount to be added to the card.
cardNumber String 10-19 The PAN or card number of the payment card.
extraData String 0-200 The place to add additional optional parameters to the transaction. Please see Notes for detailed description.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction if it has been approved.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
CardBalance String (double) The amount balance of the card.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
EntryMode int (POSEntryType) This describes the method used to submit a transaction. This value matches up with the POSEntryType enumeration.
ErrorMessage String This field contains a message describing the reason the transaction could not complete.
ExpirationDate String (date) The expiration date of the card.
ExtraData String This is a string reserved for future use.
MiscMessage String This is a string to give merchant additional message to display on receipt.
ResponseMessage String This is a string describing the result of an ApprovalStatus.
Token String This is a transaction identifier issued by the provider once a transaction is processed.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionId String The TransactionID is the invoice or order number associated with the transaction.
TransactionType int (GiftTransactionType) The type of transaction, and this value matches up with the GiftTransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <AddValueKeyed xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>Transaction1000</invoiceNumber>
    <amount>5.15</amount>
    <cardNumber>123456789012345</cardNumber>
    <extraData>Clerk_Id=20;Ticket=Ticket100</extraData>
</AddValueKeyed>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <AddValueKeyedResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard">
    <AddValueKeyedResult>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <ResponseMessage>928061</ResponseMessage>
        <MiscMessage/>
        <Token>MC0110</Token>
        <TransactionID>Transaction1000</TransactionID>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <Cardholder/>
        <CardBalance>100.00</CardBalance>
        <Amount>5.15</Amount>
        <ExpirationDate>080729</ExpirationDate>
        <CardNumber>***********2345</CardNumber>
        <Type>2</Type>
        <EntryMode>1</EntryMode>
        <ExtraData/>
    </AddValueKeyedResult>
</AddValueKeyedResponse>
</soap:Body>
</soap:Envelope>

8 Stored Value - Balance Inquiry

The BalanceInquiryKeyed Checks the balance on a card. The GIFT ENDPOINT should be used.

Content-Type: text/xml; charset=utf-8
SOAPAction: http://schemas.merchantwarehouse.com/merchantware/40/Giftcard/BalanceInquiryKeyed

Request Parameters

Name Type Size Description
merchantName String 1-160 The name of the business or organization owning the Merchantware account.
merchantSiteId String 8-160 The site identifier of a location or storefront owned by the Merchantware account owner.
merchantKey String 1-160 The software key or password for the site accessing a Merchantware account.
invoiceNumber String 0-8 The invoice or order number associated with the transaction.
cardNumber String 10-19 The PAN or card number of the payment card.
extraData String 0-200 The place to add additional optional parameters to the transaction. Please see Notes for detailed description.

Response Parameters

Name Type Description
Amount String (double) The amount of the transaction if it has been approved.
ApprovalStatus String The Status of the transaction, whether approved or declined. This value may also have other definitions depending on CardType and context.
CardBalance String (double) The amount balance of the card.
Cardholder String The Cardholder associated with the payment card used in a transaction.
CardNumber String A string representing the truncated card number of the payment card used in a transaction.
EntryMode int (POSEntryType) This describes the method used to submit a transaction. This value matches up with the POSEntryType enumeration.
ErrorMessage String This field contains a message describing the reason the transaction could not complete.
ExpirationDate String (date) The expiration date of the card.
ExtraData String This is a string reserved for future use.
MiscMessage String This is a string to give merchant additional message to display on receipt.
ResponseMessage String This is a string describing the result of an ApprovalStatus.
Token String This is a transaction identifier issued by the provider once a transaction is processed.
TransactionDate String (DateTime, UTC) The date and time when a transaction is issued, in UTC time.
TransactionId String The TransactionID is the invoice or order number associated with the transaction.
TransactionType int (GiftTransactionType) The type of transaction, and this value matches up with the GiftTransactionType enumeration.

Examples

Soap Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <BalanceInquiryKeyed xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard">
    <merchantName>Zero Inc.</merchantName>
    <merchantSiteId>00000000</merchantSiteId>
    <merchantKey>00000-00000-00000-00000-00000</merchantKey>
    <invoiceNumber>Transaction1000</invoiceNumber>
    <cardNumber>123456789012345</cardNumber>
    <extraData>Clerk_Id=20;Ticket=Ticket100</extraData>
</BalanceInquiryKeyed>
</soap:Body>
</soap:Envelope>

Soap Response Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <BalanceInquiryKeyedResponse xmlns="http://schemas.merchantwarehouse.com/merchantware/40/Giftcard/">
    <BalanceInquiryKeyedResult>
        <ApprovalStatus>APPROVED</ApprovalStatus>
        <ResponseMessage>928061</ResponseMessage>
        <MiscMessage/>
        <Token>MC0110</Token>
        <TransactionID>Transaction1000</TransactionID>
        <TransactionDate>10/10/2008 1:13:55 PM</TransactionDate>
        <Cardholder/>
        <CardBalance>100.00</CardBalance>
        <PointsBalance>100</PointsBalance>
        <LifePointsBalance>200</LifePointsBalance>
        <ExpirationDate>080729</ExpirationDate>
        <CardNumber>***********2345</CardNumber>
        <Type>5</Type>
        <EntryMode>1</EntryMode>
        <ExtraData/>
    </BalanceInquiryKeyedResult>
</BalanceInquiryKeyedResponse>
</soap:Body>
</soap:Envelope>

Testing

The following section provides information for testing the interaction with the Genius device during the integration process. If a terminal is not being used during integration/certification, please use the below Genius Emulator URL in place of the terminal local IP address. The emulator page will simulate the responses from the device in XML, JSON or JSONP format.

Response Emulator
You may use the below test amounts and test IP to emulate CED responses. The initial call to stage the transaction should be performed to the simulator-transport.merchantware.net server and then the CED call should be made to the emulator at the 205.219.72.106 IP address. Any credentials can be used for these tests. 

Staging call endpoint https://simulator-transport.merchantware.net/v4/transportService.asmx
CED request example (XML) http://205.219.72.106:8080/v2/pos?TransportKey=111111-111111-111111-111111-111111&Format=XML
CED request example (JSON) http://205.219.72.106:8080/v2/pos?TransportKey=111111-111111-111111-111111-111111&Format=JSON

Test Script Form

Please download the test script and email it to integrations@cayan.com for review. Once the Cayan integration team receives the completed form, we will certify your application within 24 business hours or we will notify you of any complications with the test transactions.

Download Test Script