Overview

A Terms and Conditions request is initiated to check if the given Credit Card has any Financial rates, terms and conditions that the shopper needs to acknowledge.

URI Summary

Action URI Template URI Example Non-URI Request Response
POST /v[M.m]/stores/[StoreId]/
payments/termsandconditions/lookup/
[TenderCode].[format]
/v1.0/store/store123/
payments/termsandconditions/lookup/GE.xml
XML 200 + XML response

Request Example

The request is a TermsAndConditionsRequest message.

Copy
<TermsAndConditionsRequest requestId="54321" xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>12345</OrderId>
      <PaymentAccountUniqueId isToken="false">6034591400000001</PaymentAccountUniqueId>
   </PaymentContext>
   <Amount currencyCode="USD">100.00</Amount>
   <ExpirationDate>2013-09</ExpirationDate>
   <CardSecurityCode>123</CardSecurityCode>
   <BillingAddress>
      <Line1>123 Main St</Line1>
      <Line2>Building 123</Line2>
      <Line3>4th Floor</Line3>
      <Line4>Apt 12</Line4>
      <City>Philadelphia</City>
      <MainDivision>PA</MainDivision>
      <CountryCode>US</CountryCode>
      <PostalCode>19019</PostalCode>
   </BillingAddress>
   <PaymentPlanCode>PROMO</PaymentPlanCode>
</TermsAndConditionsRequest>

Request Elements

Element Required Description Type Restriction
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 transactions that the client initiates with this service. String Max 20 characters
PaymentContext/
PaymentAccountUniqueId
Yes - Either PaymentAccount UniqueId or EncryptedPayment AccountUniqueId must be present. Either a raw PAN (payment account number such as a credit card number) or a token representing a PAN String Max 22 characters
PaymentContext/
PaymentAccountUniqueId
@isToken
Yes (when PaymentAccount UniqueId is present) Attribute that indicates whether the payment account number is tokenized String true or false
PaymentContext/
EncryptedPayment
AccountUniqueId
Yes - Either PaymentAccount UniqueId or EncryptedPayment AccountUniqueId must be present. Client encrypted PAN. Used for clients who use client side encryption to encrypt credit card numbers in the JavaScript that runs in their browser. For a webstores that is not PCI compliant, this ensures that the webstore never sees raw PANs. String Max 1000 characters
Amount Yes Currency amount being authorized on the private label credit card String

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

Amount/
@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.
ExpirationDate No Expiration date of the credit card String yyyy-MM (year followed by month)
CardSecurityCode No - Either CardSecurityCode or EncryptedCardSecurityCode. CVV2 code on the back of the credit card String 3 or 4 digits

EncryptedCardSecurityCode

No - Either CardSecurityCode or EncryptedCardSecurityCode. Encrypted CVV2 code on the back of the credit card String 1000 digits
BillingAddress No Billing address of the credit card ComplexType
BillingAddress/
Line1
Yes Line# components of the billing street address and, if necessary, suite and building identifiers for the physical address. Line1 is required. Other Line# components are optional. String Max 70 characters
BillingAddress/
Line2
No String Max 70 characters
BillingAddress
Line3
No String Max 70 characters
BillingAddres
Line4
No String Max70 characters
BillingAddress/
City
Yes Name of the city String Max 40 characters
BillingAddress/
MainDivision
Yes Two- or three-digit postal abbreviation for the state or province. The ISO 3166-2 code is recommended, but not required. See http://en.wikipedia.org/wiki/ISO_3166-2. String Max 30 characters
BillingAddress/
CountryCode
Yes

Two digit ISO 3166 alpha 2 code country code. See: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.

String 2 characters
BillingAddress/
PostalCode
Depends on country. Yes for US and Canada String of letters and/or numbers that specifies the delivery area more closely than the city alone (for example, US ZIP code) String Max 30 characters
PaymentPlanCode No Store plan code typically used for discounts, special offers, and promotions String
requestId Yes RequestId is used to uniquely identify a request, including as part of idempotent duplicate request processing. The value must be unique. It is recommended to use a variant 4 UUID for the request ID. The same request ID should only be reused if a read timeout occurs when attempting to receive a response from the payment service, or the payment service responds with a fault response. In all other cases a new request ID must be sent for retried requests, including responses such as Fail, Timeout or PaymentProcessorTimeout. String Up to 40 Characters.

Success Response Example

The response is a TermsAndConditionsReply message.

Copy
<TermsAndConditionsReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>12345</OrderId>
      <PaymentAccountUniqueId isToken="true">6034590x1xY30001</PaymentAccountUniqueId>
   </PaymentContext>
   <ResponseCode>Success</ResponseCode>
   <TermsAndConditionsText>Fixed</TermsAndConditionsText>
   <FinanceRate>19.7000</FinanceRate>
</TermsAndConditionsReply>

Fail Response Example

The response is a TermsAndConditionsReply message.

Copy
<TermsAndConditionsReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
   <PaymentContext>
      <OrderId>12345</OrderId>
      <PaymentAccountUniqueId isToken="true">6034590x1xY30001</PaymentAccountUniqueId>
   </PaymentContext>
   <ResponseCode>Fail</ResponseCode>
</TermsAndConditionsReply>

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 transactions 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 PLCCAuthReply message, this attribute is always set to true. String true
ResponseCode Yes

Response Code returned from Payment Service.

String Success, Fail or Timeout
TermsAndConditionsText No

Contains terms and conditions text, if there is any available for the requested paymentAccount. In case of APR related request, this text would contain values Fixed, Variable etc.

String Max 1000 characters
FinanceRate No

Contains financial rate related information, if there is any available for the requested paymentAccount.

String Max 64 characters