[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/webroot/rsrc/js/application/phortune/ -> behavior-balanced-payment-form.js (source)

   1  /**
   2   * @provides javelin-behavior-balanced-payment-form
   3   * @requires javelin-behavior
   4   *           javelin-dom
   5   *           phortune-credit-card-form
   6   */
   7  
   8  JX.behavior('balanced-payment-form', function(config) {
   9    balanced.init(config.balancedMarketplaceURI);
  10  
  11    var ccform = new JX.PhortuneCreditCardForm(JX.$(config.formID), onsubmit);
  12  
  13    function onsubmit(card_data) {
  14      var errors = [];
  15  
  16      if (!balanced.card.isCardNumberValid(card_data.number)) {
  17        errors.push('cc:invalid:number');
  18      }
  19  
  20      if (!balanced.card.isSecurityCodeValid(card_data.number, card_data.cvc)) {
  21        errors.push('cc:invalid:cvc');
  22      }
  23  
  24      if (!balanced.card.isExpiryValid(card_data.month, card_data.year)) {
  25        errors.push('cc:invalid:expiry');
  26      }
  27  
  28      if (errors.length) {
  29        ccform.submitForm(errors);
  30        return;
  31      }
  32  
  33      var data = {
  34        card_number: card_data.number,
  35        security_code: card_data.cvc,
  36        expiration_month: card_data.month,
  37        expiration_year: card_data.year
  38      };
  39  
  40      balanced.card.create(data, onresponse);
  41    }
  42  
  43    function onresponse(response) {
  44      var token = null;
  45      var errors = [];
  46  
  47      if (response.error) {
  48        errors = ['cc:balanced:error:' + response.error.type];
  49      } else if (response.status != 201) {
  50        errors = ['cc:balanced:http:' + response.status];
  51      } else {
  52        token = response.data.uri;
  53      }
  54  
  55      ccform.submitForm(errors, {balancedMarketplaceURI: token});
  56    }
  57  });


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1