@primer-io/checkout-web 2.36.0 → 2.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Primer.js +1 -1
- package/dist/index.d.ts +48 -13
- package/package.json +4 -1
package/dist/Primer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(G,f){typeof exports=="object"&&typeof module=="object"?module.exports=f():typeof define=="function"&&define.amd?define([],f):typeof exports=="object"?exports.Primer=f():G.Primer=f()})(this,function(){return function(){var y={453:function(R,A,s){"use strict";var D=this&&this.__assign||function(){return D=Object.assign||function(_){for(var u,P=1,M=arguments.length;P<M;P++){u=arguments[P];for(var U in u)Object.prototype.hasOwnProperty.call(u,U)&&(_[U]=u[U])}return _},D.apply(this,arguments)},S=s(743),a=s(576),E=s(243),h=s(169),p=s(679),l={},O={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},v=[O.VISA,O.MASTERCARD,O.AMERICAN_EXPRESS,O.DINERS_CLUB,O.DISCOVER,O.JCB,O.UNIONPAY,O.MAESTRO,O.ELO,O.MIR,O.HIPER,O.HIPERCARD],I=p.clone(v);function k(_){return l[_]||S[_]}function m(){return I.map(function(_){return p.clone(k(_))})}function B(_,u){u===void 0&&(u=!1);var P=I.indexOf(_);if(!u&&P===-1)throw new Error('"'+_+'" is not a supported card type.');return P}function g(_){var u=[];if(!E.isValidInputType(_))return u;if(_.length===0)return m();I.forEach(function(M){var U=k(M);a.addMatchingCardsToResults(_,U,u)});var P=h.findBestMatch(u);return P?[P]:u}g.getTypeInfo=function(_){return p.clone(k(_))},g.removeCard=function(_){var u=B(_);I.splice(u,1)},g.addCard=function(_){var u=B(_.type,!0);l[_.type]=_,u===-1&&I.push(_.type)},g.updateCard=function(_,u){var P=l[_]||S[_];if(!P)throw new Error('"'+_+"\" is not a recognized type. Use `addCard` instead.'");if(u.type&&P.type!==u.type)throw new Error("Cannot overwrite type parameter.");var M=p.clone(P);M=D(D({},M),u),l[M.type]=M},g.changeOrder=function(_,u){var P=B(_);I.splice(P,1),I.splice(u,0,_)},g.resetModifications=function(){I=p.clone(v),l={}},g.types=O,R.exports=g},576:function(R,A,s){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.addMatchingCardsToResults=void 0;var D=s(679),S=s(864);function a(E,h,p){var l,O;for(l=0;l<h.patterns.length;l++){var v=h.patterns[l];if(S.matches(E,v)){var I=D.clone(h);Array.isArray(v)?O=String(v[0]).length:O=String(v).length,E.length>=O&&(I.matchStrength=O),p.push(I);break}}}A.addMatchingCardsToResults=a},743:function(R){"use strict";var A={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}};R.exports=A},679:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.clone=void 0;function s(D){return D?JSON.parse(JSON.stringify(D)):null}A.clone=s},169:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.findBestMatch=void 0;function s(S){var a=S.filter(function(E){return E.matchStrength}).length;return a>0&&a===S.length}function D(S){return s(S)?S.reduce(function(a,E){return!a||Number(a.matchStrength)<Number(E.matchStrength)?E:a}):null}A.findBestMatch=D},243:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.isValidInputType=void 0;function s(D){return typeof D=="string"||D instanceof String}A.isValidInputType=s},864:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.matches=void 0;function s(a,E,h){var p=String(E).length,l=a.substr(0,p),O=parseInt(l,10);return E=parseInt(String(E).substr(0,l.length),10),h=parseInt(String(h).substr(0,l.length),10),O>=E&&O<=h}function D(a,E){return E=String(E),E.substring(0,a.length)===a.substring(0,E.length)}function S(a,E){return Array.isArray(E)?s(a,E[0],E[1]):D(a,E)}A.matches=S},476:function(){},962:function(){},473:function(){}},G={};function f(R){var A=G[R];if(A!==void 0)return A.exports;var s=G[R]={exports:{}};return y[R].call(s.exports,s,s.exports,f),s.exports}(function(){f.d=function(R,A){for(var s in A)f.o(A,s)&&!f.o(R,s)&&Object.defineProperty(R,s,{enumerable:!0,get:A[s]})}})(),function(){f.o=function(R,A){return Object.prototype.hasOwnProperty.call(R,A)}}(),function(){f.r=function(R){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})}}();var X={};return function(){"use strict";f.r(X),f.d(X,{CheckoutUXFlow:function(){return ve},CvvInput:function(){return R.CvvInput},ErrorCode:function(){return He},EventTypes:function(){return Ge},HeadlessManagerType:function(){return me},PaymentFlow:function(){return Ue},PaymentInstrumentType:function(){return be},PaymentMethodData:function(){return Kr.PaymentMethodData},PaymentMethodType:function(){return q},Primer:function(){return zr},SuccessScreenType:function(){return xe},ThreeDSecureStatus:function(){return Be},TokenType:function(){return ke},preloadPrimer:function(){return Hr}});var R={};f.r(R);var A=f(476),s=f(962),D=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(D||{}),S=(e=>(e.START="START",e.END="END",e))(S||{}),a=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(a||{});const E={get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.36.0";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":t=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||r}};var h=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(h||{});async function p(){if(typeof navigator>"u")return;const e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}const l="WEB",O=E.get("PRIMER_SDK_VERSION");async function v(e,r,t){return{...t,createdAt:Date.now(),device:await p(),eventType:e,properties:r,sdkVersion:O,sdkType:l}}const I="https://analytics.production.data.primer.io/sdk-logs",k=1024*5,m=e=>`@primer/analytics/${e}`;function B({url:e=I,...r}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&g(e)});const t=n=>async o=>{if(typeof navigator>"u")return;const i=await v(n,o,r),c=u(i,T=>P(M(T)));_(e,c)};return{crashEvent:t(a.CRASH_EVENT),messageEvent:t(a.MESSAGE_EVENT),networkCallEvent:t(a.NETWORK_CALL_EVENT),sdkFunctionEvent:t(a.SDK_FUNCTION_EVENT),timerEvent:t(a.TIMER_EVENT),v1Event:t(a.V1_EVENT)}}function g(e){const r=m(e),t=sessionStorage.getItem(r);sessionStorage.removeItem(r),t&&navigator.sendBeacon(e,t)}function _(e,r){const t=m(e);sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(r)].filter(Boolean).join(",")}]`)}function u(e,r){const t=n=>typeof n=="object"&&n!==null?u(n,r):r(n);return Array.isArray(e)?e.map(t):Object.fromEntries(Object.entries(e).map(([n,o])=>[n,t(o)]))}function P(e){return typeof e=="string"&&e.length>k?`${e.slice(0,k)}...`:e}function M(e){return typeof e=="function"?e.name||"function":e}class U{constructor(r,t){this.type=r,this.displayName=t}get specs(){return this.constructor.specs}setOption(r,t){this.options&&(this.options[r]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(r){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(r){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}U.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},U.create=(e,r,t,n)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class Ke extends U{async tokenize(r){}}class We{get session(){const r=this.store.getState().clientSessionInfo;if(!r)throw new Error("Client Context Session does not exist");return r}}const je=[Array,Ke,We,Map,Set];function ze(e){const r=new Set,t=20;let n=0;for(;n++<t&&e&&e!==Object.prototype;)Object.getOwnPropertyNames(e).forEach(o=>r.add(o)),e=Object.getPrototypeOf(e);return[...r]}function ee(e,r,t,n,o){if(!t||je.some(i=>t instanceof i))return t;switch(typeof t){case"function":return new Proxy(t,{apply(i,N,c=[]){const T={name:r.replace(/^bound /,""),params:c,module:o};e?.sdkFunctionEvent(T);const Y=c.map((z,d)=>ee(e,`${d}`,z,n,[o,r,`${d}`].filter(Boolean).join(".")));return i.apply(N,Y)}});case"object":return t===n?t:Xe(e,t,[o,r].filter(Boolean).join("."));default:return t}}function Xe(e,r,t){return Object.fromEntries(ze(r).map(n=>{const o=r?.[n],i=ee(e,n,o,o,t);return[n,i]}))}const re=()=>te.randomUUID?.()||$e(),$e=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^Qe()>>e/4).toString(16)),Qe=()=>(te.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,te=typeof crypto<"u"?crypto:{},Ze=new Set(["post","get","delete"]),Je=new Set(["post"]);function qe(e,r,t,n){const o=Je.has(e);return{method:e,options:o?n:t,body:o?t:void 0,url:r}}function Xr(e,r){const t=({prop:n})=>({apply:async(o,i,N=[])=>{const c=qe(n.toString(),...N);if(c.options?.isAnalytics)return o.apply(i,N);const T=uuid();r?.networkCallEvent(prepareNetworkEventProps(T,c));const Y=await o.apply(i,N);return r?.networkCallEvent(prepareNetworkEventProps(T,c,Y)),Y}});return new Proxy(e,{get(n,o){const i=n[o];return typeof i=="function"&&Ze.has(o)?new Proxy(i,t({prop:o})):i}})}const ne=(e,r,t)=>({callType:t?D.REQUEST_END:D.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error),method:r.method,responseCode:t?.status,url:r.url}),oe="3.6.1",ye=oe,er=typeof atob=="function",rr=typeof btoa=="function",F=typeof Buffer=="function",ie=typeof TextDecoder=="function"?new TextDecoder:void 0,Ae=typeof TextEncoder=="function"?new TextEncoder:void 0,w=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],K=(e=>{let r={};return e.forEach((t,n)=>r[t]=n),r})(w),tr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,C=String.fromCharCode.bind(String),_e=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(e,r=t=>t)=>new Uint8Array(Array.prototype.slice.call(e,0).map(r)),ce=e=>e.replace(/[+\/]/g,r=>r=="+"?"-":"_").replace(/=+$/m,""),se=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Ee=e=>{let r,t,n,o,i="";const N=e.length%3;for(let c=0;c<e.length;){if((t=e.charCodeAt(c++))>255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");r=t<<16|n<<8|o,i+=w[r>>18&63]+w[r>>12&63]+w[r>>6&63]+w[r&63]}return N?i.slice(0,N-3)+"===".substring(N):i},$=rr?e=>btoa(e):F?e=>Buffer.from(e,"binary").toString("base64"):Ee,Q=F?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let n=0,o=e.length;n<o;n+=4096)t.push(C.apply(null,e.subarray(n,n+4096)));return $(t.join(""))},W=(e,r=!1)=>r?ce(Q(e)):Q(e),nr=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?C(192|r>>>6)+C(128|r&63):C(224|r>>>12&15)+C(128|r>>>6&63)+C(128|r&63)}else{var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return C(240|r>>>18&7)+C(128|r>>>12&63)+C(128|r>>>6&63)+C(128|r&63)}},or=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ae=e=>e.replace(or,nr),ue=F?e=>Buffer.from(e,"utf8").toString("base64"):Ae?e=>Q(Ae.encode(e)):e=>$(ae(e)),H=(e,r=!1)=>r?ce(ue(e)):ue(e),Re=e=>H(e,!0),ir=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Ar=e=>{switch(e.length){case 4:var r=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),t=r-65536;return C((t>>>10)+55296)+C((t&1023)+56320);case 3:return C((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return C((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Oe=e=>e.replace(ir,Ar),Ne=e=>{if(e=e.replace(/\s+/g,""),!tr.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let r,t="",n,o;for(let i=0;i<e.length;)r=K[e.charAt(i++)]<<18|K[e.charAt(i++)]<<12|(n=K[e.charAt(i++)])<<6|(o=K[e.charAt(i++)]),t+=n===64?C(r>>16&255):o===64?C(r>>16&255,r>>8&255):C(r>>16&255,r>>8&255,r&255);return t},Z=er?e=>atob(se(e)):F?e=>Buffer.from(e,"base64").toString("binary"):Ne,de=F?e=>_e(Buffer.from(e,"base64")):e=>_e(Z(e),r=>r.charCodeAt(0)),De=e=>de(Te(e)),_r=F?e=>Buffer.from(e,"base64").toString("utf8"):ie?e=>ie.decode(de(e)):e=>Oe(Z(e)),Te=e=>se(e.replace(/[-_]/g,r=>r=="-"?"+":"/")),J=e=>_r(Te(e)),cr=e=>{if(typeof e!="string")return!1;const r=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)},fe=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Pe=function(){const e=(r,t)=>Object.defineProperty(String.prototype,r,fe(t));e("fromBase64",function(){return J(this)}),e("toBase64",function(r){return H(this,r)}),e("toBase64URI",function(){return H(this,!0)}),e("toBase64URL",function(){return H(this,!0)}),e("toUint8Array",function(){return De(this)})},Ce=function(){const e=(r,t)=>Object.defineProperty(Uint8Array.prototype,r,fe(t));e("toBase64",function(r){return W(this,r)}),e("toBase64URI",function(){return W(this,!0)}),e("toBase64URL",function(){return W(this,!0)})},le={version:oe,VERSION:ye,atob:Z,atobPolyfill:Ne,btoa:$,btoaPolyfill:Ee,fromBase64:J,toBase64:H,encode:H,encodeURI:Re,encodeURL:Re,utob:ae,btou:Oe,decode:J,isValid:cr,fromUint8Array:W,toUint8Array:De,extendString:Pe,extendUint8Array:Ce,extendBuiltins:()=>{Pe(),Ce()}},sr={encode:Er,decode:le.decode};function Er(e,r={}){const{urlSafe:t=!1}=r;return le.encode(e,t)}function ar(e){const r=Or(e),t=r.exp*1e3;if(Date.now()>t)throw new Error(`${ur}. Expiration date: ${new Date(t).toISOString()}`);return r}const Se="The provided `clientToken`",ur=`${Se} has expired`,Rr=`${Se} is malformed`;function Or(e){try{const[r,t]=e.split("."),n=t||r;return JSON.parse(sr.decode(n))}catch{throw new Error(Rr)}}const Nr=(e,r)=>Le("get",e,r),Zr=(e,r,t)=>Le("post",e,t,JSON.stringify(r)),dr={"content-type":"application/json"},Le=(e,r,t,n)=>fetch(r,{body:n,method:e,headers:{...dr,...t}}).then(o=>o.json().catch(()=>{})),Dr="v2.36.0",Tr=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":Dr,"primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function fr(e,r,t){try{return await Nr(`${r}/?withDisplayMetadata=true`,Tr(e,t,"2.2"))}catch(n){throw new Error(["Failed to initialize client",JSON.stringify(n||void 0,void 0,2)].filter(Boolean).join(": "))}}const Pr=e=>document.head.appendChild(e),Cr=(e,r)=>{const t=document.createElement(e);return Object.entries(r).forEach(([n,o])=>t.setAttribute(n,o)),t},lr=(e,r)=>Pr(Cr(e,r)),Ie=(e,r,t)=>e.addEventListener(r,t),Sr=e=>document.querySelector(e),Ye="Can't load Primer SDK",Lr=`${Ye}'s Stylesheet`;function Ir(e){const r="script",t="src";return pe(r,t,e)&&window.__Primer?Promise.resolve():he(r,e,t,{async:"",crossorigin:"anonymous"},Ye)}function Yr(e){return Array.from(document.styleSheets).find(r=>r.href===e)?Promise.resolve():he("link",e,"href",{rel:"stylesheet"},Lr)}const he=(e,r,t,n,o)=>new Promise((i,N)=>{const c=pe(e,t,r)||lr(e,{...n,[t]:r});Ie(c,"load",()=>i()),Ie(c,"error",()=>{c?.remove(),N(new Error(o))})}),pe=(e,r,t)=>Sr(`${e}[${r}^="${t}"]`),hr="https://sdk.primer.io/web/v2.36.0/Checkout.css",pr="https://sdk.primer.io/web/v2.36.0/PrimerCoreSDK.min.js";let V;async function ge(){return V||(V=Promise.all([Mr(),gr()]).then(([e])=>e),V)}const gr=()=>Yr(hr),Mr=()=>Ir(pr).then(()=>{const e=window.__Primer;return delete window.__Primer,e}).catch(e=>{throw V=void 0,e}),vr="v2.36.0",Ur=j("createHeadless"),Br=j("showExpressCheckout"),br=j("showUniversalCheckout"),kr=j("showVaultManager"),Me="LOAD_PERFORMANCE",x=re();let b=B({checkoutSessionId:x});b.messageEvent({message:"parsed",messageType:Me,now:performance.now?.()});function j(e){return async(...[r,t,...n])=>{b.sdkFunctionEvent({name:e,params:[r,t,...n]}),b.messageEvent({message:"create",messageType:Me,now:performance.now?.()});const[o,i]=await Promise.all([Fr(r),ge()]);return i[e](o,x,r,t)}}async function Fr(e){const{accessToken:r,configurationUrl:t,analyticsUrlV2:n}=ar(e);b=B({checkoutSessionId:x,url:n});const o=`${t}/?withDisplayMetadata=true`,i=re(),N={method:"get",url:o};b.networkCallEvent(ne(i,N));const c=await fr(r,t,x),{primerAccountId:T}=c,{clientSessionId:Y}=c.clientSession;return b=B({checkoutSessionId:x,clientSessionId:Y,primerAccountId:T,url:n}),b.networkCallEvent(ne(i,N,{data:c})),c}const Hr=()=>ge().then(()=>{});var wr=(e=>(e.LOADING="Loading",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(wr||{}),Vr=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Vr||{}),xr=(e=>(e.TOKEN="PrimerCheckout__token",e.HIDDEN="PrimerCheckout--hidden",e.FOCUSED="PrimerCheckout--focused",e.SELECTED="PrimerCheckout--selected",e.LOADING="PrimerCheckout--loading",e.ERROR="PrimerCheckout--error",e.CARD_TYPE="PrimerCheckout__cardType",e.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",e.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",e.APM_BUTTON="PrimerCheckout__apmButton",e.EDIT_BUTTON="PrimerCheckout__editButton",e.MENU="PrimerCheckout__dropDownMenu",e.MENU_ITEM="PrimerCheckout__dropDownMenuItem",e.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",e.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",e.ENTER="PrimerCheckout--enter",e.ENTERING="PrimerCheckout--entering",e.ENTERED="PrimerCheckout--entered",e.EXIT="PrimerCheckout--exit",e.EXITING="PrimerCheckout--exiting",e.EXITED="PrimerCheckout--exited",e))(xr||{}),ve=(e=>(e.CHECKOUT="CHECKOUT",e.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",e))(ve||{}),Ue=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(Ue||{}),Gr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(Gr||{}),Be=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))(Be||{}),be=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL_ORDER",e.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",e.GO_CARDLESS="GOCARDLESS",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(be||{}),q=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.STRIPE_IDEAL="STRIPE_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.PAYMENT_CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL",e.GO_CARDLESS="GOCARDLESS",e.KLARNA="KLARNA",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(q||{}),mr=(e=>(e.PAYMENT_CARD="PAYMENT_CARD",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e))(mr||{}),ke=(e=>(e.SINGLE_USE="SINGLE_USE",e.MULTI_USE="MULTI_USE",e))(ke||{});const Fe={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},Jr=e=>{if(Object.values(q).includes(e))return e;if(Fe[e])return Fe[e]};var He=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_SETUP_ERROR="THREE_DS_SETUP_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.THREE_DS_NEGOTIATION_ERROR="THREE_DS_NEGOTIATION_ERROR",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.TAX_ERROR="TAX_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e))(He||{});class we extends Error{constructor(r,t,n){super(t.message),this.message=t.message,this.code=r,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,n?.messageEvent?.({message:t.message,messageType:r,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}static fromErrorCode(r,t,n){return new we(r,t,n)}}const qr=e=>{throw console.error(e.message),e};var Kr=f(473),yr=f(453);const Wr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uFF10":"0","\uFF11":"1","\uFF12":"2","\uFF13":"3","\uFF14":"4","\uFF15":"5","\uFF16":"6","\uFF17":"7","\uFF18":"8","\uFF19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06F0":"0","\u06F1":"1","\u06F2":"2","\u06F3":"3","\u06F4":"4","\u06F5":"5","\u06F6":"6","\u06F7":"7","\u06F8":"8","\u06F9":"9"};function et(e,r){return Wr[e]}const rt={error:null,errorCode:null,valid:!1,active:!1,dirty:!1,touched:!1,submitted:!1},Ve=new Set(["change","blur","focus"]);async function tt({container:e,placement:r="append",properties:t,allowedCharactersMap:n,...o},i){let N,c={...defaultFieldMetadata};const T={},Y=await new Promise(d=>{const L=i.iframes.create({container:e,filename:"secure-input.html",meta:o,onReady:()=>d(L),placement:r,payload:{allowedCharactersMap:JSON.stringify(n),properties:t}})});return window.addEventListener("message",({data:d})=>{switch(d.type){case"metadata":c=d.metadata;break;case"change":c=d.metadata,N=d.valueToken,T.change?.forEach(L=>L(N,c));break;case"blur":T.blur?.forEach(L=>L());break;case"focus":T.focus?.forEach(L=>L());break;default:break}}),{frame:Y,get metadata(){return c},name:o.name,get valueToken(){return N},remove(){Y?.remove(),Object.values(T).forEach(d=>d.clear())},addListener(d,L){if(Ve.has(d))return T[d]||(T[d]=new Set),T[d].add(L),()=>this.removeListener(d,L);console.error(`Event not supported: supported events are ${[...Ve].join(", ")}`)},addEventListener(d,L){return this.addListener(d,L)},removeListener(d,L){T[d].delete(L)},blur(){z("blur")},focus(){z("focus")}};function z(d){Y?.contentWindow?.postMessage(d,"*")}}async function nt({cardNetwork:e,...r},t){const n=`cvv-${r.name}`,o=jr(e||""),i=getTypeInfo(o),N=!e&&"`cardNetwork` was not provided"||!i&&"could not get the code size from the provided `cardNetwork`";if(N){const Y=`CvvInput: ${N}. Defaulting validation to minLength 3 and maxLength 4.`;t.analytics.messageEvent({messageType:"CARD_SECURITY_CODE_INPUT_VALIDATION",message:Y,severity:"WARN"}),console.warn(Y)}const{size:c}=i?.code??{},T={...r.properties,maxLength:c||4,minLength:c||3};return createSecureInput({...r,name:n,properties:T,allowedCharactersMap:DIGITS},t)}function jr(e){const r=toKebabCase(e);switch(r){case"union-pay":return"unionpay";default:return r}}var xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(xe||{}),Ge=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Ge||{}),me=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e))(me||{});const zr={SDK_VERSION:vr,createHeadless:Ur,showExpressCheckout:Br,showUniversalCheckout:br,showVaultManager:kr}}(),X}()});
|
|
1
|
+
(function(G,f){typeof exports=="object"&&typeof module=="object"?module.exports=f():typeof define=="function"&&define.amd?define([],f):typeof exports=="object"?exports.Primer=f():G.Primer=f()})(this,function(){return function(){var y={453:function(R,A,s){"use strict";var D=this&&this.__assign||function(){return D=Object.assign||function(_){for(var u,P=1,M=arguments.length;P<M;P++){u=arguments[P];for(var U in u)Object.prototype.hasOwnProperty.call(u,U)&&(_[U]=u[U])}return _},D.apply(this,arguments)},S=s(743),a=s(576),E=s(243),h=s(169),p=s(679),l={},O={VISA:"visa",MASTERCARD:"mastercard",AMERICAN_EXPRESS:"american-express",DINERS_CLUB:"diners-club",DISCOVER:"discover",JCB:"jcb",UNIONPAY:"unionpay",MAESTRO:"maestro",ELO:"elo",MIR:"mir",HIPER:"hiper",HIPERCARD:"hipercard"},v=[O.VISA,O.MASTERCARD,O.AMERICAN_EXPRESS,O.DINERS_CLUB,O.DISCOVER,O.JCB,O.UNIONPAY,O.MAESTRO,O.ELO,O.MIR,O.HIPER,O.HIPERCARD],I=p.clone(v);function k(_){return l[_]||S[_]}function m(){return I.map(function(_){return p.clone(k(_))})}function B(_,u){u===void 0&&(u=!1);var P=I.indexOf(_);if(!u&&P===-1)throw new Error('"'+_+'" is not a supported card type.');return P}function g(_){var u=[];if(!E.isValidInputType(_))return u;if(_.length===0)return m();I.forEach(function(M){var U=k(M);a.addMatchingCardsToResults(_,U,u)});var P=h.findBestMatch(u);return P?[P]:u}g.getTypeInfo=function(_){return p.clone(k(_))},g.removeCard=function(_){var u=B(_);I.splice(u,1)},g.addCard=function(_){var u=B(_.type,!0);l[_.type]=_,u===-1&&I.push(_.type)},g.updateCard=function(_,u){var P=l[_]||S[_];if(!P)throw new Error('"'+_+"\" is not a recognized type. Use `addCard` instead.'");if(u.type&&P.type!==u.type)throw new Error("Cannot overwrite type parameter.");var M=p.clone(P);M=D(D({},M),u),l[M.type]=M},g.changeOrder=function(_,u){var P=B(_);I.splice(P,1),I.splice(u,0,_)},g.resetModifications=function(){I=p.clone(v),l={}},g.types=O,R.exports=g},576:function(R,A,s){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.addMatchingCardsToResults=void 0;var D=s(679),S=s(864);function a(E,h,p){var l,O;for(l=0;l<h.patterns.length;l++){var v=h.patterns[l];if(S.matches(E,v)){var I=D.clone(h);Array.isArray(v)?O=String(v[0]).length:O=String(v).length,E.length>=O&&(I.matchStrength=O),p.push(I);break}}}A.addMatchingCardsToResults=a},743:function(R){"use strict";var A={visa:{niceType:"Visa",type:"visa",patterns:[4],gaps:[4,8,12],lengths:[16,18,19],code:{name:"CVV",size:3}},mastercard:{niceType:"Mastercard",type:"mastercard",patterns:[[51,55],[2221,2229],[223,229],[23,26],[270,271],2720],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},"american-express":{niceType:"American Express",type:"american-express",patterns:[34,37],gaps:[4,10],lengths:[15],code:{name:"CID",size:4}},"diners-club":{niceType:"Diners Club",type:"diners-club",patterns:[[300,305],36,38,39],gaps:[4,10],lengths:[14,16,19],code:{name:"CVV",size:3}},discover:{niceType:"Discover",type:"discover",patterns:[6011,[644,649],65],gaps:[4,8,12],lengths:[16,19],code:{name:"CID",size:3}},jcb:{niceType:"JCB",type:"jcb",patterns:[2131,1800,[3528,3589]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVV",size:3}},unionpay:{niceType:"UnionPay",type:"unionpay",patterns:[620,[624,626],[62100,62182],[62184,62187],[62185,62197],[62200,62205],[622010,622999],622018,[622019,622999],[62207,62209],[622126,622925],[623,626],6270,6272,6276,[627700,627779],[627781,627799],[6282,6289],6291,6292,810,[8110,8131],[8132,8151],[8152,8163],[8164,8171]],gaps:[4,8,12],lengths:[14,15,16,17,18,19],code:{name:"CVN",size:3}},maestro:{niceType:"Maestro",type:"maestro",patterns:[493698,[5e5,504174],[504176,506698],[506779,508999],[56,59],63,67,6],gaps:[4,8,12],lengths:[12,13,14,15,16,17,18,19],code:{name:"CVC",size:3}},elo:{niceType:"Elo",type:"elo",patterns:[401178,401179,438935,457631,457632,431274,451416,457393,504175,[506699,506778],[509e3,509999],627780,636297,636368,[650031,650033],[650035,650051],[650405,650439],[650485,650538],[650541,650598],[650700,650718],[650720,650727],[650901,650978],[651652,651679],[655e3,655019],[655021,655058]],gaps:[4,8,12],lengths:[16],code:{name:"CVE",size:3}},mir:{niceType:"Mir",type:"mir",patterns:[[2200,2204]],gaps:[4,8,12],lengths:[16,17,18,19],code:{name:"CVP2",size:3}},hiper:{niceType:"Hiper",type:"hiper",patterns:[637095,63737423,63743358,637568,637599,637609,637612],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}},hipercard:{niceType:"Hipercard",type:"hipercard",patterns:[606282],gaps:[4,8,12],lengths:[16],code:{name:"CVC",size:3}}};R.exports=A},679:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.clone=void 0;function s(D){return D?JSON.parse(JSON.stringify(D)):null}A.clone=s},169:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.findBestMatch=void 0;function s(S){var a=S.filter(function(E){return E.matchStrength}).length;return a>0&&a===S.length}function D(S){return s(S)?S.reduce(function(a,E){return!a||Number(a.matchStrength)<Number(E.matchStrength)?E:a}):null}A.findBestMatch=D},243:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.isValidInputType=void 0;function s(D){return typeof D=="string"||D instanceof String}A.isValidInputType=s},864:function(R,A){"use strict";Object.defineProperty(A,"__esModule",{value:!0}),A.matches=void 0;function s(a,E,h){var p=String(E).length,l=a.substr(0,p),O=parseInt(l,10);return E=parseInt(String(E).substr(0,l.length),10),h=parseInt(String(h).substr(0,l.length),10),O>=E&&O<=h}function D(a,E){return E=String(E),E.substring(0,a.length)===a.substring(0,E.length)}function S(a,E){return Array.isArray(E)?s(a,E[0],E[1]):D(a,E)}A.matches=S},476:function(){},962:function(){},473:function(){}},G={};function f(R){var A=G[R];if(A!==void 0)return A.exports;var s=G[R]={exports:{}};return y[R].call(s.exports,s,s.exports,f),s.exports}(function(){f.d=function(R,A){for(var s in A)f.o(A,s)&&!f.o(R,s)&&Object.defineProperty(R,s,{enumerable:!0,get:A[s]})}})(),function(){f.o=function(R,A){return Object.prototype.hasOwnProperty.call(R,A)}}(),function(){f.r=function(R){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})}}();var X={};return function(){"use strict";f.r(X),f.d(X,{CheckoutUXFlow:function(){return ve},CvvInput:function(){return R.CvvInput},ErrorCode:function(){return He},EventTypes:function(){return Ge},HeadlessManagerType:function(){return me},PaymentFlow:function(){return Ue},PaymentInstrumentType:function(){return be},PaymentMethodData:function(){return Kr.PaymentMethodData},PaymentMethodType:function(){return q},Primer:function(){return zr},SuccessScreenType:function(){return xe},ThreeDSecureStatus:function(){return Be},TokenType:function(){return ke},preloadPrimer:function(){return Hr}});var R={};f.r(R);var A=f(476),s=f(962),D=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(D||{}),S=(e=>(e.START="START",e.END="END",e))(S||{}),a=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(a||{});const E={get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.37.1";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":t=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||r}};var h=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(h||{});async function p(){if(typeof navigator>"u")return;const e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}const l="WEB",O=E.get("PRIMER_SDK_VERSION");async function v(e,r,t){return{...t,createdAt:Date.now(),device:await p(),eventType:e,properties:r,sdkVersion:O,sdkType:l}}const I="https://analytics.production.data.primer.io/sdk-logs",k=1024*5,m=e=>`@primer/analytics/${e}`;function B({url:e=I,...r}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&g(e)});const t=n=>async o=>{if(typeof navigator>"u")return;const i=await v(n,o,r),c=u(i,T=>P(M(T)));_(e,c)};return{crashEvent:t(a.CRASH_EVENT),messageEvent:t(a.MESSAGE_EVENT),networkCallEvent:t(a.NETWORK_CALL_EVENT),sdkFunctionEvent:t(a.SDK_FUNCTION_EVENT),timerEvent:t(a.TIMER_EVENT),v1Event:t(a.V1_EVENT)}}function g(e){const r=m(e),t=sessionStorage.getItem(r);sessionStorage.removeItem(r),t&&navigator.sendBeacon(e,t)}function _(e,r){const t=m(e);sessionStorage.setItem(t,`[${[sessionStorage.getItem(t)?.slice(1,-1),JSON.stringify(r)].filter(Boolean).join(",")}]`)}function u(e,r){const t=n=>typeof n=="object"&&n!==null?u(n,r):r(n);return Array.isArray(e)?e.map(t):Object.fromEntries(Object.entries(e).map(([n,o])=>[n,t(o)]))}function P(e){return typeof e=="string"&&e.length>k?`${e.slice(0,k)}...`:e}function M(e){return typeof e=="function"?e.name||"function":e}class U{constructor(r,t){this.type=r,this.displayName=t}get specs(){return this.constructor.specs}setOption(r,t){this.options&&(this.options[r]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(r){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(r){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}U.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},U.create=(e,r,t,n)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class Ke extends U{async tokenize(r){}}class We{get session(){const r=this.store.getState().clientSessionInfo;if(!r)throw new Error("Client Context Session does not exist");return r}}const je=[Array,Ke,We,Map,Set];function ze(e){const r=new Set,t=20;let n=0;for(;n++<t&&e&&e!==Object.prototype;)Object.getOwnPropertyNames(e).forEach(o=>r.add(o)),e=Object.getPrototypeOf(e);return[...r]}function ee(e,r,t,n,o){if(!t||je.some(i=>t instanceof i))return t;switch(typeof t){case"function":return new Proxy(t,{apply(i,N,c=[]){const T={name:r.replace(/^bound /,""),params:c,module:o};e?.sdkFunctionEvent(T);const Y=c.map((z,d)=>ee(e,`${d}`,z,n,[o,r,`${d}`].filter(Boolean).join(".")));return i.apply(N,Y)}});case"object":return t===n?t:Xe(e,t,[o,r].filter(Boolean).join("."));default:return t}}function Xe(e,r,t){return Object.fromEntries(ze(r).map(n=>{const o=r?.[n],i=ee(e,n,o,o,t);return[n,i]}))}const re=()=>te.randomUUID?.()||$e(),$e=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^Qe()>>e/4).toString(16)),Qe=()=>(te.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,te=typeof crypto<"u"?crypto:{},Ze=new Set(["post","get","delete"]),Je=new Set(["post"]);function qe(e,r,t,n){const o=Je.has(e);return{method:e,options:o?n:t,body:o?t:void 0,url:r}}function Xr(e,r){const t=({prop:n})=>({apply:async(o,i,N=[])=>{const c=qe(n.toString(),...N);if(c.options?.isAnalytics)return o.apply(i,N);const T=uuid();r?.networkCallEvent(prepareNetworkEventProps(T,c));const Y=await o.apply(i,N);return r?.networkCallEvent(prepareNetworkEventProps(T,c,Y)),Y}});return new Proxy(e,{get(n,o){const i=n[o];return typeof i=="function"&&Ze.has(o)?new Proxy(i,t({prop:o})):i}})}const ne=(e,r,t)=>({callType:t?D.REQUEST_END:D.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error),method:r.method,responseCode:t?.status,url:r.url}),oe="3.6.1",ye=oe,er=typeof atob=="function",rr=typeof btoa=="function",F=typeof Buffer=="function",ie=typeof TextDecoder=="function"?new TextDecoder:void 0,Ae=typeof TextEncoder=="function"?new TextEncoder:void 0,w=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],K=(e=>{let r={};return e.forEach((t,n)=>r[t]=n),r})(w),tr=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,C=String.fromCharCode.bind(String),_e=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(e,r=t=>t)=>new Uint8Array(Array.prototype.slice.call(e,0).map(r)),ce=e=>e.replace(/[+\/]/g,r=>r=="+"?"-":"_").replace(/=+$/m,""),se=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Ee=e=>{let r,t,n,o,i="";const N=e.length%3;for(let c=0;c<e.length;){if((t=e.charCodeAt(c++))>255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");r=t<<16|n<<8|o,i+=w[r>>18&63]+w[r>>12&63]+w[r>>6&63]+w[r&63]}return N?i.slice(0,N-3)+"===".substring(N):i},$=rr?e=>btoa(e):F?e=>Buffer.from(e,"binary").toString("base64"):Ee,Q=F?e=>Buffer.from(e).toString("base64"):e=>{let t=[];for(let n=0,o=e.length;n<o;n+=4096)t.push(C.apply(null,e.subarray(n,n+4096)));return $(t.join(""))},W=(e,r=!1)=>r?ce(Q(e)):Q(e),nr=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?C(192|r>>>6)+C(128|r&63):C(224|r>>>12&15)+C(128|r>>>6&63)+C(128|r&63)}else{var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return C(240|r>>>18&7)+C(128|r>>>12&63)+C(128|r>>>6&63)+C(128|r&63)}},or=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ae=e=>e.replace(or,nr),ue=F?e=>Buffer.from(e,"utf8").toString("base64"):Ae?e=>Q(Ae.encode(e)):e=>$(ae(e)),H=(e,r=!1)=>r?ce(ue(e)):ue(e),Re=e=>H(e,!0),ir=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Ar=e=>{switch(e.length){case 4:var r=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),t=r-65536;return C((t>>>10)+55296)+C((t&1023)+56320);case 3:return C((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return C((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},Oe=e=>e.replace(ir,Ar),Ne=e=>{if(e=e.replace(/\s+/g,""),!tr.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let r,t="",n,o;for(let i=0;i<e.length;)r=K[e.charAt(i++)]<<18|K[e.charAt(i++)]<<12|(n=K[e.charAt(i++)])<<6|(o=K[e.charAt(i++)]),t+=n===64?C(r>>16&255):o===64?C(r>>16&255,r>>8&255):C(r>>16&255,r>>8&255,r&255);return t},Z=er?e=>atob(se(e)):F?e=>Buffer.from(e,"base64").toString("binary"):Ne,de=F?e=>_e(Buffer.from(e,"base64")):e=>_e(Z(e),r=>r.charCodeAt(0)),De=e=>de(Te(e)),_r=F?e=>Buffer.from(e,"base64").toString("utf8"):ie?e=>ie.decode(de(e)):e=>Oe(Z(e)),Te=e=>se(e.replace(/[-_]/g,r=>r=="-"?"+":"/")),J=e=>_r(Te(e)),cr=e=>{if(typeof e!="string")return!1;const r=e.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)},fe=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Pe=function(){const e=(r,t)=>Object.defineProperty(String.prototype,r,fe(t));e("fromBase64",function(){return J(this)}),e("toBase64",function(r){return H(this,r)}),e("toBase64URI",function(){return H(this,!0)}),e("toBase64URL",function(){return H(this,!0)}),e("toUint8Array",function(){return De(this)})},Ce=function(){const e=(r,t)=>Object.defineProperty(Uint8Array.prototype,r,fe(t));e("toBase64",function(r){return W(this,r)}),e("toBase64URI",function(){return W(this,!0)}),e("toBase64URL",function(){return W(this,!0)})},le={version:oe,VERSION:ye,atob:Z,atobPolyfill:Ne,btoa:$,btoaPolyfill:Ee,fromBase64:J,toBase64:H,encode:H,encodeURI:Re,encodeURL:Re,utob:ae,btou:Oe,decode:J,isValid:cr,fromUint8Array:W,toUint8Array:De,extendString:Pe,extendUint8Array:Ce,extendBuiltins:()=>{Pe(),Ce()}},sr={encode:Er,decode:le.decode};function Er(e,r={}){const{urlSafe:t=!1}=r;return le.encode(e,t)}function ar(e){const r=Or(e),t=r.exp*1e3;if(Date.now()>t)throw new Error(`${ur}. Expiration date: ${new Date(t).toISOString()}`);return r}const Se="The provided `clientToken`",ur=`${Se} has expired`,Rr=`${Se} is malformed`;function Or(e){try{const[r,t]=e.split("."),n=t||r;return JSON.parse(sr.decode(n))}catch{throw new Error(Rr)}}const Nr=(e,r)=>Le("get",e,r),Zr=(e,r,t)=>Le("post",e,t,JSON.stringify(r)),dr={"content-type":"application/json"},Le=(e,r,t,n)=>fetch(r,{body:n,method:e,headers:{...dr,...t}}).then(o=>o.json().catch(()=>{})),Dr="v2.37.1",Tr=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":Dr,"primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function fr(e,r,t){try{return await Nr(`${r}/?withDisplayMetadata=true`,Tr(e,t,"2.2"))}catch(n){throw new Error(["Failed to initialize client",JSON.stringify(n||void 0,void 0,2)].filter(Boolean).join(": "))}}const Pr=e=>document.head.appendChild(e),Cr=(e,r)=>{const t=document.createElement(e);return Object.entries(r).forEach(([n,o])=>t.setAttribute(n,o)),t},lr=(e,r)=>Pr(Cr(e,r)),Ie=(e,r,t)=>e.addEventListener(r,t),Sr=e=>document.querySelector(e),Ye="Can't load Primer SDK",Lr=`${Ye}'s Stylesheet`;function Ir(e){const r="script",t="src";return pe(r,t,e)&&window.__Primer?Promise.resolve():he(r,e,t,{async:"",crossorigin:"anonymous"},Ye)}function Yr(e){return Array.from(document.styleSheets).find(r=>r.href===e)?Promise.resolve():he("link",e,"href",{rel:"stylesheet"},Lr)}const he=(e,r,t,n,o)=>new Promise((i,N)=>{const c=pe(e,t,r)||lr(e,{...n,[t]:r});Ie(c,"load",()=>i()),Ie(c,"error",()=>{c?.remove(),N(new Error(o))})}),pe=(e,r,t)=>Sr(`${e}[${r}^="${t}"]`),hr="https://sdk.primer.io/web/v2.37.1/Checkout.css",pr="https://sdk.primer.io/web/v2.37.1/PrimerCoreSDK.min.js";let V;async function ge(){return V||(V=Promise.all([Mr(),gr()]).then(([e])=>e),V)}const gr=()=>Yr(hr),Mr=()=>Ir(pr).then(()=>{const e=window.__Primer;return delete window.__Primer,e}).catch(e=>{throw V=void 0,e}),vr="v2.37.1",Ur=j("createHeadless"),Br=j("showExpressCheckout"),br=j("showUniversalCheckout"),kr=j("showVaultManager"),Me="LOAD_PERFORMANCE",x=re();let b=B({checkoutSessionId:x});b.messageEvent({message:"parsed",messageType:Me,now:performance.now?.()});function j(e){return async(...[r,t,...n])=>{b.sdkFunctionEvent({name:e,params:[r,t,...n]}),b.messageEvent({message:"create",messageType:Me,now:performance.now?.()});const[o,i]=await Promise.all([Fr(r),ge()]);return i[e](o,x,r,t)}}async function Fr(e){const{accessToken:r,configurationUrl:t,analyticsUrlV2:n}=ar(e);b=B({checkoutSessionId:x,url:n});const o=`${t}/?withDisplayMetadata=true`,i=re(),N={method:"get",url:o};b.networkCallEvent(ne(i,N));const c=await fr(r,t,x),{primerAccountId:T}=c,{clientSessionId:Y}=c.clientSession;return b=B({checkoutSessionId:x,clientSessionId:Y,primerAccountId:T,url:n}),b.networkCallEvent(ne(i,N,{data:c})),c}const Hr=()=>ge().then(()=>{});var wr=(e=>(e.LOADING="Loading",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(wr||{}),Vr=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Vr||{}),xr=(e=>(e.TOKEN="PrimerCheckout__token",e.HIDDEN="PrimerCheckout--hidden",e.FOCUSED="PrimerCheckout--focused",e.SELECTED="PrimerCheckout--selected",e.LOADING="PrimerCheckout--loading",e.ERROR="PrimerCheckout--error",e.CARD_TYPE="PrimerCheckout__cardType",e.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",e.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",e.APM_BUTTON="PrimerCheckout__apmButton",e.EDIT_BUTTON="PrimerCheckout__editButton",e.MENU="PrimerCheckout__dropDownMenu",e.MENU_ITEM="PrimerCheckout__dropDownMenuItem",e.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",e.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",e.ENTER="PrimerCheckout--enter",e.ENTERING="PrimerCheckout--entering",e.ENTERED="PrimerCheckout--entered",e.EXIT="PrimerCheckout--exit",e.EXITING="PrimerCheckout--exiting",e.EXITED="PrimerCheckout--exited",e))(xr||{}),ve=(e=>(e.CHECKOUT="CHECKOUT",e.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",e))(ve||{}),Ue=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(Ue||{}),Gr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(Gr||{}),Be=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))(Be||{}),be=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL_ORDER",e.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",e.GO_CARDLESS="GOCARDLESS",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(be||{}),q=(e=>(e.WORLDPAY_IDEAL="WORLDPAY_IDEAL",e.STRIPE_IDEAL="STRIPE_IDEAL",e.ADYEN_KLARNA="ADYEN_KLARNA",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",e.ADYEN_EPS="ADYEN_EPS",e.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",e.OMISE_PROMPTPAY="OMISE_PROMPTPAY",e.OMISE_TRUEMONEY="OMISE_TRUEMONEY",e.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",e.PACYPAY_WECHAT="PACYPAY_WECHAT",e.PACYPAY_ALIPAY="PACYPAY_ALIPAY",e.ADYEN_MBWAY="ADYEN_MBWAY",e.XENDIT_DANA="XENDIT_DANA",e.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",e.ADYEN_PAYSHOP="ADYEN_PAYSHOP",e.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",e.CLEARPAY="CLEARPAY",e.RAPYD_FAST="RAPYD_FAST",e.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",e.RAPYD_GCASH="RAPYD_GCASH",e.RAPYD_POLI="RAPYD_POLI",e.RAPYD_GRABPAY="RAPYD_GRABPAY",e.PRIMER_PAYPAL="PRIMER_PAYPAL",e.TWOC2P="TWOC2P",e.NETS="NETS",e.STRIPE_GIROPAY="STRIPE_GIROPAY",e.MOLLIE_GIROPAY="MOLLIE_GIROPAY",e.MOLLIE_EPS="MOLLIE_EPS",e.PAY_NL_EPS="PAY_NL_EPS",e.PAY_NL_P24="PAY_NL_P24",e.MOLLIE_P24="MOLLIE_P24",e.MOLLIE_SOFORT="MOLLIE_SOFORT",e.COINBASE="COINBASE",e.OPENNODE="OPENNODE",e.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",e.XFERS_PAYNOW="XFERS_PAYNOW",e.PAYMENT_CARD="PAYMENT_CARD",e.APPLE_PAY="APPLE_PAY",e.GOOGLE_PAY="GOOGLE_PAY",e.PAYPAL="PAYPAL",e.GO_CARDLESS="GOCARDLESS",e.KLARNA="KLARNA",e.PAY_NL_IDEAL="PAY_NL_IDEAL",e.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",e.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",e.PAY_NL_PAYPAL="PAY_NL_PAYPAL",e.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",e.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",e.PAY_NL_GIROPAY="PAY_NL_GIROPAY",e.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",e.HOOLAH="HOOLAH",e.ADYEN_BLIK="ADYEN_BLIK",e.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",e.ADYEN_VIPPS="ADYEN_VIPPS",e.ADYEN_GIROPAY="ADYEN_GIROPAY",e.ADYEN_SOFORT="ADYEN_SOFORT",e.ADYEN_TRUSTLY="ADYEN_TRUSTLY",e.ADYEN_ALIPAY="ADYEN_ALIPAY",e.ADYEN_TWINT="ADYEN_TWINT",e.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",e.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",e.MOLLIE_IDEAL="MOLLIE_IDEAL",e.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",e.BUCKAROO_EPS="BUCKAROO_EPS",e.BUCKAROO_SOFORT="BUCKAROO_SOFORT",e.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",e.BUCKAROO_IDEAL="BUCKAROO_IDEAL",e.ATOME="ATOME",e))(q||{}),mr=(e=>(e.PAYMENT_CARD="PAYMENT_CARD",e.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",e))(mr||{}),ke=(e=>(e.SINGLE_USE="SINGLE_USE",e.MULTI_USE="MULTI_USE",e))(ke||{});const Fe={PAYPAL_BILLING_AGREEMENT:"PAYPAL"},Jr=e=>{if(Object.values(q).includes(e))return e;if(Fe[e])return Fe[e]};var He=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_SETUP_ERROR="THREE_DS_SETUP_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.THREE_DS_NEGOTIATION_ERROR="THREE_DS_NEGOTIATION_ERROR",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.TAX_ERROR="TAX_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e))(He||{});class we extends Error{constructor(r,t,n){super(t.message),this.message=t.message,this.code=r,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,n?.messageEvent?.({message:t.message,messageType:r,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}static fromErrorCode(r,t,n){return new we(r,t,n)}}const qr=e=>{throw console.error(e.message),e};var Kr=f(473),yr=f(453);const Wr={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uFF10":"0","\uFF11":"1","\uFF12":"2","\uFF13":"3","\uFF14":"4","\uFF15":"5","\uFF16":"6","\uFF17":"7","\uFF18":"8","\uFF19":"9","\u0660":"0","\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u06F0":"0","\u06F1":"1","\u06F2":"2","\u06F3":"3","\u06F4":"4","\u06F5":"5","\u06F6":"6","\u06F7":"7","\u06F8":"8","\u06F9":"9"};function et(e,r){return Wr[e]}const rt={error:null,errorCode:null,valid:!1,active:!1,dirty:!1,touched:!1,submitted:!1},Ve=new Set(["change","blur","focus"]);async function tt({container:e,placement:r="append",properties:t,allowedCharactersMap:n,...o},i){let N,c={...defaultFieldMetadata};const T={},Y=await new Promise(d=>{const L=i.iframes.create({container:e,filename:"secure-input.html",meta:o,onReady:()=>d(L),placement:r,payload:{allowedCharactersMap:JSON.stringify(n),properties:t}})});return window.addEventListener("message",({data:d})=>{switch(d.type){case"metadata":c=d.metadata;break;case"change":c=d.metadata,N=d.valueToken,T.change?.forEach(L=>L(N,c));break;case"blur":T.blur?.forEach(L=>L());break;case"focus":T.focus?.forEach(L=>L());break;default:break}}),{frame:Y,get metadata(){return c},name:o.name,get valueToken(){return N},remove(){Y?.remove(),Object.values(T).forEach(d=>d.clear())},addListener(d,L){if(Ve.has(d))return T[d]||(T[d]=new Set),T[d].add(L),()=>this.removeListener(d,L);console.error(`Event not supported: supported events are ${[...Ve].join(", ")}`)},addEventListener(d,L){return this.addListener(d,L)},removeListener(d,L){T[d].delete(L)},blur(){z("blur")},focus(){z("focus")}};function z(d){Y?.contentWindow?.postMessage(d,"*")}}async function nt({cardNetwork:e,...r},t){const n=`cvv-${r.name}`,o=jr(e||""),i=getTypeInfo(o),N=!e&&"`cardNetwork` was not provided"||!i&&"could not get the code size from the provided `cardNetwork`";if(N){const Y=`CvvInput: ${N}. Defaulting validation to minLength 3 and maxLength 4.`;t.analytics.messageEvent({messageType:"CARD_SECURITY_CODE_INPUT_VALIDATION",message:Y,severity:"WARN"}),console.warn(Y)}const{size:c}=i?.code??{},T={...r.properties,maxLength:c||4,minLength:c||3};return createSecureInput({...r,name:n,properties:T,allowedCharactersMap:DIGITS},t)}function jr(e){const r=toKebabCase(e);switch(r){case"union-pay":return"unionpay";default:return r}}var xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(xe||{}),Ge=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Ge||{}),me=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e))(me||{});const zr={SDK_VERSION:vr,createHeadless:Ur,showExpressCheckout:Br,showUniversalCheckout:br,showVaultManager:kr}}(),X}()});
|
package/dist/index.d.ts
CHANGED
|
@@ -416,7 +416,7 @@ export interface IFrameMessagePayloadMeta {
|
|
|
416
416
|
css?: string;
|
|
417
417
|
stylesheets?: Stylesheet[];
|
|
418
418
|
ariaLabel?: string;
|
|
419
|
-
allowedCardNetworks?:
|
|
419
|
+
allowedCardNetworks?: string[];
|
|
420
420
|
[x: string]: unknown;
|
|
421
421
|
}
|
|
422
422
|
export interface IFrameInputMessagePayload<T = unknown> {
|
|
@@ -460,7 +460,7 @@ export type CreateIFrameOptionsMeta = {
|
|
|
460
460
|
placeholder?: string;
|
|
461
461
|
css?: string;
|
|
462
462
|
stylesheets?: string[];
|
|
463
|
-
allowedCardNetworks?:
|
|
463
|
+
allowedCardNetworks?: string[];
|
|
464
464
|
};
|
|
465
465
|
export interface CreateIFrameOptions {
|
|
466
466
|
filename: string;
|
|
@@ -634,6 +634,7 @@ export interface ClientSessionAddress {
|
|
|
634
634
|
}
|
|
635
635
|
export interface ClientSessionPaymentMethodOptions {
|
|
636
636
|
options?: PaymentMethodOption[];
|
|
637
|
+
orderedAllowedCardNetworks: string[];
|
|
637
638
|
vaultOnSuccess: boolean;
|
|
638
639
|
}
|
|
639
640
|
export interface PaymentMethodOption {
|
|
@@ -667,8 +668,9 @@ export interface ClientSession {
|
|
|
667
668
|
nationalDocumentId?: string;
|
|
668
669
|
};
|
|
669
670
|
paymentMethod?: {
|
|
670
|
-
vaultOnSuccess?: boolean;
|
|
671
671
|
options?: Record<string, any>;
|
|
672
|
+
orderedAllowedCardNetworks?: string[];
|
|
673
|
+
vaultOnSuccess?: boolean;
|
|
672
674
|
};
|
|
673
675
|
}
|
|
674
676
|
export interface InternalClientSession {
|
|
@@ -752,6 +754,7 @@ export interface ClientSessionInfo {
|
|
|
752
754
|
isTeardown: boolean;
|
|
753
755
|
}
|
|
754
756
|
export interface ClientConfiguration {
|
|
757
|
+
binDataUrl: string;
|
|
755
758
|
checkoutModules: CheckoutModuleConfig[];
|
|
756
759
|
clientSession: InternalClientSession;
|
|
757
760
|
coreUrl: string;
|
|
@@ -1260,7 +1263,9 @@ declare class PrimerClientError extends Error {
|
|
|
1260
1263
|
constructor(code: ErrorCode, options: ErrorOptions, analytics?: Analytics);
|
|
1261
1264
|
}
|
|
1262
1265
|
export interface CardMetadata {
|
|
1266
|
+
/** @deprecated Use onCardNetworksChange instead. */
|
|
1263
1267
|
type: CardNetwork | null;
|
|
1268
|
+
/** @deprecated Use onCardNetworksChange instead. */
|
|
1264
1269
|
possibleTypes: string[];
|
|
1265
1270
|
cvvLength: number;
|
|
1266
1271
|
cardNumberLength: number;
|
|
@@ -1703,7 +1708,7 @@ export interface ClientSessionHandlers {
|
|
|
1703
1708
|
onClientSessionUpdate?: (clientSession: ClientSession) => void;
|
|
1704
1709
|
onBeforeClientSessionUpdate?: () => void;
|
|
1705
1710
|
}
|
|
1706
|
-
export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers, PaymentHandlers, ClientSessionHandlers, PaymentMethodHandlers {
|
|
1711
|
+
export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers, PaymentHandlers, ClientSessionHandlers, PaymentMethodHandlers, WithAllowedCardNetworks {
|
|
1707
1712
|
uxFlow: CheckoutUXFlow.SINGLE_PAYMENT_METHOD_CHECKOUT;
|
|
1708
1713
|
container: string | Element;
|
|
1709
1714
|
paymentMethod: PaymentMethodType;
|
|
@@ -1716,7 +1721,6 @@ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers
|
|
|
1716
1721
|
form?: FormOptions;
|
|
1717
1722
|
scene?: SceneOptions;
|
|
1718
1723
|
vault?: VaultOptions;
|
|
1719
|
-
allowedCardNetworks?: CardNetwork[];
|
|
1720
1724
|
redirect?: RedirectOptions;
|
|
1721
1725
|
card?: CheckoutCardOptions;
|
|
1722
1726
|
giftCard?: CustomizablePaymentMethodButton;
|
|
@@ -1727,7 +1731,7 @@ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers
|
|
|
1727
1731
|
directDebit?: DirectDebitOptions;
|
|
1728
1732
|
paymentHandling?: PaymentHandling;
|
|
1729
1733
|
}
|
|
1730
|
-
export interface VaultManagerOptions {
|
|
1734
|
+
export interface VaultManagerOptions extends WithAllowedCardNetworks {
|
|
1731
1735
|
container: string | Element;
|
|
1732
1736
|
locale?: SupportedLocale;
|
|
1733
1737
|
vaultOnly?: boolean;
|
|
@@ -1738,7 +1742,6 @@ export interface VaultManagerOptions {
|
|
|
1738
1742
|
form?: FormOptions;
|
|
1739
1743
|
submitButton?: SubmitButtonOptions;
|
|
1740
1744
|
processingIndicator?: ProcessingIndicatorOptions;
|
|
1741
|
-
allowedCardNetworks?: CardNetwork[];
|
|
1742
1745
|
card?: CheckoutCardOptions;
|
|
1743
1746
|
threeDSecure?: ThreeDSVerificationOptions;
|
|
1744
1747
|
giftCard?: CustomizablePaymentMethodButton;
|
|
@@ -1750,7 +1753,7 @@ export interface VaultManagerOptions {
|
|
|
1750
1753
|
onTokenizeSuccess?: (data: PaymentMethodToken) => void;
|
|
1751
1754
|
onTokenizeError?: (message: PrimerClientError) => void;
|
|
1752
1755
|
}
|
|
1753
|
-
export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers {
|
|
1756
|
+
export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
|
|
1754
1757
|
uxFlow?: CheckoutUXFlow.CHECKOUT;
|
|
1755
1758
|
container: string | Element;
|
|
1756
1759
|
locale?: SupportedLocale;
|
|
@@ -1763,7 +1766,6 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
|
|
|
1763
1766
|
successScreen?: SuccessScreenOptions;
|
|
1764
1767
|
form?: FormOptions;
|
|
1765
1768
|
allowedPaymentMethods?: PaymentMethodType[];
|
|
1766
|
-
allowedCardNetworks?: CardNetwork[];
|
|
1767
1769
|
card?: CheckoutCardOptions;
|
|
1768
1770
|
redirect?: RedirectOptions;
|
|
1769
1771
|
paypal?: Omit<PayPalOptions, "container">;
|
|
@@ -1775,11 +1777,10 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
|
|
|
1775
1777
|
paymentHandling?: PaymentHandling;
|
|
1776
1778
|
advanced?: AdvancedOptions;
|
|
1777
1779
|
}
|
|
1778
|
-
export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers {
|
|
1780
|
+
export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
|
|
1779
1781
|
style?: CheckoutStyle;
|
|
1780
1782
|
paymentHandling?: PaymentHandling;
|
|
1781
1783
|
locale?: SupportedLocale;
|
|
1782
|
-
allowedCardNetworks?: CardNetwork[];
|
|
1783
1784
|
card?: CheckoutCardOptions;
|
|
1784
1785
|
redirect?: RedirectOptions;
|
|
1785
1786
|
paypal?: Omit<PayPalOptions, "container">;
|
|
@@ -1790,6 +1791,10 @@ export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers,
|
|
|
1790
1791
|
giftCard?: CustomizablePaymentMethodButton;
|
|
1791
1792
|
onAvailablePaymentMethodsLoad: (paymentMethods: PaymentMethodInfo[]) => void;
|
|
1792
1793
|
}
|
|
1794
|
+
export type WithAllowedCardNetworks = {
|
|
1795
|
+
/** @deprecated Use `orderedAllowedCardNetworks` on your Primer Dashboard instead. */
|
|
1796
|
+
allowedCardNetworks?: CardNetwork[];
|
|
1797
|
+
};
|
|
1793
1798
|
export interface PrimerCheckout {
|
|
1794
1799
|
teardown(): void;
|
|
1795
1800
|
submit(): void;
|
|
@@ -1832,10 +1837,13 @@ export interface ICardPaymentMethodManager {
|
|
|
1832
1837
|
};
|
|
1833
1838
|
setCardholderName(cardholderName: string): void;
|
|
1834
1839
|
removeHostedInputs(): void;
|
|
1835
|
-
submit(): Promise<void>;
|
|
1840
|
+
submit(values?: CardPaymentMethodSubmitValues): Promise<void>;
|
|
1836
1841
|
validate(): Promise<Validation>;
|
|
1837
1842
|
reset(): void;
|
|
1838
1843
|
}
|
|
1844
|
+
export type CardPaymentMethodSubmitValues = {
|
|
1845
|
+
cardNetwork?: string;
|
|
1846
|
+
};
|
|
1839
1847
|
export interface PayPalStyles {
|
|
1840
1848
|
buttonColor?: "gold" | "blue" | "silver" | "white" | "black";
|
|
1841
1849
|
buttonShape?: "pill" | "rect";
|
|
@@ -1886,11 +1894,38 @@ export type ButtonPaymentMethodAsset = {
|
|
|
1886
1894
|
paymentMethodName?: string;
|
|
1887
1895
|
};
|
|
1888
1896
|
export interface IAssetsManager {
|
|
1897
|
+
getCardNetworkAsset(cardNetwork: string): Promise<CardNetworkAsset>;
|
|
1889
1898
|
getPaymentMethodAsset(type: PaymentMethodType): Promise<ButtonPaymentMethodAsset | null>;
|
|
1890
1899
|
}
|
|
1900
|
+
export type CardNetworkAsset = {
|
|
1901
|
+
cardUrl: string;
|
|
1902
|
+
displayName: string;
|
|
1903
|
+
};
|
|
1891
1904
|
export interface CardPaymentMethodManagerOptions {
|
|
1892
1905
|
onCardMetadataChange?: (metadata: CardMetadata) => void;
|
|
1906
|
+
onCardNetworksChange?: (event: CardNetworkChangeEvent) => void;
|
|
1907
|
+
onCardNetworksLoading?: () => void;
|
|
1893
1908
|
}
|
|
1909
|
+
export type CardNetworkChangeEvent = {
|
|
1910
|
+
detectedCardNetworks: CardNetworks;
|
|
1911
|
+
selectableCardNetworks?: CardNetworks;
|
|
1912
|
+
source: "REMOTE" | "LOCAL" | "LOCAL_FALLBACK";
|
|
1913
|
+
};
|
|
1914
|
+
export type CardNetworks = {
|
|
1915
|
+
items: CardNetworkDetails[];
|
|
1916
|
+
preferred?: CardNetworkDetails;
|
|
1917
|
+
};
|
|
1918
|
+
export type CardNetworkDetails = CardNetworkInfo & {
|
|
1919
|
+
allowed: boolean;
|
|
1920
|
+
};
|
|
1921
|
+
export type CardNetworkInfo = {
|
|
1922
|
+
displayName: string;
|
|
1923
|
+
network: string;
|
|
1924
|
+
};
|
|
1925
|
+
export type CardNetworksAndSource = {
|
|
1926
|
+
networks: CardNetworkInfo[];
|
|
1927
|
+
source: CardNetworkChangeEvent["source"];
|
|
1928
|
+
};
|
|
1894
1929
|
export type PaymentMethodManagerOptions = CardPaymentMethodManagerOptions;
|
|
1895
1930
|
export interface PrimerHeadlessCheckout {
|
|
1896
1931
|
createPaymentMethodManager(type: "PAYMENT_CARD", options?: PaymentMethodManagerOptions): Promise<ICardPaymentMethodManager | null>;
|
|
@@ -1899,7 +1934,7 @@ export interface PrimerHeadlessCheckout {
|
|
|
1899
1934
|
createVaultManager(): HeadlessVaultManager;
|
|
1900
1935
|
configure: (options: HeadlessUniversalCheckoutOptions) => void;
|
|
1901
1936
|
getAssetsManager(): IAssetsManager;
|
|
1902
|
-
start: () => void
|
|
1937
|
+
start: () => Promise<void>;
|
|
1903
1938
|
}
|
|
1904
1939
|
export interface PrimerSinglePaymentMethodCheckout {
|
|
1905
1940
|
submit(): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@primer-io/checkout-web",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.37.1",
|
|
4
4
|
"description": "Primer.js for the web",
|
|
5
5
|
"author": "Primer Developers <developers@primer.io>",
|
|
6
6
|
"homepage": "",
|
|
@@ -24,5 +24,8 @@
|
|
|
24
24
|
"start": "node demos/server.js",
|
|
25
25
|
"lint": "run -T eslint ./src",
|
|
26
26
|
"check-types": "run -T tsc --noemit -p tsconfig.json"
|
|
27
|
+
},
|
|
28
|
+
"msw": {
|
|
29
|
+
"workerDirectory": "demos/assets"
|
|
27
30
|
}
|
|
28
31
|
}
|