{"version":3,"file":"default/js/checkoutMercadoPago.js","mappings":";;;;;;;;;;AAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,aAAa;AAChC,mBAAmB,QAAQ;AAC3B,qBAAqB,QAAQ;AAC7B;AACA;AACA;;AAEA;AACA,+BAA+B,oDAAoD;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,iBAAiB;AACjB;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B,qBAAqB,SAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,8DAA8D;AACzF;AACA;AACA;AACA,+DAA+D,gBAAgB;AAC/E;AACA,kDAAkD,KAAK;;AAEvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,6BAA6B;AACxD,wBAAwB,4BAA4B;AACpD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,2BAA2B;AACtD,wBAAwB,2BAA2B;AACnD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,2BAA2B;AACtD,wBAAwB,2BAA2B;AACnD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,2BAA2B;AACtD,wBAAwB,2BAA2B;AACnD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,4BAA4B;AACvD,wBAAwB,4BAA4B;AACpD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,4BAA4B;AACvD,wBAAwB,4BAA4B;AACpD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,4BAA4B;AACvD,wBAAwB,4BAA4B;AACpD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,2BAA2B;AACtD,wBAAwB,2BAA2B;AACnD;AACA,aAAa;AACb;AACA;AACA,2BAA2B,4BAA4B;AACvD,wBAAwB,4BAA4B;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,2BAA2B;AAClD,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA,uBAAuB,2BAA2B;AAClD,oBAAoB,2BAA2B;AAC/C;AACA;AACA;AACA;AACA;AACA,uBAAuB,4BAA4B;AACnD,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B;AACpD,oBAAoB,6BAA6B;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B,QAAQ;AACtC;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wCAAwC,gCAAgC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC,2BAA2B,QAAQ;AACnC,4BAA4B,OAAO;AACnC,6BAA6B,SAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,OAAO;AAClC,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAqF,YAAY;AACjG;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,qFAAqF,0DAA0D;AAC/I;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;;AAEA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,qDAAqD,gBAAgB;AACrE,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,uEAAuE;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,SAAS;AACpC,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU,oCAAoC,eAAe;AAC7F;AACA;AACA;AACA,sBAAsB;AACtB,wCAAwC,qEAAqE;AAC7G;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,sBAAsB;AACtB;AACA,wCAAwC,kEAAkE;AAC1G;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2BAA2B,aAAa;AACxC;AACA;AACA;;AAEA;AACA,uCAAuC,6CAA6C;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,sBAAsB;AACtB;AACA,wCAAwC,gEAAgE;AACxG;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,gCAAgC;AACnG;AACA;AACA,sBAAsB;AACtB,wCAAwC,4DAA4D;AACpG;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;;AAErB;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,aAAa;AAC5C,+BAA+B,QAAQ;AACvC,+BAA+B,QAAQ;AACvC;AACA,kFAAkF,4BAA4B;AAC9G;AACA,gCAAgC,eAAe;;AAE/C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uCAAuC,EAAE;AACzC,uCAAuC,EAAE;AACzC;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,MAAM;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;AC1gCY;;AAEb;AACA;AACA;;AAEA,aAAa,gGAA4B;;AAEzC;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4EAA4E,6CAA6C;AACzH;;AAEA;AACA;AACA;AACA;AACA;AACA,kEAAkE,EAAE;AACpE;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA,UAAU,QAAQ;AAClB,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA,6EAA6E;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACvPA,qEAAqE,qBAAM,mBAAmB,qBAAM;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,0DAA0D,EAAE;;AAE5D;;AAEA;AACA,0DAA0D,EAAE;;AAE5D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,sBAAsB;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mDAAmD,UAAU;AAC7D;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,0BAA0B;AAC1B,4BAA4B,KAAK;;AAEjC,8BAA8B;AAC9B,wBAAwB,KAAK;;AAE7B,wCAAwC;AACxC,iCAAiC,IAAI,eAAe,KAAK;;AAEzD,gDAAgD;AAChD,6CAA6C,KAAK;;AAElD,wCAAwC;AACxC,gCAAgC,IAAI,WAAW,IAAI,UAAU,IAAI,IAAI,KAAK;;AAE1E,uCAAuC;AACvC,sCAAsC,KAAK;;AAE3C,gCAAgC;AAChC,kCAAkC,KAAK;;AAEvC,kCAAkC;AAClC,iCAAiC,KAAK;;AAEtC,qCAAqC;AACrC,uBAAuB,IAAI,IAAI,KAAK;;AAEpC,yCAAyC;AACzC,gCAAgC,IAAI,WAAW,IAAI,IAAI,KAAK;;AAE5D,2BAA2B;AAC3B,0BAA0B,KAAK;;AAE/B,0BAA0B;AAC1B,oBAAoB,KAAK;;AAEzB,8BAA8B;AAC9B,8BAA8B,KAAK;AACnC,KAAK;;AAEL;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA,8DAA8D;AAC9D,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wFAAwF;;AAExF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,sEAAsE;;AAEtE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC,WAAW,QAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA,yDAAyD;;AAEzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8EAA8E,QAAQ;AACtF;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,+DAAe,QAAQ,EAAC;;;;;;;UCrhDxB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;ACNa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,mBAAmB,mBAAO,CAAC,4HAA8B;AACzD,mBAAmB,mBAAO,CAAC,gHAAwB;AACnD,CAAC","sources":["webpack://ford-ar/./cartridges/int_mercadopago/cartridge/client/default/js/checkout/mercadoPago.js","webpack://ford-ar/./cartridges/int_mercadopago/cartridge/client/default/js/mercadoPago/mercadoBilling.js","webpack://ford-ar/./node_modules/cleave.js/dist/cleave-esm.js","webpack://ford-ar/webpack/bootstrap","webpack://ford-ar/webpack/runtime/global","webpack://ford-ar/webpack/runtime/make namespace object","webpack://ford-ar/./cartridges/int_mercadopago/cartridge/client/default/js/checkoutMercadoPago.js"],"sourcesContent":["\"use strict\";\n\n/**\n * Property of OSF GLOBAL SERVICES INC. , an OSF Digital company. OSF remains the sole owner of all right, title and interest in the software. Do not copy, sell, reverse engineer or otherwise attempt to derive or obtain information about the functioning, manufacture or operation therein.\n */\n\n(function ($) {\n /**\n * @description Sanitize string\n * @param {string} input string to be sanitized\n * @returns {string} sanitized string\n */\n function sanitizeString(input) {\n var sanitizedString = input;\n if (input && typeof input === \"string\") {\n sanitizedString = input.replace(/['\";\\\\()]/g, \"\");\n }\n return sanitizedString;\n }\n /**\n * @constructor\n * @classdesc Integration class\n */\n function MercadoPagoPage() {\n var that = this;\n var methods = {};\n\n /**\n * @description Mounts secure inputs\n * @param {MercadoPago} mpInstance MercadoPago Instance\n * @param {Object} fields MercadoPago Secure Fields\n * @returns {Object} Elements\n */\n function mountInputs(mpInstance, fields) {\n $(\"#mercadoPagoCardOwner\").attr(\"required\", true);\n\n if (fields && fields.cardNumberElement && fields.expirationDateElement) {\n console.warn({ message: \"Secure fields already mounted skipping.\" });\n return {\n cardNumberElement: fields.cardNumberElement,\n expirationDateElement: fields.expirationDateElement,\n securityCodeElement: fields.securityCodeElement\n };\n }\n const cardNumberElement = mpInstance.fields.create(\"cardNumber\").mount(\"form-checkout__cardNumber\");\n\n cardNumberElement.on(\"binChange\", (data) => {\n that.bin = data.bin;\n methods.card.guessingPaymentMethod();\n methods.installment.set();\n });\n\n const expirationDateElement = mpInstance.fields.create(\"expirationDate\", {\n placeholder: \"MM/YY\"\n }).mount(\"form-checkout__expirationDate\");\n\n // SecurityCodeElement shouldn't be created more than once because both payments (saved/new) use this field\n let securityCodeElement;\n if (fields && fields.securityCodeElement) {\n securityCodeElement = fields.securityCodeElement;\n } else {\n securityCodeElement = mpInstance.fields.create(\"securityCode\", {\n placeholder: \"CVV\"\n }).mount(\"form-checkout__securityCode\");\n }\n\n return { cardNumberElement, expirationDateElement, securityCodeElement };\n }\n /**\n * @description Unmounts secure inputs\n * In order to create token mercado checks the fields that is created and validation fails if inputs are empty\n * We need to unmount unused inputs when using saved credit card for successful validation\n * @param {Object} fields MercadoPago Secure Fields\n * @returns {Object} {empty}\n */\n function unmountInputs(fields) {\n $(\"#mercadoPagoCardOwner\").attr(\"required\", false);\n\n if (fields && fields.cardNumberElement && fields.expirationDateElement) {\n fields.cardNumberElement.unmount();\n fields.expirationDateElement.unmount();\n }\n return { securityCodeElement: fields.securityCodeElement };\n }\n\n var $content = $(\".js-mercadopago-content\");\n var $form = $content.find(\".js-mp-form\");\n this.preferences = $form.data(\"mpPreferences\");\n this.resourceMessages = $form.data(\"mpResourceMessages\");\n this.configuration = $form.data(\"mpConfiguration\");\n if (!that.preferences) {\n console.warn({ message: \"Preferences not set, initialization will be stop.\" });\n return;\n }\n // eslint-disable-next-line no-undef\n this.mp = new MercadoPago(that.preferences.publicKey, {locale: \"es-AR\"});\n this.bin = \"\";\n this.secureInputs = mountInputs(this.mp); // { cardNumberElement, expirationDateElement, securityCodeElement }\n\n var $elements = {\n paymentOptionTab: $(\".js-payment-option-tab\"),\n paymentTypeButton: $content.find(\".js-toggle-payment-type\"),\n customerCardsContainer: $content.find(\".js-mp-customer-cards\"),\n customerCard: $content.find(\".js-mp-customer-card\")\n };\n\n // Regular fields\n var fields = {\n cardType: {\n $el: $form.find(\".js-mp-card-type\"),\n disable: { other: false, stored: false },\n hide: { other: false, stored: true },\n errors: []\n },\n cardHolder: {\n $el: $form.find(\".js-mp-card-holder\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: true },\n errors: [\"221\", \"316\"]\n },\n cardNumber: {\n $el: $form.find(\".js-mp-card-number\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: true },\n errors: [\"205\", \"E301\"]\n },\n expirationDate: {\n $el: $form.find(\".js-mp-expiration-date\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: true },\n errors: [\"208\", \"325\", \"209\", \"326\"]\n },\n securityCode: {\n $el: $form.find(\".js-mp-security-code\"),\n disable: { other: true, stored: false },\n hide: { other: true, stored: false },\n errors: [\"224\", \"E302\", \"E203\"]\n },\n email: {\n $el: $form.find(\".js-mp-email\"),\n disable: { other: false, stored: true },\n hide: { other: false, stored: true },\n errors: [\"email\"]\n },\n phone: {\n $el: $form.find(\".js-mp-phone\"),\n disable: { other: false, stored: true },\n hide: { other: false, stored: true },\n errors: [\"phone\"]\n },\n saveCard: {\n $el: $form.find(\".js-mp-save-card\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: true },\n errors: []\n },\n useSameMailPhoneAsAddress: {\n $el: $form.find(\".js-mp-use-same\"),\n disable: { other: false, stored: true },\n hide: { other: false, stored: true },\n errors: []\n }\n };\n\n // Extended fields\n fields.issuer = {\n $el: $form.find(\".js-mp-issuer\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: false },\n errors: [\"issuer\"]\n };\n fields.financialinstitution = {\n $el: $form.find(\".js-mp-financialinstitution\"),\n disable: { other: true, stored: true },\n hide: { other: true, stored: true },\n cardTypeID: \"pse\",\n errors: [\"mercadoPagoFinancialinstitution\"]\n };\n fields.installments = {\n $el: $form.find(\".js-mp-installments\"),\n disable: { other: true, stored: false },\n hide: { other: true, stored: false },\n errors: [\"installments\"]\n };\n fields.docType = {\n $el: $form.find(\".js-mp-doc-type\"),\n disable: { other: false, stored: false },\n hide: { other: false, stored: false },\n errors: [\"212\", \"322\"]\n };\n fields.docNumber = {\n $el: $form.find(\".js-mp-doc-number\"),\n $wrapper: $form.find(\".js-mp-doc-wrapper\"),\n $label: $form.find(\".js-mp-doc-label\"),\n $tooltip: $form.find(\".js-mp-doc-tooltip\"),\n disable: { other: false, stored: false },\n hide: { other: false, stored: false },\n errors: [\"214\", \"324\", \"2067\"]\n };\n\n // Hidden fields\n Object.defineProperty(fields, \"cardId\", {\n enumerable: false,\n value: {\n $el: sanitizeString($form.find(\"#cardId\"))\n }\n });\n Object.defineProperty(fields, \"token\", {\n enumerable: false,\n value: {\n $el: sanitizeString($form.find(\"#token\"))\n }\n });\n\n methods = {\n paymentOption: {\n /**\n * @function handleChange\n * @description Handle change of payment method and set initial state of payment tab\n */\n handleChange: function () {\n var $activeTab = $(this);\n var methodId = $activeTab\n .closest(\".js-method-id\")\n .data(\"methodId\");\n var initialState = $form.data(\"mpInitial\");\n\n if (methodId === that.configuration.paymentMethodId) {\n methods.paymentOption.setInitialState[\n initialState + \"Payment\"\n ]();\n }\n },\n setInitialState: {\n /**\n * @function newPayment\n * @description Set initial state for new payment section\n */\n newPayment: function () {\n var paymentMethodInput = fields.cardType.$el.filter(\n function () {\n return (\n this.value\n === that.configuration.defaultCardType\n );\n }\n );\n\n // Check default card type\n paymentMethodInput.prop(\"checked\", true);\n methods.card.handleTypeChange.call(\n paymentMethodInput[0],\n { data: { handleOther: true } }\n );\n $elements.customerCard.removeClass(\"selected-payment\");\n fields.cardId.$el.val(\"\");\n that.secureInputs = mountInputs(that.mp, that.secureInputs);\n },\n /**\n * @function storedPayment\n * @description Set initial state for stored payment section\n */\n storedPayment: function () {\n var firstCard = $elements.customerCard.filter(\":first\");\n\n // Select first card\n methods.registeredCustomer.selectCustomerCard.call(firstCard[0]);\n\n // Toggle payment type to stored\n $elements.paymentTypeButton.data(\"togglePaymentType\", \"stored\");\n methods.registeredCustomer.togglePaymentType.call($elements.paymentTypeButton[0]);\n },\n /**\n * @function restoreStoredPayment\n * @description Restore stored payment section\n */\n restoreStoredPayment: function () {\n var firstCard = $elements.customerCard.filter(\":first\");\n\n // Select first card\n methods.registeredCustomer.selectCustomerCard.call(firstCard[0]);\n\n // Show and set disabled to false for stored payment fields\n for (let i = 0; i < Object.keys(fields).length; i += 1) {\n var field = Object.keys(fields)[i];\n if (!fields[field].hide.stored) {\n fields[field].$el\n .closest(\".js-mp-container\")\n .removeClass(\"checkout-hidden\");\n }\n if (!fields[field].disable.stored) {\n fields[field].$el.prop(\"disabled\", false);\n }\n }\n }\n }\n },\n token: {\n validateFinancialInstution: function () {\n const financialinstitutionEl = fields.financialinstitution.$el;\n if (financialinstitutionEl.attr(\"required\")) {\n let fieldValueLength = financialinstitutionEl.val().length;\n if (+fieldValueLength === 0) {\n financialinstitutionEl.next(\".invalid-feedback\").show();\n return false;\n }\n\n financialinstitutionEl.next(\".invalid-feedback\").hide();\n return true;\n }\n return true;\n },\n validateInstallments: function () {\n const installmentsEl = fields.installments.$el;\n if (installmentsEl.attr(\"required\")) {\n const value = installmentsEl.find(\":selected\").val();\n if (!value) {\n installmentsEl.next(\".invalid-feedback\").show();\n return false;\n }\n\n installmentsEl.next(\".invalid-feedback\").hide();\n return true;\n }\n return true;\n },\n validateCardHolder: function () {\n const cardHolderEl = fields.cardHolder.$el;\n if (cardHolderEl.attr(\"required\")) {\n const fieldValueLength = cardHolderEl.val().length;\n if (+fieldValueLength === 0) {\n cardHolderEl.next(\".invalid-feedback\").show();\n return false;\n }\n\n cardHolderEl.next(\".invalid-feedback\").hide();\n return true;\n }\n return true;\n },\n validateDocNumber: function () {\n const docNumberEl = fields.docNumber.$el;\n if (\n docNumberEl.attr(\"required\")\n && docNumberEl.is(\":visible\")\n && docNumberEl.is(\":enabled\")\n ) {\n let errorCode;\n let fieldValueLength = docNumberEl.val().length;\n if (+fieldValueLength === 0) {\n errorCode = \"214\";\n } if (\n fieldValueLength > docNumberEl.attr(\"maxlength\")\n || fieldValueLength < docNumberEl.attr(\"minlength\")\n ) {\n errorCode = \"324\";\n }\n\n if (errorCode) {\n methods.token.errorResponse(errorCode);\n return false;\n }\n\n docNumberEl.next(\".invalid-feedback\").hide();\n return true;\n }\n return true;\n },\n validateSecureFields: function (errors) {\n const securityCodeErrors = errors.filter((error) => error.field === \"securityCode\");\n const creditCardNumberErrors = errors.filter((error) => error.field === \"cardNumber\");\n const expirationDateErrors = errors.filter((error) => error.field === \"expirationDate\");\n\n if (securityCodeErrors.length) {\n fields.securityCode.$el.find(\".invalid-feedback\").focus().show();\n } else {\n fields.securityCode.$el.find(\".invalid-feedback\").hide();\n }\n\n if (creditCardNumberErrors.length) {\n fields.cardNumber.$el.find(\".invalid-feedback\").focus().show();\n } else {\n fields.cardNumber.$el.find(\".invalid-feedback\").hide();\n }\n\n if (expirationDateErrors.length) {\n fields.expirationDate.$el.find(\".invalid-feedback\").focus().show();\n } else {\n fields.expirationDate.$el.find(\".invalid-feedback\").hide();\n }\n },\n /**\n * @function checkSecurityCodeLength\n * @description Checks the security code length from the payment response\n * @param {string} cardType cardType\n * @param {Object} paymentResponse paymentResponse\n * @throws {Array} An array with the error details if the security code length is invalid\n * @returns {boolean} boolean\n */\n checkSecurityCodeLength: function (cardType, paymentResponse) {\n const isAmex = cardType === \"amex\";\n const securityCodeLengthIsValid = isAmex ? paymentResponse.security_code_length === 4 : paymentResponse.security_code_length === 3;\n if (securityCodeLengthIsValid) {\n return true;\n }\n\n /**\n * This throw is a workaround for mercado sdk because mercado allows you to use\n * 4 character cvv for visa, mastercard or 3 character cvv for amex.\n * SDK only checks whether the security code is 3 or 4 characters, regardless of card type.\n * We are throwing an array to simulate fields.createCardToken method throws an error.\n */\n // eslint-disable-next-line no-throw-literal\n throw [{\n cause: \"invalid_length\",\n field: \"securityCode\"\n }];\n },\n /**\n * @function populate\n * @description Create token and populate field with value during submit\n * @param {Event} event event\n * @param {Object} eventData event data\n */\n populate: async function (event, eventData) {\n // Continue default flow\n let formIsValid = true;\n if (eventData && eventData.continue) {\n return;\n }\n // Stop default flow\n event.stopImmediatePropagation();\n const checkedCardType = fields.cardType.$el.filter(\":checked\");\n const isOtherPaymentMethod = checkedCardType.data(\"mpCardType\") === that.configuration.otherPaymentMethod;\n const cardType = checkedCardType.val();\n const paymentTypeId = $(\"#mpPaymentTypeId\").val(); // credit_card, bank_transfer, ticket\n const isBankTransfer = paymentTypeId === \"bank_transfer\";\n\n if (isOtherPaymentMethod) {\n const docNumberValid = methods.token.validateDocNumber();\n const financialinstitutionValid = methods.token.validateFinancialInstution();\n\n // If it is bank transfer we need extra input for financial institution\n if (isBankTransfer ? (!docNumberValid || !financialinstitutionValid) : !docNumberValid) {\n return;\n }\n\n var submitPayment = $(\".next-step-button .submit-payment\");\n fields.token.$el.val(\"\");\n submitPayment.trigger(\"click\", { continue: true });\n return;\n }\n const installmentsValid = methods.token.validateInstallments();\n const docNumberValid = methods.token.validateDocNumber();\n const cardHolderValid = methods.token.validateCardHolder();\n if (!docNumberValid || !cardHolderValid || !installmentsValid) {\n formIsValid = false;\n }\n\n var selectPaymentCard = $elements.customerCard.filter(\".selected-payment\");\n let paymentResponse;\n if (selectPaymentCard && selectPaymentCard.length === 1) {\n var id = selectPaymentCard.data(\"mp-customer-card\").toString();\n fields.cardId.$el.val(id);\n try {\n paymentResponse = await that.mp.fields.createCardToken({ cardId: id });\n methods.token.checkSecurityCodeLength(cardType, paymentResponse);\n } catch (errors) {\n formIsValid = false;\n methods.token.validateSecureFields(errors);\n return;\n }\n } else {\n var docTypeElement = document.getElementById(\"docType\");\n var identificationType = docTypeElement && docTypeElement.value;\n var identificationNumber = fields.docNumber.$el.val();\n var cardholderName = fields.cardHolder.$el.val();\n try {\n paymentResponse = await that.mp.fields.createCardToken({ cardholderName, identificationType, identificationNumber });\n methods.token.checkSecurityCodeLength(cardType, paymentResponse);\n } catch (errors) {\n formIsValid = false;\n methods.token.validateSecureFields(errors);\n return;\n }\n }\n\n if (paymentResponse && paymentResponse.status === \"active\" && formIsValid) {\n methods.token.successResponse(paymentResponse);\n } else {\n methods.token.errorResponse();\n }\n },\n\n /**\n * @function successResponse\n * @description Success callback for token creation\n * @param {Object} serviceResponse service response\n */\n successResponse: function (serviceResponse) {\n var submitPayment = $(\".next-step-button .submit-payment\");\n\n if (serviceResponse && serviceResponse.id) {\n fields.token.$el.val(serviceResponse.id);\n } else {\n console.warn(\"Token is not created or using a saved credit card.\");\n }\n submitPayment.trigger(\"click\", { continue: true });\n },\n /**\n * @function errorResponse\n * @description Error callback for token creation\n * @param {string} errorCode error code\n */\n errorResponse: function (errorCode) {\n var errorMessages = $form.data(\"mpErrorMessages\");\n var errorField;\n\n // Set error code message if found, otherwise set default error message\n var errorMessage = errorMessages[errorCode]\n ? errorMessages[errorCode]\n : errorMessages.default;\n Object.keys(fields).forEach(function (index) {\n var field = fields[index];\n if (\n field.errors\n && field.errors.indexOf(errorCode) !== -1\n ) {\n errorField = field;\n }\n });\n if (errorField) {\n errorField.$el\n .next(\".invalid-feedback\")\n .focus()\n .show()\n .text(errorMessage);\n } else {\n $(\".error-message\").show();\n $(\".error-message-text\").text(errorMessage);\n }\n }\n },\n\n card: {\n /**\n * @function handleTypeChange\n * @description Handle credit card type change\n * @param {Event} e event\n */\n handleTypeChange: function (e) {\n var $el = $(this);\n var issuerMandatory = $el.data(\"mpIssuerRequired\");\n var isOtherType = $el.data(\"mpCardType\") === that.configuration.otherPaymentMethod;\n var paymentTypeID = sanitizeString($el.val()); // master, visa, pse, boleto\n var mpPaymentTypeId = $el.data(\"mpPaymentTypeId\"); // credit_card, bank_transfer, ticket\n $(\"#mpPaymentTypeId\").val(mpPaymentTypeId);\n\n // Handle fields for other payment method\n if (e.data.handleOther) {\n methods.card.handleOtherType(\n isOtherType,\n paymentTypeID\n );\n }\n\n if (that.preferences.enableInstallments === true && !isOtherType) {\n methods.installment.set();\n\n // Set issuer info\n if (issuerMandatory) {\n methods.issuer.set($el);\n fields.issuer.$el.prop(\"disabled\", false);\n fields.issuer.$el\n .off(\"change\")\n .on(\"change\", methods.installment.setByIssuerId);\n } else {\n fields.issuer.$el.prop(\"disabled\", true);\n }\n } else {\n $(\"#installments\").attr(\"required\", false);\n }\n },\n /**\n * @function handleOtherType\n * @description Toggle other payment method\n * @param {boolean} isOtherType is other type\n * @param {string} cardTypeID cart type ID\n */\n handleOtherType: function (isOtherType, cardTypeID) {\n Object.keys(fields).forEach((field) => {\n if (Object.keys(fields[field].$el).length > 0) {\n var fieldsField = fields[field];\n if (fieldsField.hide.other) {\n fieldsField.$el\n .closest(\".js-mp-container\")\n .toggleClass(\"checkout-hidden\", isOtherType);\n }\n if (fieldsField.disable.other) {\n fieldsField.$el.prop(\"disabled\", isOtherType);\n }\n\n if (fieldsField.cardTypeID) {\n fieldsField.$el.prop(\n \"disabled\",\n fieldsField.cardTypeID !== cardTypeID\n );\n fieldsField.$el\n .closest(\".js-mp-container\")\n .toggleClass(\n \"checkout-hidden\",\n fieldsField.cardTypeID !== cardTypeID\n );\n }\n }\n });\n },\n\n guessingPaymentMethod: async function () {\n try {\n if (!that.bin) {\n throw new Error(\"bin is not provided in guessingPaymentMethod, returning\");\n }\n const { results } = await that.mp.getPaymentMethods({ bin: that.bin });\n const firstGuess = results[0] || null;\n const mercadoPagoCardNumber = $(\"#mercadoPagoCardNumber\");\n mercadoPagoCardNumber.value = firstGuess;\n } catch (error) {\n console.error({ message: \"Error occurred while trying to guessPaymentMethod\", error });\n }\n }\n },\n\n installment: {\n /**\n * @function set\n * @description Set installments\n * @param {string} $element $element\n */\n set: async function () {\n // Set installments info\n try {\n if (!that.bin) {\n throw new Error(\"bin is not provided in installment.set, returning\");\n }\n const paymentTypeId = $(\"#mpPaymentTypeId\").val() || 'credit_card';\n const cartTotal = $form.data(\"mpCartTotal\").toString();\n const installments = await that.mp.getInstallments({\n amount: cartTotal,\n bin: that.bin,\n paymentTypeId\n });\n methods.installment.setInstallmentOptions(installments);\n return installments;\n } catch (error) {\n methods.installment.setInstallmentOptions([]);\n console.error({ message: \"Error occurred while trying to set installment\", error });\n return false;\n }\n },\n /**\n * @function setVisibilityOfInstallments\n * @description Sets the visibility of installments\n * @param {boolean} visible visible\n */\n setVisibilityOfInstallments: function (visible) {\n const $installments = $(\"#installments\");\n $installments.closest(\".js-mp-container\").toggleClass(\"checkout-hidden\", !visible);\n $installments.prop(\"disabled\", !visible);\n $installments.attr(\"required\", visible);\n },\n /**\n * @function setInstallmentOptions\n * @description Sets the installments\n * @param {Array} installments installments\n */\n setInstallmentOptions: function (installments) {\n fields.installments.$el.find(\"option\").remove();\n const installmentsIsNotValid = !installments || !Array.isArray(installments) || installments.length <= 0;\n\n if (installmentsIsNotValid) {\n methods.installment.setVisibilityOfInstallments(false);\n return;\n }\n\n var $defaultOption = $(\n new Option(\n that.resourceMessages.defaultInstallments,\n \"\"\n )\n );\n fields.installments.$el.append($defaultOption);\n\n if (installments[0].payer_costs) {\n $.each(installments[0].payer_costs, function (i, item) {\n fields.installments.$el.append(\n $(\"