Express Credit Transactions

Document created by matthew.milner on May 10, 2016Last modified by Chris Jennings on Aug 9, 2016
Version 6Show Document
  • View in full screen mode

Credit card transactions:

 

The Express processing platform supports a variety of different types of transactions for multiple payment types. You can code Express payment transactions in your language of choice. Examples are available at http://github.com/elementps.

 

The Sale transaction is used for the purchase of goods or services. This type of transaction compares the cardholder’s credit limit to the amount specified in the transaction. If the amount specified is available, the credit card issuer approves the transaction and an approval code is returned. If the amount is not available or the transaction is denied for any other reason by the issuer, an error message containing the reason is returned

 

 

CreditCardSale

 

The Sale transaction is used for the purchase of goods or services. This type of transaction compares the cardholder’s credit limit to the amount specified in the transaction. If the amount specified is available, the credit card issuer approves the transaction and an approval code is returned. If the amount is not available or the transaction is denied for any other reason by the issuer, an error message containing the reason is returned.

 

<CreditCardSale xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Transaction> 
        <TransactionAmount>6.55</TransactionAmount> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardSale> 

 

 

CreditCardAuthorization

 

An Authorization is used to verify funds when the total amount of the purchase is unknown. A sample Authorization transaction is shown below.

 

<CreditCardAuthorization xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Transaction> 
        <TransactionAmount>9.99</TransactionAmount> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardAuthorization> 

 

 

CreditCardAuthorizationCompletion

 

A CreditCardAuthorizationCompletion transaction is used to complete the final amount of a previously Authorized transaction.

 

For example, restaurants use Authorization Completions to enter in the final total amount after a customer has added a tip and signed a receipt. The Authorization Completion can be entered for any amount up to an allowable excess limit. The allowable excess limit is determined by the card association.

 

A sample CreditCardAuthorizationCompletion transaction is shown below:

 

<CreditCardAuthorizationCompletion xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID></AccountID> 
        <AccountToken></AccountToken> 
        <AcceptorID></AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID></ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Transaction> 
        <TransactionAmount>45.44</TransactionAmount> 
        <TransactionID>4534665765</TransactionID> 
        <TipAmount>45.44</TipAmount> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardAuthorizationCompletion>

 

 

CreditCardAVSOnly 

 

This type of transaction only returns AVS information and does not request authorization.

 

The format of the AVS information is exactly the same as that used for the CreditCardSale transaction except that the transaction amount should be set to $0.00 and address information (Billing Address and Zip code) is provided.

 

A sample CreditCardAVSOnly transaction is shown below:

 

<CreditCardAVSOnly xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode>
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Address> 
        <BillingAddress1>Main Street</BillingAddress1> 
        <BillingZipcode>12345</BillingZipcode> 
    </Address> 
    <Transaction> 
        <TransactionAmount>0.00</TransactionAmount> 
        <TicketNumber>13543467664</TicketNumber> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardAVSOnly>

 

 

CreditCardCredit / CreditCardReturn

 

A CreditCardCredit transaction is used to refund a cardholder for a previous transaction. A CreditCardReturn transaction is like a CreditCardCredit except that it requires a Transaction ID from the original dependent transaction.

 

This type of transaction might be used when a customer returns merchandise and wants a refund.

 

A sample CreditCardReturn transaction is shown below. Note that it is not necessary to provide card information since this is known to the system based on the Transaction ID. The CreditCardReturn transaction can only be used within 120 days of the initial associated transaction.

 

<CreditCardReturn xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Transaction> 
        <TransactionAmount>49.99</TransactionAmount> 
        <TransactionID>15343365</TransactionID> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardReturn> 

 

 

CreditCardReversal

 

There are three types of CreditCardReversal transactions:

  1. Communications/System reversals – this type of reversal is generated when there is a transmission problem delivering the response back to the POS. It is the transaction requestor’s responsibility to generate a Reversal transaction for all transactions that do not receive a response.
  2. Full Reversals – A Point of Sale (POS) Generated Reversal or Full reversal may be initiated to remove an approved transaction from a batch, even when the cardholder is not present. Reversals however, must be done while the batch is open.
  3. Partial Reversals – A Partial Reversal transaction decreases the total authorization amount of a previously authorized transaction. Partial reversals are required by some card associations to bring the authorized and clearing amounts into specific tolerances.

An example of a POS generated / Full reversal is shown below. The value of “1” for the ReversalType tag indicates a full reversal.

 

<CreditCardReversal xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Transaction> 
        <ReversalType>1</ReversalType> <!--Reversal type of 1 for Full Reversal--> 
        <TransactionAmount>1</TransactionAmount> 
        <MarketCode>7</MarketCode> 
        <TicketNumber>234436554247</TicketNumber> 
        <TransactionID>132465454</TransactionID> 
    </Transaction> 
</CreditCardReversal> 

 

 

CreditCardForce

 

A Force transaction is used to add a credit card transaction to a batch after-the-fact. Generally, Force transactions are used to insert previously authorized, but not captured transactions. A Force transaction might be used under the following circumstances:

  1. Timeout – if the merchant is unable to perform an online transaction
  2. Referral – if the merchant receives an on-line referral message in response to an online transaction (i.e. Call ND, Call AR, etc).
  3. AI Reponses – The AI (Approved with positive ID) usually results from a person using a card for the first time

 

A sample CreditCardForce transaction is shown below:

 

<CreditCardForce xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Card> 
        <CardNumber>5499990123456781</CardNumber> 
        <ExpirationMonth>12</ExpirationMonth> 
        <ExpirationYear>19</ExpirationYear> 
    </Card> 
    <Transaction> 
        <TransactionAmount>6.55</TransactionAmount> 
        <ApprovalNumber>VE4H83T</ApprovalNumber> 
        <TicketNumber>1322365654446548</TicketNumber> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardForce>

 

 

CreditCardVoid

 

A CreditCardVoid transaction is used to completely back out a previous Sale transaction. This applies to all transactions that were entered into the current batch, and only for the full dollar amount of the original transaction.

A sample CreditCardVoid transaction is shown below:

 

<CreditCardVoid xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Transaction> 
        <TransactionID>65446844386</TransactionID> 
    </Transaction> 
</CreditCardVoid> 

 

 

CreditCardAdjustment

 

The CreditCardAdjustment transaction is used to edit the information on the host for a previously completed credit card transaction (e.g. Level III Line Item Detail). Depending on the platform, this transaction can also be used to correct the Host batch to match the merchant’s paper slips when a discrepancy exists.

 

An example is provided below:

 

<CreditCardAdjustment xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Transaction> 
        <TransactionAmount>6.55</TransactionAmount> 
        <TransactionID>5437653458</TransactionID> 
        <MarketCode>7</MarketCode> 
        <CommercialCardCustomerCode>945845698754725</CommercialCardCustomerCode > 
    </Transaction> 
</CreditCardAdjustment> 

 

 

CreditCardIncrementalAuthorization (for Auto Rental and Lodging)

 

CreditCardIncrementalAuthorization transactions are used to authorize an additional amount to an original Auto Rental or Lodging industry authorization transaction. This method is used on the TSYS and FDC platforms only. Only Visa cards support incremental authorizations.

 

<CreditCardSale xmlns="https://transaction.elementexpress.com"> 
    <Credentials> 
        <AccountID>INSERT HERE</AccountID> 
        <AccountToken>INSERT HERE</AccountToken> 
        <AcceptorID>INSERT HERE</AcceptorID> 
    </Credentials> 
    <Application> 
        <ApplicationID>INSERT HERE</ApplicationID> 
        <ApplicationVersion>1.0</ApplicationVersion> 
        <ApplicationName>Express.CSharp</ApplicationName> 
    </Application> 
    <Terminal> 
        <TerminalID>01</TerminalID> 
        <CardholderPresentCode>2</CardholderPresentCode> 
        <CardInputCode>5</CardInputCode> 
        <TerminalCapabilityCode>3</TerminalCapabilityCode> 
        <TerminalEnvironmentCode>2</TerminalEnvironmentCode> 
        <CardPresentCode>2</CardPresentCode> 
        <MotoECICode>1</MotoECICode> 
        <CVVPresenceCode>1</CVVPresenceCode> 
    </Terminal> 
    <Transaction> 
        <TransactionAmount>5.00</TransactionAmount> 
        <TransactionID>5434598776564</TransactionID> 
        <TicketNumber>098724507780974675</TicketNumber> 
        <MarketCode>7</MarketCode> 
    </Transaction> 
</CreditCardSale> 

Attachments

    Outcomes