Terms and Conditions
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.
<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.
<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.
<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 |