The following samples are for credit card authorization replies. These replies are common regardless of the type of authorization submitted (card not present or digital wallet).

Response Example

The response is a CreditCardAuthReply message.

Copy
<?xml version="1.0" encoding="UTF-8"?>
<CreditCardAuthReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
  <PaymentContext>
    <OrderId>12345</OrderId>
    <!-- You will receive a token in the response, which is a scrambled version of the Credit Card number.
         This token gets passed to the Order Service, not the original credit card number -->
    <PaymentAccountUniqueId isToken="true">411111adgh2y1111</PaymentAccountUniqueId>
  </PaymentContext>
  <ResponseCode>APPROVED</ResponseCode>
  <AuthorizationResponseCode>AP01</AuthorizationResponseCode>
  <BankAuthorizationCode>ABC123</BankAuthorizationCode>
  <CVV2ResponseCode>M</CVV2ResponseCode>
  <AVSResponseCode>Y</AVSResponseCode>
  <PhoneResponseCode>Y</PhoneResponseCode> <!-- American Express only -->
  <NameResponseCode>Y</NameResponseCode>  <!-- American Express only -->
  <EmailResponseCode>Y</EmailResponseCode>  <!-- American Express only -->
  <AmountAuthorized currencyCode="USD">50.00</AmountAuthorized>
  <TenderType>VC</TenderType>
  <PaymentAccountInformation>
     <BinPrefix>411111</BinPrefix>
     <PanSuffix>1111</PanSuffix>
  </PaymentAccountInformation>
</CreditCardAuthReply>

Response Elements

Element Required Description Type Restriction
PaymentContext Yes

Unique identifier of the payment transaction for the order

ComplexType  
PaymentContext/
OrderId
Yes Unique identifier of the order. The client must ensure uniqueness of OrderIds across all orders that the client initiates with this service. String Max 20 characters
PaymentContext/
PaymentAccountUniqueId
Yes

Token (scrambled version) of the PAN (payment account number such as a credit card number). When passing the PAN for the PaymentAuthCancelRequest and the PaymentSettlementRequest messages, always use the returned token, not the original PAN.

String Max 22 characters
PaymentContext/
PaymentAccountUniqueId/
@isToken
Yes Attribute that indicates whether the PAN is tokenized. In the CreditCardAuthReply message, this attribute is always set to true. String true
ResponseCode Yes

Response code of the credit card authorization. Includes approved, timeout, and several decline codes. Only orders with an approved or timeout response code are submitted to the Order Service.

See Authorization Response Codes for a list of codes.

String Max 1000 characters.

SchemaVersion in the Request Message has to be equal to or greater than 1.1 in order to receive this element

AuthorizationResponseCode Yes

Response code of the credit card authorization. This includes approval, timeout, and several decline codes. Please see supporting documentation for a full list of these codes.

String Max 1000 characters
BankAuthorizationCode Yes

Authorization code returned by the payment processor upon a successful credit card authorization.

Any order taken by the Order Service and paid by credit card MUST have this authorization code.

String Max 1000 characters
CVV2ResponseCode Yes

Payment processor response code for the CVV2 (card verification value) check.

For most credit cards, you get an approval on the ResponseCode even if the CVV2ResponseCode returns a CVV2 failure. You CANNOT accept an order if the CVV2ResponseCode returns a CVV2 failure code.

See CVV2 Response Codes for a list of codes.

String Max 3 characters
AVSResponseCode Yes

Payment processor response for the Address Verification System (AVS) check.

For most credit cards, you get an approval on the ResponseCode even if the AVSResponseCode returns an AVS failure code. It is typically considered a significant fraud risk to accept an order if the AVSResponseCode returns an AVS failure code.

See AVS Response Codes for a list of codes.

String Max 3 characters
PhoneResponseCode No (Amex only)

Response code for customer phone number verification. Only applies to Amex authorizations.

To support downstream fraud processing, this data should be included in the OrderCreateRequest for orders paid with Amex.

String Max 3 characters
NameResponseCode No (Amex only)

Response code for customer name verification. Only applies to Amex authorizations.

To support downstream fraud processing, this data should be included in the OrderCreateRequest for orders paid with Amex.

String Max 3 characters
EmailResponseCode No (Amex only)

Response code for customer email verification. Only applies to Amex authorizations.

To support downstream fraud processing, this data should be included in the OrderCreateRequest for orders paid with Amex.

String Max 3 characters
AmountAuthorized Yes Currency amount authorized on the credit card String

Positive decimal, up to two decimal places(for example, 4.75)

AmountAuthorized/
@currencyCode
Yes Type of currency used for the order String 3-character ISO 4217 code (for example, USD, CAD, EUR). See http://en.wikipedia.org/wiki/ISO_4217.
TenderType No (Always present for Digital Wallet transactions) This element identifies the tender type used for the transaction

*Note that this value might be corrected based on Bin Range identification

String 2-4 Characters

SchemaVersion in the Request Message has to be 1.2 in order to receive this element

PaymentAccountInformation/BinPrefix No Bin prefix (first 6 digits of PAN) String Max 10 characters
PaymentAccountInformation/PanSuffix No Pan Suffix (last 4 digits of a PAN) String Max 10 characters