Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 38 Next »

The shopping cart allows you to buy various products of a vendor in any number via AffiliCon GmbH. Since AffiliCon only makes payment processing, the shopping cart must be integrated on the vendor side (for example in a shop, website or landingpage).

Description

Widgets

Cart Widget

The shopping cart is displayed to the end user in a pop-up and fold-out widget on the page. The widget can be positioned anywhere on the page. In the initial state, the Cart widget is collapsed and square.  It can be opened and closed with a click.

Eingeklapptes Cart WidgetAusgeklapptes Cart WidgetCart Widget ausklappen (gif)

As soon as products are placed in the shopping cart, the widget displays the number of products in the folded-in state.

Changes in the shopping cart can be made in the widget. All changes made to the shopping cart are displayed in real time. So it is not necessary to reload the page.

Add-Product Widget

The Add-Product widget allows you to add products to your shopping cart. Currently this CTA button can not be changed.

 

Payment Processing

As it is the case with all previous product purchases, payment processing for the consumer basket is carried out in the order page of AffiliCon GmbH. Clicking the checkout button opens the AffiliCon order page in a new tab.

Multilingualism (I18n)

The widgets can be used in all languages supported by AffiliCon.

Functionality

The integrated shopping cart works with websockets and iframes. The Add-Product widget sends a request to the AffiliCon system. AffiliCon then informs the Cart widget of the change. The Cart Widget then asks the AffiliCon API for the new values.

Technical Integration

The shopping cart is integrated by iframes. These can be positioned anywhere in the shop or in the product landing page.

Add-Product Widget

Use the following code to integrate:

Add-Product Widget
<iframe style="width: 200px; height: 100px;" src="https://secure.affilibank.de/widget/cart/add?productId={Produkt-Id}&countryId={Country-Id}&customStyles={Custom-Styles}" width="400" height="250" frameborder="0"></iframe>

Following placeholders need to be substituted:

PlaceholderPossible valuesDescription
{Produkt-Id}
Alle unsigned integer

Product id is shown in product list of your vendor account.

{Country-Id}
"de", "en", ....

The language to translate the add-product widget into.

{Custom-Styles}
stringUrl-encoded JSON-string that describes the styles, see definition below.

Cart Widget

Use the following code to integrate. Use the styling attributes bottom: 0px; right: 0px; to determine the position of the widget.

Cart Widget
<iframe id="cartWidget" style="position: fixed; z-index: 9999; bottom: 0px; right: 0px;" src="https://secure.affilibank.de/widget/cart?countryId={Country-Id}&vendor={Vendor}&formConfig={Form-Configuration}&customStyles={Custom-Styles}" frameborder="0"></iframe>

Following placeholders need to be substituted:

PlaceholderPossible valuesDescription
{Vendor}
string

The name / id of the vendor on the platform

{Country-Id}
"de", "en", ....

The country id in this case determines the country for the delivery address. The value added tax is also initially calculated using this parameter. Can be changed again in the order form

{Form-Configuration}
12345

If you want to assign a configuration of an existing product to the order form in the checkout, enter the product ID of the corresponding product for the formConfig parameter.

{Custom-Styles}
stringUrl-encoded JSON-string that describes the styles, see definition below.


To prevent the Cart widget from covering the target page with a transparent element in the folded-in state, a Javascript must be installed in the target page.

Einbinden des Javascripts zur Steuerung des Cart Widget
<script src="https://secure.affilibank.de/_files/js/cart_widget.js"></script>

Custom Styles

In order to ensure that vendors have the opportunity to define custom styles for specific elements, it is possible to specify custom styles in the URL of the iframe. At the moment the following element can be styled:

Element nameElement key
Product name
productName
Product price
productPrice
"Add to Cart" Button
addToCartButton
"Buy now" Button
buyNowButton


The mapping of the element keys to the elements is illustrated in the following diagrams:


The custom styles should be specified in the JSON-format, for example as follows:

Example of the custom styles configuration
{
  "buyNowButton": {
    "backgroundColor": "red"
  },
  "addToCartButton": {
    "color": "green",
    "backgroundColor": "yellow"
  },
  "productName": {
    "color": "blue"
  },
  "productPrice": {
    "color": "magenta"
  }
}


Some of the possible properties are:

Property nameDescription
color
Font color of the element
backgroundColor
Background color of the element (for example, button)

In this fashion you can specify any CSS property of the element. Notice that CSS properties that contain a hyphen ('-') should be specified in camel case (i.e. for the CSS property font-size one should write fontSize).

In order to pass these properties to the iframe, they have to be serialized (URL-encoded). For example, one can use the following tool: http://www.url-encode-decode.com/. On the left side one specifies the custom styles as in the code block above, then clicks "Encode URL", and then one gets a serialized string on the right hand side. Then one has to copy the string and pass it as the customStyles parameter to the iframe (see break-down of the iframe URL above for reference).

The resulting URL could the look somewhat like this:

Example URL of the iframe
https://secure.affilibank.de/widget/cart/add?productId=102&countryId=de&locale=de_DE&customStyles=%7B%0D%0A%20%20"buyNowButton":%20%7B%0D%0A%20%20%20%20"backgroundColor":%20"red"
%0D%0A%20%20%7D,%0D%0A%20%20"addToCartButton":%20%7B%0D%0A%20%20%20%20"color":%20"green",%0D%0A%20%20%20%20"backgroundColor":%20"yellow"%0D%0A%20%20%7D,%0D%0A%20%20
"productName":%20%7B%0D%0A%20%20%20%20"color":%20"blue"%0D%0A%20%20%7D,%0D%0A%20%20"productPrice":%20%7B%0D%0A%20%20%20%20"color":%20"magenta"%0D%0A%20%20%7D%0D%0A%7D


  • No labels