summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/js/sdk/cart.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/js/sdk/cart.js')
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/sdk/cart.js248
1 files changed, 248 insertions, 0 deletions
diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/cart.js b/StoneIsland/platforms/android/assets/www/js/sdk/cart.js
new file mode 100755
index 00000000..3ff2e1d2
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/sdk/cart.js
@@ -0,0 +1,248 @@
+sdk.cart = (function(){
+ var cart = {}
+
+ cart.id = ""
+ cart.token = ""
+
+ // https://gist.github.com/fanfare/9a50c524aea417d0bf3e
+ cart.initialize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-device": auth.device,
+ },
+ data: "{}",
+ // data: opt.data,
+ success: function(data){
+ cart.id = data["CartSession"]["CartId"]
+ cart.token = data["CartSession"]["CartToken"]
+ auth.set_cart( cart.id, cart.token )
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.set_user = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/user.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify({
+ "UserId": auth.user_id,
+ "UserToken": auth.access_token,
+ }),
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // Code10, Size, Section
+ cart.add_item = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/items.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.delete_item = function(opt){
+ return $.ajax({
+ method: "DELETE",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id +
+ "/items/" + opt.data.Code10 +
+ "/" + opt.data.Size + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: "{}",
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.get_status = function(opt){
+ if (! cart.id) {
+ return opt.error({ error: "no cart" })
+ }
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + ".json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ "x-yoox-device": auth.device,
+ },
+ success: function(data){
+ if (data['Error']) {
+ opt.error && opt.error(data)
+ }
+ else {
+ opt.success(data)
+ }
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.set_shipping_address = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/receiver.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify(opt.data),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // NB: Payment type may simply be 1 (credit card)
+ cart.set_payment_type = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/paymentType.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.get_card_types = function(opt){
+ return $.ajax({
+ method: "GET",
+ url: sdk.path("Cart.API/1.6", "cardTypes.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: "",
+ success: function(data){
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // use with full CC data if not storing it in wallet
+ cart.set_credit_card = function(opt){
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/creditCard.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data ),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ // use with a stored GUID
+ // NB: if "verification number" is 1, use CVV/CID/CVC security code
+ // if "verification number" is 2, use "Issue Number"
+ cart.use_stored_credit_card = function(opt){
+ var data = {
+ "Guid": opt.data.guid,
+ "UserId": auth.user_id,
+ "AccessToken": auth.access_token,
+ }
+ if (opt.data.cvv) {
+ data["Cvv"] = opt.data.cvv
+ }
+ if (opt.data.issue) {
+ data["Issue"] = opt.data.issue
+ }
+ return $.ajax({
+ method: "PUT",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/userCreditCard.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify(data),
+ success: function(data){
+ // console.log(data)
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.secure_finalize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/secureFinalizer.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ "x-yoox-device": auth.device,
+ },
+ data: JSON.stringify( opt.data || {} ),
+ success: function(data){
+ console.log(data)
+ // order number is:
+ // "Info": "2905Y07FA13020"
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ cart.finalize = function(opt){
+ return $.ajax({
+ method: "POST",
+ url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/finalizer.json"),
+ headers: {
+ "x-yoox-appname": auth.appname,
+ "x-yoox-cart-token": cart.token,
+ },
+ data: JSON.stringify( opt.data || {} ),
+ success: function(data){
+ console.log(data)
+ // order number is:
+ // "Info": "2905Y07FA13020"
+ opt.success(data)
+ },
+ error: opt.error,
+ })
+ }
+
+ return cart
+})() \ No newline at end of file