Intégration en JAVA
Description et emplacement des fichiers à utiliser
- java/luckycart.jar : la librairie Java
- java/lc_plugin_sample.jsp : un exemple d’utilisation
- java/lc-dependencies.zip : les dépendances de la librairie
- java/lc-javadoc.zip : la documentation de la librairie
Etapes d'intégration
1. Installation de la librairie
Copiez la librairie luckycart.jar, ainsi que ses dépendances (contenu de lc-dependencies.zip), dans le dossier lib de votre application web ou de votre serveur d’application.
Attention à ne pas laisser des librairies en doublon. Il est probable que vous ayez déjà une version de log4, commons-logging ou commons-codec installée sur votre serveur d’application.
2. Inclusion de la librairie
Modifiez le code de la page de confirmation de commande pour inclure la librairie :
// Include LC library
import com.luckycart.client.LuckyCart;
import com.luckycart.client.domain.*;
3. Initialisation de la librairie et envoi des données
Toujours dans le code de la page de confirmation de commande :
// Create a LuckyCart object with your key and secret
LuckyCart luckyCart = LuckyCart.builder().setKey("key").setSecret("secret").createLuckyCart();
// Create a LuckyCartTransaction object
// Assuming data from the site are store in a customer and cart object.
LuckyCartTransaction transaction = new LuckyCartTransaction();
// mandatory data
transaction.setCustomerId(customer.getId());
transaction.setCartId(cart.getId());
transaction.setTtc(cart.getTtc());
transaction.setHt(cart.getHt());
transaction.setCountry(customer.getCountry());
transaction.setEmail(customer.getEmail());
transaction.setPayment(cart.getPayment());
transaction.setFirstName(customer.getFirstName());
transaction.setLastName(customer.getLastName());
transaction.setCodePromo(cart.getCode());
transaction.setCurrency(cart.getCurrency());
transaction.setLang(cart.getLang());
transaction.setProducts(Arrays.asList(
new LuckyCartProduct(cart.products[0].getId(), cart.products[0].getHt(),
cart.products[0].getTtc(), cart.products[0].getQty()),
new LuckyCartProduct(cart.products[1].getId(), cart.products[1].getHt(),
cart.products[1].getTtc(), cart.products[1].getQty())
);
// You can add more transaction information by overriding the LuckyCartTransaction class
// Sends the request to LC servers
LuckyCartPluginResponse pluginResponse = luckyCart.plugin(transaction);
4. Affichage du jeu
Il s’effectue en positionnant les containers suivants sur la page de confirmation de commande :
<body>
...
<!-- Add this div tag anywhere in the order confirmation page to render the game plugin -->
<% out.println(pluginResponse.getGamediv()); %>
...
<!-- Add this script tag at the bottom of the page (in order not to interfere with page loading) -->
<% out.println(pluginResponse.getScript()); %>
</body>
5. Envoi de données supplémentaires
La classe LuckyCartTransaction contient des attributs obligatoires et optionnels prédéfinis.
Si besoin, il est possible d'envoyer pour chaque panier des informations supplémentaires en surchargeant LuckyCartTransaction selon la méthode suivante :
public class MyCompanyLuckyCartTransaction extends LuckyCartTransaction
{
private String myExtraInfo;
public String getMyExtraInfo() {
return myExtraInfo;
}
public void setMyExtraInfo(String myExtraInfo) {
this.myExtraInfo = myExtraInfo;
}
}