Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
themeDJango
titleCheckout API v1.2.1
linenumberstrue
collapsetrue
<html>
<head>
  <script type='text/javascript' src='js/jquery-1.4.2.min.js'></script>
  <script type='text/javascript' src='js/jquery.json-2.2.min.js'></script>
  <script type='text/javascript' src='js/checkoutapi-1.2.1.js'></script>

  <script type='text/javascript'>

    if (typeof String.prototype.trim === 'undefined') {
      String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, '');
      };
    }

    window.onload = function() {
      log('initializing checkout');
      initializeCheckoutAPI({merchantId: "DEMO", secureHostName:'secure.ultracart.com', callbackUrl:'http://www.mystore.com/proxy.php', debugMode:true, verboseAjax:true});
      log('getting cart instance');
      getCartInstance();
    };

    function addCoupons() {
      var coupon1 = document.getElementById('coupon1');
      var coupon2 = document.getElementById('coupon2');
      var coupon3 = document.getElementById('coupon3');

      var coupons = [];
      if (coupon1 && coupon1.value) {
        coupons.push(coupon1.value.trim());
      }
      if (coupon2 && coupon2.value) {
        coupons.push(coupon2.value.trim());
      }
      if (coupon3 && coupon3.value) {
        coupons.push(coupon3.value.trim());
      }

      log('sending these coupons => ' + jQuery.toJSON(coupons));

      //Method 1: Asynchronously

      applyCoupons(coupons, {async:true, onComplete:function(result) {
            if (result == null) {
              log('result of remote call was null. something went wrong on the server.');
            } else {
              if (result.errors) {
                for (var i = 0; i < result.errors.length; i++) {
                  log('err msg:' + result.errors[i]);
                }
              }

              if (result.cart.coupons) {
                for (var j = 0; j < result.cart.coupons.length; j++) {
                  log('coupons in cart => ' + jQuery.toJSON(result.cart.coupons));
                }
              }
            }
          }});


      //Method 2: Synchronous
      /*
      var result = applyCoupons(coupons);
      if (result == null) {
        log('result of remote call was null. something went wrong on the server.');
      } else {
        if (result) {
          for (var i = 0; i < result.length; i++) {
            log('err msg:' + result[i]);
          }
        }

        if (cart.coupons) {
          for (var j = 0; j < cart.coupons.length; j++) {
            log('coupons in cart => ' + jQuery.toJSON(cart.coupons));
          }
        }
      }
      */

    }

    function log(msg) {
      var div = document.getElementById('log');
      var txtNode = document.createTextNode(msg);
      var br = document.createElement('br');
      div.appendChild(txtNode);
      div.appendChild(br);
    }

  </script>
</head>
<body>

<table>
  <tr>
    <td>Coupon 1:</td>
    <td><input type='text' id='coupon1' value='afa'/></td>
  </tr>
  <tr>
    <td>Coupon 2:</td>
    <td><input type='text' id='coupon2' value='1BONE'/></td>
  </tr>
  <tr>
    <td>Coupon 3:</td>
    <td><input type='text' id='coupon3' value='5OFF'/></td>
  </tr>
  <tr>
    <td colspan='2'><input type='button' value='Add Coupons' onclick='addCoupons()'/></td>
  </tr>
</table>
<div id='log' style='margin-top:20px;'>
  <div style='font-weight:bold'>Log Events Will Appear Below:</div>
</div>


</body>
</html>

...

Code Block
languagexml
themeDJango
titleCheckout API v1v2.0.14
linenumberstrue
collapsetrue
<html>
<head>
  <script type='text/javascript' src='js/jquery-1.4.2.min.js'></script>
  <script type='text/javascript' src='js/jquery.json-2.2.min.js'></script>
  <script type='text/javascript' src='js/checkoutapi-2.0.4.js'></script>

  <script type='text/javascript'>

    if (typeof String.prototype.trim === 'undefined') {
      String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g, '');
      };
    }


    var merchantCartConfig =
    {
      merchantId: "DEMO",
      screenBrandingThemeCode: 'DFLT', // doesn't affect these pages, but will determine how receipt and upsell pages appear.
      isCheckoutPage: false, // if true, additional code is run during init() to populate shipping methods and such.  This must
                            // be true if you are collecting address information, displaying shipping, or finalizing an order.
      checkoutSite: 'secure.ultracart.com', // this site is only used during checkout. You may omit this, and checkout will proceed to secure.ultracart.com
                                          // if you provide a value, it must be an SSL alias that points to secure.ultracart.com (Custom SSL Certificate)
                                          // if isCheckoutPage = false, this value doesn't matter.

      remoteApiUrl: location.protocol + "//" + location.hostname + "/proxy.php",
                                                              // this url is used for all remote calls. It may point to secure.ultracart.com, a custom SSL site, or your own proxy script.
                                                             // you may omit this, and the default url is used (points to a path at secure.ultracart.com)
                                                             // see the top of the checkoutapi script for the path info if you have a custom ssl cert.
      debugMode: true,
      verboseAjax: true
    };

    jQuery('document').ready(function(){
      log('initializing checkout');
      ultraCart.init(merchantCartConfig);
    });

    function addCoupons() {
      var coupon1 = document.getElementById('coupon1');
      var coupon2 = document.getElementById('coupon2');
      var coupon3 = document.getElementById('coupon3');

      var coupons = [];
      if (coupon1 && coupon1.value) {
        coupons.push(coupon1.value.trim());
      }
      if (coupon2 && coupon2.value) {
        coupons.push(coupon2.value.trim());
      }
      if (coupon3 && coupon3.value) {
        coupons.push(coupon3.value.trim());
      }

      log('sending these coupons => ' + jQuery.toJSON(coupons));

      //Method 1: Synchronous
      log("BEGINNING SYNCH METHOD");
      var result = ultraCart.applyCoupons(coupons);
      if (result == null) {
        log('result of remote call was null. something went wrong on the server.');
      } else {
        if (result) {
          for (var i = 0; i < result.length; i++) {
            log('err msg:' + result[i]);
          }
        }

        var cart = ultraCart.getCart();
        if (cart.coupons) {
          for (var j = 0; j < cart.coupons.length; j++) {
            log('coupons in cart => ' + jQuery.toJSON(cart.coupons));
          }
        }
      }

      //Method 2: Asynchronously
      log("BEGINNING ASYNC METHOD");
      ultraCart.applyCoupons(coupons, {async:true, onComplete:function(result) {
            if (result == null) {
              log('result of remote call was null. something went wrong on the server.');
            } else {
              if (result.errors) {
                for (var i = 0; i < result.errors.length; i++) {
                  log('err msg:' + result.errors[i]);
                }
              }

              if (result.cart.coupons) {
                for (var j = 0; j < result.cart.coupons.length; j++) {
                  log('coupons in cart => ' + jQuery.toJSON(result.cart.coupons));
                }
              }
            }
          }});




    }

    function log(msg) {
      var div = document.getElementById('log');
      var txtNode = document.createTextNode(msg);
      var br = document.createElement('br');
      div.appendChild(txtNode);
      div.appendChild(br);
    }

  </script>
</head>
<body>

<table>
  <tr>
    <td>Coupon 1:</td>
    <td><input type='text' id='coupon1' value='afa'/></td>
  </tr>
  <tr>
    <td>Coupon 2:</td>
    <td><input type='text' id='coupon2' value='1BONE'/></td>
  </tr>
  <tr>
    <td>Coupon 3:</td>
    <td><input type='text' id='coupon3' value='5OFF'/></td>
  </tr>
  <tr>
    <td colspan='2'><input type='button' value='Add Coupons' onclick='addCoupons()'/></td>
  </tr>
</table>
<div id='log' style='margin-top:20px;'>
  <div style='font-weight:bold'>Log Events Will Appear Below:</div>
</div>


</body>
</html>