@primer-io/checkout-web 2.43.0 → 2.44.0
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/Checkout.css +1 -1
- package/dist/Primer.js +2 -2
- package/dist/index.d.ts +53 -5
- package/package.json +1 -1
package/dist/Checkout.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes PrimerCheckout__loadingSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes blink{0%,100%{opacity:1}50%{opacity:.5}}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}100%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.PrimerCheckout__title{padding:0;margin:0;font-size:1.15rem;color:#262626;font-weight:500}.PrimerCheckout__sceneElement{flex:0 0 auto}.PrimerCheckout__sceneElement:not(:last-child){margin-bottom:32px}.PrimerCheckout__divider{display:flex;flex-direction:row;align-items:center;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__divider>.PrimerCheckout__label{display:inline-block;margin:0px 10px}.PrimerCheckout__divider>.PrimerCheckout__dividerLineSegment{background-color:#e0e0e0;flex:1 1 auto;height:1px}.PrimerCheckout__divider--hidden{transform:translateY(-20px);opacity:0}.PrimerCheckout__textDivider{display:flex;align-items:center;text-align:center}.PrimerCheckout__textDivider::before,.PrimerCheckout__textDivider::after{display:block;content:"";flex:1;height:1px;background:#e0e0e0;min-width:16px}.PrimerCheckout__textDivider::before{margin-right:8px}@media(max-width: 600px){.PrimerCheckout__textDivider::before{margin-right:2px}}.PrimerCheckout__textDivider::after{margin-left:8px}@media(max-width: 600px){.PrimerCheckout__textDivider::after{margin-left:2px}}.PrimerCheckout__apmButton{position:relative;display:flex;align-items:stretch;justify-content:center;overflow:hidden;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1)}.PrimerCheckout__apmButton button{cursor:pointer;width:100%;border:none}.PrimerCheckout__apmButton:focus-within{outline:2px solid #3447f4;outline-offset:2px}.PrimerCheckout__apmButton:not(:first-of-type){margin-top:8px}.PrimerCheckout__apmButton>.paypal-buttons{transition:none !important}.PrimerCheckout__apmButton--logo{border-width:1px;border-style:solid}.PrimerCheckout__apmButton--logo:hover{opacity:.8}.PrimerCheckout__apmButton--logo img{max-height:100%;max-width:calc(100% - 8px)}#primer-checkout-apm-googlePay{height:auto;min-height:40px}.PrimerCheckout__separator{margin:32px 0px;height:1px;background:#e0e0e0}.PrimerCheckout__emptyText{transform:translateY(0px);opacity:1;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__emptyText.PrimerCheckout--exit{transform:transalteY(-20px);opacity:0}.PrimerCheckout__cardTypes{width:-moz-fit-content;width:fit-content;display:flex}.PrimerCheckout__hostedInputContent{display:flex;flex-direction:row;position:absolute;top:50%;transform:translateY(-50%);overflow:hidden;pointer-events:none;right:12px;height:100%;padding:11px 0px;align-items:center}.PrimerCheckout__cardType{position:relative;width:24px;height:100%;transition:all 300ms cubic-bezier(0.4, 0, 0.2, 1),opacity 300ms cubic-bezier(0.4, 0, 0.2, 1)}.PrimerCheckout__cardType>*{width:100%;height:100%;object-fit:contain;object-position:center}.PrimerCheckout__cardType.PrimerCheckout--hidden{display:inline-block !important;width:0px;margin-right:0px;opacity:0}.PrimerCheckout__cardType.PrimerCheckout--error::after{content:"";position:absolute;right:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background-color:#ea4335}.PrimerCheckout__form{display:flex;flex-direction:column}.PrimerCheckout__formHeader{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:32px}.PrimerCheckout__formField{position:relative;flex:0}.PrimerCheckout__formField.PrimerCheckout__formField--dual{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{flex:0 1 calc(50% - 8px)}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{margin-top:0px}@media(max-width: 600px){.PrimerCheckout__formField.PrimerCheckout__formField--dual{display:flex;flex-direction:column;align-items:initial}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{flex:unset}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField+.PrimerCheckout__formField{margin-top:inherit}}.PrimerCheckout__formField.PrimerCheckout__formField--orientation-horizontal{display:flex;flex-direction:row;align-items:center}.PrimerCheckout__formField>.PrimerCheckout__label{display:inline-block;margin-left:1px}.PrimerCheckout__formField .PrimerCheckout__checkbox+.PrimerCheckout__label{cursor:pointer;margin-left:8px}.PrimerCheckout__helperText{position:relative;z-index:0;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms;transform:translateY(-20px);opacity:0}.PrimerCheckout__helperText.PrimerCheckout--enter{transform:translateY(-20px);opacity:0;margin-top:0px;animation:none}.PrimerCheckout__helperText.PrimerCheckout--entering{transform:translateY(0px);opacity:1}.PrimerCheckout__helperText.PrimerCheckout--entered{opacity:1;transform:translateY(0px)}.PrimerCheckout__helperText.PrimerCheckout--exit{opacity:1;animation:none}.PrimerCheckout__helperText.PrimerCheckout--exiting{opacity:0;transform:translateY(-20px)}.PrimerCheckout__formFieldTitle{display:flex;align-items:center}.PrimerCheckout__checkbox{-webkit-appearance:none;font-size:1rem;cursor:pointer;margin:0px;padding:8px;display:inline-block;position:relative;color:#fff;border-radius:4px;border:1px solid #bdbdbd}.PrimerCheckout__checkbox:checked{color:#fff;background-color:#3447f4;border-color:#3447f4}.PrimerCheckout__checkbox::after{content:"✓";font-size:16px;position:absolute;top:50%;left:55%;transform:translate(-50%, -50%)}#primer-checkout-vault-methods{opacity:1;transform-origin:top center;transform:translateY(0px);transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1)}#primer-checkout-vault-methods.PrimerCheckout--exit{opacity:0;transform:translateY(-100px)}.PrimerCheckout__dropDownMenu{border:1px solid #e0e0e0;border-radius:2px;display:flex;flex-direction:column;position:absolute;z-index:1000;top:0px;right:0px;width:100%;background-color:#fff;box-shadow:0px 1px 10px rgba(0,0,0,.1),0px 0px 20px rgba(52,71,244,.1);opacity:0;transform-origin:top center;transform:translateY(-10px) scaleY(0.9);transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms;pointer-events:none}.PrimerCheckout__dropDownMenu>.PrimerCheckout__label{padding:12px 12px 6px}.PrimerCheckout__dropDownMenu--enter{pointer-events:all;opacity:1;transform:translateY(0px) scaleY(1)}.PrimerCheckout__dropDownMenuItem{transition:background-color 100ms ease;padding:6px 12px}.PrimerCheckout__dropDownMenuItem:hover,.PrimerCheckout__dropDownMenuItem:focus{background-color:#eaf1ff}.PrimerCheckout__dropDownMenuItem>.PrimerCheckout__label{white-space:nowrap;color:#3447f4}.PrimerCheckout__paymentMethodDropDownMenuItem{margin:0px 16px;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__paymentMethodDropDownMenuItem:not(:last-child){border-bottom:1px solid #e0e0e0}.PrimerCheckout__paymentMethodDropDownMenuItem--disabled{pointer-events:none;opacity:.3}.PrimerCheckout__paymentMethodDropDownMenuItem__content{display:flex;flex-direction:row;align-items:center;padding:16px 0px}.PrimerCheckout__paymentMethodDropDownMenuItem__label.PrimerCheckout__label{min-width:0;margin-right:8px;font-size:.75rem;word-break:break-all}.PrimerCheckout__paymentMethodDropDownMenuItem__confirmationContainer{pointer-events:none;position:relative;height:0;padding-bottom:0px;opacity:0;transform:translateY(-20px);transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms,opacity cubic-bezier(0.4, 0, 0.2, 1) 200ms}.PrimerCheckout__paymentMethodDropDownMenuItem__confirmationContainer--enter{pointer-events:all;transform:translateY(0px);height:calc(40px + 16px);opacity:1;padding-bottom:16px}.PrimerCheckout__deleteButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4}.PrimerCheckout__deleteButton:disabled{cursor:auto}.PrimerCheckout__deleteConfirmation{height:30px}.PrimerCheckout__confirmButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;display:grid;width:100%;place-items:center;height:40px;border:1px solid #3447f4;border-radius:4px;text-align:center;color:#3447f4;font-size:.875rem}.PrimerCheckout__confirmButton:disabled{cursor:auto}.PrimerCheckout__savedPaymentMethods{display:flex;flex-direction:column}.PrimerCheckout__savedPaymentMethods__title{display:flex;flex-direction:row;align-items:center;margin-bottom:15px}button.PrimerCheckout__klarnaButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;border:1px solid #e0e0e0;border-radius:2px;display:inline-flex;place-content:center;align-items:center;cursor:pointer;width:100%;background-color:#ffb3c7;border-radius:4px}button.PrimerCheckout__klarnaButton:disabled{cursor:auto}button.PrimerCheckout__klarnaButton:enabled:hover{opacity:.7}button.PrimerCheckout__klarnaButton>span{font-weight:600}button.PrimerCheckout__klarnaButton:disabled{color:inherit}.PrimerCheckout__klarnaPaymentOptions{width:100%;position:relative;overflow:hidden;transition:height 200ms ease-in-out;padding:0px 64px}.PrimerCheckout__klarnaPaymentCategory{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;border:1px solid #e0e0e0;border-radius:2px;display:grid;grid-auto-flow:column;place-content:center;align-items:center;padding:8px 0px}.PrimerCheckout__klarnaPaymentCategory:disabled{cursor:auto}.PrimerCheckout__klarnaPaymentCategory>img{margin-right:12px}.PrimerCheckout__klarnaPaymentCategory:first-child{margin-top:20px}.PrimerCheckout__klarnaPaymentCategory+.PrimerCheckout__klarnaPaymentCategory{margin-top:12px}.PrimerCheckout__klarnaPaymentOptionButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;padding:6px 12px;width:100%;display:flex;align-items:center}.PrimerCheckout__klarnaPaymentOptionButton:disabled{cursor:auto}.PrimerCheckout__klarnaPaymentOptionButton>img{margin-right:12px}.PrimerCheckout__processingIndicatorOverlay{pointer-events:none;position:absolute;top:0px;left:0px;right:0px;bottom:0px;z-index:100;display:grid;place-items:center;transition:transform 500ms cubic-bezier(0.4, 0, 0.2, 1),opacity 300ms linear;opacity:0;transform:translateY(50px)}.PrimerCheckout__processingIndicatorOverlay.PrimerCheckout--entering,.PrimerCheckout__processingIndicatorOverlay.PrimerCheckout--entered{opacity:1;transform:translateY(0px)}.PrimerCheckout__processingIndicatorContainer{padding:32px}.PrimerCheckout__check{padding:0px 16px;align-items:center;justify-content:center;text-align:center;min-height:18rem}.PrimerCheckout__checkMarkIcon{width:3rem;padding-bottom:20px}#primer-checkout-scene-credit-card-form{padding-bottom:32px}#primer-checkout-bancontact-scene-credit-card-form{padding-bottom:32px}.PrimerCheckout__creditCardButton_icon{height:81%}.PrimerCheckout__surcharge{background:#242a2f08;border-radius:5px;display:flex;flex-direction:column;gap:4px;padding:5px;margin-top:15px}.PrimerCheckout__surcharge>.PrimerCheckout__label{text-align:right}.PrimerCheckout{box-sizing:border-box;background-color:transparent;position:relative;display:flex;flex-direction:column}.PrimerCheckout *[hidden=true]{display:none}.PrimerCheckout dialog{margin:0;padding:0}.PrimerCheckout input{outline-color:#3447f4}.PrimerCheckout div{box-sizing:border-box}.PrimerCheckout--hidden{display:none !important}.PrimerCheckout--exited{display:none}.PrimerCheckout--centered{text-align:center}.PrimerCheckout--loading #primer-checkout-payment-method-scene{pointer-events:none}.PrimerCheckout__scene{display:flex;flex-direction:column;position:relative;left:0;top:0;opacity:1}.PrimerCheckout__modalBody{display:grid;place-content:center;background-color:#fff;border-radius:3px;position:relative;box-shadow:1px 1px 5px 3px rgba(0,0,0,.05);overflow:hidden}.PrimerCheckout__modalBody>iframe{position:absolute;left:0px;top:0px;right:0px;bottom:0px;width:100%;height:100%}.PrimerCheckout__scene--3dsModal{position:fixed;top:0px;left:0px;right:0px;bottom:0px;z-index:101;width:100%;height:100% !important;display:grid;place-content:center;background-color:rgba(0,0,0,.2);transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}.PrimerCheckout__scene--3dsModal>.PrimerCheckout__modalBody{transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;transform:translateY(100vh)}.PrimerCheckout__scene--3dsModal.PrimerCheckout--enter{opacity:1}.PrimerCheckout__scene--3dsModal.PrimerCheckout--enter>.PrimerCheckout__modalBody{opacity:1;transform:translateY(0vh)}#primer-checkout-scene-vault{padding-bottom:32px}#primer-checkout-other-payment-methods{height:0px;width:0px;opacity:0;transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);visibility:hidden}#primer-checkout-other-payment-methods>*:last-child{height:32px}#primer-checkout-other-payment-methods.PrimerCheckout--entering,#primer-checkout-other-payment-methods.PrimerCheckout--entered{width:auto;opacity:1;visibility:visible}#primer-checkout-payment-method-divider{opacity:1;transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1)}#primer-checkout-payment-method-divider.PrimerCheckout--exit{opacity:0;height:0px;margin-bottom:0px}
|
|
1
|
+
@keyframes PrimerCheckout__loadingSpinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes blink{0%,100%{opacity:1}50%{opacity:.5}}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}100%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.PrimerCheckout__title{padding:0;margin:0;font-size:1.15rem;color:#262626;font-weight:500}.PrimerCheckout__sceneElement{flex:0 0 auto}.PrimerCheckout__sceneElement:not(:last-child){margin-bottom:32px}.PrimerCheckout__divider{display:flex;flex-direction:row;align-items:center;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__divider>.PrimerCheckout__label{display:inline-block;margin:0px 10px}.PrimerCheckout__divider>.PrimerCheckout__dividerLineSegment{background-color:#e0e0e0;flex:1 1 auto;height:1px}.PrimerCheckout__divider--hidden{transform:translateY(-20px);opacity:0}.PrimerCheckout__textDivider{display:flex;align-items:center;text-align:center}.PrimerCheckout__textDivider::before,.PrimerCheckout__textDivider::after{display:block;content:"";flex:1;height:1px;background:#e0e0e0;min-width:16px}.PrimerCheckout__textDivider::before{margin-right:8px}@media(max-width: 600px){.PrimerCheckout__textDivider::before{margin-right:2px}}.PrimerCheckout__textDivider::after{margin-left:8px}@media(max-width: 600px){.PrimerCheckout__textDivider::after{margin-left:2px}}.PrimerCheckout__apmButton{position:relative;display:flex;align-items:stretch;justify-content:center;overflow:hidden;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1)}.PrimerCheckout__apmButton button{cursor:pointer;width:100%;border:none}.PrimerCheckout__apmButton:focus-within{outline:2px solid #3447f4;outline-offset:2px}.PrimerCheckout__apmButton:not(:first-of-type){margin-top:8px}.PrimerCheckout__apmButton>.paypal-buttons{transition:none !important}.PrimerCheckout__apmButton--logo{border-width:1px;border-style:solid}.PrimerCheckout__apmButton--logo:hover{opacity:.8}.PrimerCheckout__apmButton--logo img{max-height:100%;max-width:calc(100% - 8px)}.PrimerCheckout__apmButton span{font-size:.833rem}#primer-checkout-apm-googlePay{height:auto;min-height:40px}.PrimerCheckout__separator{margin:32px 0px;height:1px;background:#e0e0e0}.PrimerCheckout__emptyText{transform:translateY(0px);opacity:1;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__emptyText.PrimerCheckout--exit{transform:transalteY(-20px);opacity:0}.PrimerCheckout__cardTypes{width:-moz-fit-content;width:fit-content;display:flex}.PrimerCheckout__hostedInputContent{display:flex;flex-direction:row;position:absolute;top:50%;transform:translateY(-50%);overflow:hidden;pointer-events:none;right:12px;height:100%;padding:11px 0px;align-items:center}.PrimerCheckout__cardType{position:relative;width:24px;height:100%;transition:all 300ms cubic-bezier(0.4, 0, 0.2, 1),opacity 300ms cubic-bezier(0.4, 0, 0.2, 1)}.PrimerCheckout__cardType>*{width:100%;height:100%;object-fit:contain;object-position:center}.PrimerCheckout__cardType.PrimerCheckout--hidden{display:inline-block !important;width:0px;margin-right:0px;opacity:0}.PrimerCheckout__cardType.PrimerCheckout--error::after{content:"";position:absolute;right:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background-color:#ea4335}.PrimerCheckout__form{display:flex;flex-direction:column}.PrimerCheckout__formHeader{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:32px}.PrimerCheckout__formField{position:relative;flex:0}.PrimerCheckout__formField.PrimerCheckout__formField--dual{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{flex:0 1 calc(50% - 8px)}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{margin-top:0px}@media(max-width: 600px){.PrimerCheckout__formField.PrimerCheckout__formField--dual{display:flex;flex-direction:column;align-items:initial}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField{flex:unset}.PrimerCheckout__formField.PrimerCheckout__formField--dual>.PrimerCheckout__formField+.PrimerCheckout__formField{margin-top:inherit}}.PrimerCheckout__formField.PrimerCheckout__formField--orientation-horizontal{display:flex;flex-direction:row;align-items:center}.PrimerCheckout__formField>.PrimerCheckout__label{display:inline-block;margin-left:1px}.PrimerCheckout__formField .PrimerCheckout__checkbox+.PrimerCheckout__label{cursor:pointer;margin-left:8px}.PrimerCheckout__helperText{position:relative;z-index:0;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms;transform:translateY(-20px);opacity:0}.PrimerCheckout__helperText.PrimerCheckout--enter{transform:translateY(-20px);opacity:0;margin-top:0px;animation:none}.PrimerCheckout__helperText.PrimerCheckout--entering{transform:translateY(0px);opacity:1}.PrimerCheckout__helperText.PrimerCheckout--entered{opacity:1;transform:translateY(0px)}.PrimerCheckout__helperText.PrimerCheckout--exit{opacity:1;animation:none}.PrimerCheckout__helperText.PrimerCheckout--exiting{opacity:0;transform:translateY(-20px)}.PrimerCheckout__formFieldTitle{display:flex;align-items:center}.PrimerCheckout__checkbox{-webkit-appearance:none;font-size:1rem;cursor:pointer;margin:0px;padding:8px;display:inline-block;position:relative;color:#fff;border-radius:4px;border:1px solid #bdbdbd}.PrimerCheckout__checkbox:checked{color:#fff;background-color:#3447f4;border-color:#3447f4}.PrimerCheckout__checkbox::after{content:"✓";font-size:16px;position:absolute;top:50%;left:55%;transform:translate(-50%, -50%)}#primer-checkout-vault-methods{opacity:1;transform-origin:top center;transform:translateY(0px);transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1)}#primer-checkout-vault-methods.PrimerCheckout--exit{opacity:0;transform:translateY(-100px)}.PrimerCheckout__dropDownMenu{border:1px solid #e0e0e0;border-radius:2px;display:flex;flex-direction:column;position:absolute;z-index:1000;top:0px;right:0px;width:100%;background-color:#fff;box-shadow:0px 1px 10px rgba(0,0,0,.1),0px 0px 20px rgba(52,71,244,.1);opacity:0;transform-origin:top center;transform:translateY(-10px) scaleY(0.9);transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms;pointer-events:none}.PrimerCheckout__dropDownMenu>.PrimerCheckout__label{padding:12px 12px 6px}.PrimerCheckout__dropDownMenu--enter{pointer-events:all;opacity:1;transform:translateY(0px) scaleY(1)}.PrimerCheckout__dropDownMenuItem{transition:background-color 100ms ease;padding:6px 12px}.PrimerCheckout__dropDownMenuItem:hover,.PrimerCheckout__dropDownMenuItem:focus{background-color:#eaf1ff}.PrimerCheckout__dropDownMenuItem>.PrimerCheckout__label{white-space:nowrap;color:#3447f4}.PrimerCheckout__paymentMethodDropDownMenuItem{margin:0px 16px;transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms}.PrimerCheckout__paymentMethodDropDownMenuItem:not(:last-child){border-bottom:1px solid #e0e0e0}.PrimerCheckout__paymentMethodDropDownMenuItem--disabled{pointer-events:none;opacity:.3}.PrimerCheckout__paymentMethodDropDownMenuItem__content{display:flex;flex-direction:row;align-items:center;padding:16px 0px}.PrimerCheckout__paymentMethodDropDownMenuItem__label.PrimerCheckout__label{min-width:0;margin-right:8px;font-size:.75rem;word-break:break-all}.PrimerCheckout__paymentMethodDropDownMenuItem__confirmationContainer{pointer-events:none;position:relative;height:0;padding-bottom:0px;opacity:0;transform:translateY(-20px);transition:all cubic-bezier(0.4, 0, 0.2, 1) 300ms,opacity cubic-bezier(0.4, 0, 0.2, 1) 200ms}.PrimerCheckout__paymentMethodDropDownMenuItem__confirmationContainer--enter{pointer-events:all;transform:translateY(0px);height:calc(40px + 16px);opacity:1;padding-bottom:16px}.PrimerCheckout__deleteButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4}.PrimerCheckout__deleteButton:disabled{cursor:auto}.PrimerCheckout__deleteConfirmation{height:30px}.PrimerCheckout__confirmButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;display:grid;width:100%;place-items:center;height:40px;border:1px solid #3447f4;border-radius:4px;text-align:center;color:#3447f4;font-size:.875rem}.PrimerCheckout__confirmButton:disabled{cursor:auto}.PrimerCheckout__savedPaymentMethods{display:flex;flex-direction:column}.PrimerCheckout__savedPaymentMethods__title{display:flex;flex-direction:row;align-items:center;margin-bottom:15px}button.PrimerCheckout__klarnaButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;border:1px solid #e0e0e0;border-radius:2px;display:inline-flex;place-content:center;align-items:center;cursor:pointer;width:100%;background-color:#ffb3c7;border-radius:4px}button.PrimerCheckout__klarnaButton:disabled{cursor:auto}button.PrimerCheckout__klarnaButton:enabled:hover{opacity:.7}button.PrimerCheckout__klarnaButton>span{font-weight:600}button.PrimerCheckout__klarnaButton:disabled{color:inherit}.PrimerCheckout__klarnaPaymentOptions{width:100%;position:relative;overflow:hidden;transition:height 200ms ease-in-out;padding:0px 64px}.PrimerCheckout__klarnaPaymentCategory{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;border:1px solid #e0e0e0;border-radius:2px;display:grid;grid-auto-flow:column;place-content:center;align-items:center;padding:8px 0px}.PrimerCheckout__klarnaPaymentCategory:disabled{cursor:auto}.PrimerCheckout__klarnaPaymentCategory>img{margin-right:12px}.PrimerCheckout__klarnaPaymentCategory:first-child{margin-top:20px}.PrimerCheckout__klarnaPaymentCategory+.PrimerCheckout__klarnaPaymentCategory{margin-top:12px}.PrimerCheckout__klarnaPaymentOptionButton{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer;font-family:inherit;outline-offset:2px;outline-color:#3447f4;padding:6px 12px;width:100%;display:flex;align-items:center}.PrimerCheckout__klarnaPaymentOptionButton:disabled{cursor:auto}.PrimerCheckout__klarnaPaymentOptionButton>img{margin-right:12px}.PrimerCheckout__processingIndicatorOverlay{pointer-events:none;position:absolute;top:0px;left:0px;right:0px;bottom:0px;z-index:100;display:grid;place-items:center;transition:transform 500ms cubic-bezier(0.4, 0, 0.2, 1),opacity 300ms linear;opacity:0;transform:translateY(50px)}.PrimerCheckout__processingIndicatorOverlay.PrimerCheckout--entering,.PrimerCheckout__processingIndicatorOverlay.PrimerCheckout--entered{opacity:1;transform:translateY(0px)}.PrimerCheckout__processingIndicatorContainer{padding:32px}.PrimerCheckout__check{padding:0px 16px;align-items:center;justify-content:center;text-align:center;min-height:18rem}.PrimerCheckout__checkMarkIcon{width:3rem;padding-bottom:20px}#primer-checkout-scene-credit-card-form{padding-bottom:32px}#primer-checkout-bancontact-scene-credit-card-form{padding-bottom:32px}.PrimerCheckout__creditCardButton_icon{height:81%}.PrimerCheckout__surcharge{background:#242a2f08;border-radius:5px;display:flex;flex-direction:column;gap:4px;padding:5px;margin-top:15px}.PrimerCheckout__surcharge>.PrimerCheckout__label{text-align:right}.PrimerCheckout{box-sizing:border-box;background-color:transparent;position:relative;display:flex;flex-direction:column}.PrimerCheckout *[hidden=true]{display:none}.PrimerCheckout dialog{margin:0;padding:0}.PrimerCheckout input{outline-color:#3447f4}.PrimerCheckout div{box-sizing:border-box}.PrimerCheckout--hidden{display:none !important}.PrimerCheckout--exited{display:none}.PrimerCheckout--centered{text-align:center}.PrimerCheckout--loading #primer-checkout-payment-method-scene{pointer-events:none}.PrimerCheckout__scene{display:flex;flex-direction:column;position:relative;left:0;top:0;opacity:1}.PrimerCheckout__modalBody{display:grid;place-content:center;background-color:#fff;border-radius:3px;position:relative;box-shadow:1px 1px 5px 3px rgba(0,0,0,.05);overflow:hidden}.PrimerCheckout__modalBody>iframe{position:absolute;left:0px;top:0px;right:0px;bottom:0px;width:100%;height:100%}.PrimerCheckout__scene--3dsModal{position:fixed;top:0px;left:0px;right:0px;bottom:0px;z-index:101;width:100%;height:100% !important;display:grid;place-content:center;background-color:rgba(0,0,0,.2);transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0}.PrimerCheckout__scene--3dsModal>.PrimerCheckout__modalBody{transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;transform:translateY(100vh)}.PrimerCheckout__scene--3dsModal.PrimerCheckout--enter{opacity:1}.PrimerCheckout__scene--3dsModal.PrimerCheckout--enter>.PrimerCheckout__modalBody{opacity:1;transform:translateY(0vh)}#primer-checkout-scene-vault{padding-bottom:32px}#primer-checkout-other-payment-methods{height:0px;width:0px;opacity:0;transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1);visibility:hidden}#primer-checkout-other-payment-methods>*:last-child{height:32px}#primer-checkout-other-payment-methods.PrimerCheckout--entering,#primer-checkout-other-payment-methods.PrimerCheckout--entered{width:auto;opacity:1;visibility:visible}#primer-checkout-payment-method-divider{opacity:1;transition:all 500ms cubic-bezier(0.4, 0, 0.2, 1)}#primer-checkout-payment-method-divider.PrimerCheckout--exit{opacity:0;height:0px;margin-bottom:0px}
|
package/dist/Primer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(l,s){typeof exports=="object"&&typeof module=="object"?module.exports=s():typeof define=="function"&&define.amd?define([],s):typeof exports=="object"?exports.Primer=s():l.Primer=s()})(this,()=>(()=>{var V={476:()=>{},962:()=>{},473:()=>{}},l={};function s(a){var O=l[a];if(O!==void 0)return O.exports;var D=l[a]={exports:{}};return V[a](D,D.exports,s),D.exports}s.d=(a,O)=>{for(var D in O)s.o(O,D)&&!s.o(a,D)&&Object.defineProperty(a,D,{enumerable:!0,get:O[D]})},s.o=(a,O)=>Object.prototype.hasOwnProperty.call(a,O),s.r=a=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var g={};return(()=>{"use strict";s.r(g),s.d(g,{CheckoutUXFlow:()=>fr,ErrorCode:()=>Br,EventTypes:()=>wr,HeadlessManagerType:()=>br,PaymentFlow:()=>Ir,PaymentInstrumentType:()=>Mr,PaymentMethodData:()=>$t.PaymentMethodData,PaymentMethodType:()=>G,Primer:()=>jt,SuccessScreenType:()=>kr,ThreeDSecureStatus:()=>lr,TokenType:()=>Ur,preloadPrimer:()=>Ft});const a=8,O=100,D=100,xr=r=>new Promise(t=>setTimeout(t,r));function Hr(r){return{enabled:r?.enabled??!1,maxRetries:a,initialBackoff:O,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:D}}function pr(r,t,e){const o=r*Math.pow(2,t-1),A=Math.random()*e;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function W(r,t,e,o,A=xr){let _=0;const E=Hr(t);if(!E.enabled)return r();for(;;)try{const i=await r();return o&&o(),i}catch(i){const n=i,N=_>=E.maxRetries,u=n.isNetworkError&&!E.retryNetworkErrors,R=n.status&&n.status>=500&&!E.retry500Errors;if(N||u||R){let C=`Failed after ${_} retries. `;throw N?C+=`Reached maximum retries (${E.maxRetries}).`:u?C+="Network error encountered and retryNetworkErrors is disabled.":R&&(C+="HTTP 500 error encountered and retry500Errors is disabled."),C+=` Last error: ${n.message}`,e&&e(C),new Error(C,{cause:i})}_++;const vr=pr(E.initialBackoff,_,E.maxJitter);let K="Unknown error";n.isNetworkError?K="Network error":n.status&&(K=`HTTP ${n.status} error`),e&&e(`Retry attempt ${_}/${E.maxRetries} due to: ${K}. Error details: ${n.message}. Waiting for ${vr.toFixed(2)}ms before next attempt.`),await A(vr)}}function Fr(r,t){const e=document.createElement(r);return Object.entries(t).forEach(([o,A])=>e.setAttribute(o,A)),e}function m(r,t,e){return document.querySelector(`${r}[${t}^="${e}"]`)}async function $(r,t,e,o,A,_){const{logger:E,retryConfig:i}=_;await W(()=>new Promise((N,u)=>{const R=m(r,e,t)||Fr(r,{...o,[e]:t});R.onload=()=>{E?.(`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${t}`),N()},R.onerror=()=>{R.remove(),u(new Error(`${A}: ${t}`))},R.parentNode||document.head.appendChild(R)}),i,E)}function Gr(r,t={}){return m("script","src",r)&&window.__Primer?(t.logger?.("Script already loaded"),Promise.resolve()):$("script",r,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function Kr(r,t={}){return Array.from(document.styleSheets).some(e=>e.href===r)?(t.logger?.("Stylesheet already loaded"),Promise.resolve()):$("link",r,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let S;async function j(r){return S||(S=Promise.all([Gr("https://sdk.primer.io/web/v2.43.0/PrimerCoreSDK.min.js",{logger:o=>{r?.sdkFunctionEvent({name:"loadPrimerScript",params:[o]})}}),Kr("https://sdk.primer.io/web/v2.43.0/Checkout.css",{logger:o=>{r?.sdkFunctionEvent({name:"loadPrimerCss",params:[o]})}})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw S=void 0,o}),S)}var Xt=s(476),zt=s(962),k=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(k||{}),Vr=(r=>(r.START="START",r.END="END",r))(Vr||{}),P=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(P||{});const Wr={get(r,t){let e;try{switch(r){case"PRIMER_SDK_VERSION":e="v2.43.0";break;case"PRIMER_ASSETS_URL":e=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":e=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":e=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":e=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":e=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":e=process.env.SENTRY_DSN;break;default:break}}catch{}return e||t}};var mr=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(mr||{});async function $r(){if(typeof navigator>"u")return;const r=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:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const jr="WEB",Xr=Wr.get("PRIMER_SDK_VERSION");async function zr(r,t,e){return{...e,createdAt:Date.now(),device:await $r(),eventType:r,properties:t,sdkVersion:Xr,sdkType:jr}}const X="https://analytics.production.data.primer.io/sdk-logs",Qr=X==="https://analytics.sandbox.data.primer.io/playwright",z=1024*5,Zr=500,M=new Map,d=new Map;function w({url:r=X,...t}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Q(r,!0)});const e=o=>async A=>{if(typeof navigator>"u")return;const _=await zr(o,A,t),E=n=>qr(yr(n));if(Qr)return;const i=Z(_,E);Jr(r,i)};return{crashEvent:e(P.CRASH_EVENT),messageEvent:e(P.MESSAGE_EVENT),networkCallEvent:e(P.NETWORK_CALL_EVENT),sdkFunctionEvent:e(P.SDK_FUNCTION_EVENT),timerEvent:e(P.TIMER_EVENT),v1Event:e(P.V1_EVENT)}}function Q(r,t=!1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const e=()=>{const A=d.get(r);if(A?.length){try{navigator.sendBeacon(r,JSON.stringify(A))}catch(_){console.error("Unable to access navigator",_)}d.delete(r)}};if(t){e();return}const o=setTimeout(e,Zr);M.set(r,o)}function Jr(r,t){d.has(r)||d.set(r,[]),d.get(r)?.push(t),Q(r)}function Z(r,t){const e=o=>typeof o=="object"&&o!==null?Z(o,t):t(o);return Array.isArray(r)?r.map(e):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,e(A)]))}function qr(r){return typeof r=="string"&&r.length>z?`${r.slice(0,z)}...`:r}function yr(r){return typeof r=="function"?r.name||"function":r}class b{constructor(t,e){this.type=t,this.displayName=e}get specs(){return this.constructor.specs}setOption(t,e){this.options&&(this.options[t]=e)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(t){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(t){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}b.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},b.create=(r,t,e,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class rt extends b{async tokenize(t){}}class tt{get session(){const t=this.store.getState().clientSessionInfo;if(!t)throw new Error("Client Context Session does not exist");return t}}const et=[Array,rt,tt,Map,Set];function ot(r){const t=new Set,e=20;let o=0;for(;o++<e&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>t.add(A)),r=Object.getPrototypeOf(r);return[...t]}function J(r,t,e,o,A){if(!e||et.some(_=>e instanceof _))return e;switch(typeof e){case"function":return new Proxy(e,{apply(_,E,i=[]){const n={name:t.replace(/^bound /,""),params:i,module:A};r?.sdkFunctionEvent(n);const N=i.map((u,R)=>J(r,`${R}`,u,o,[A,t,`${R}`].filter(Boolean).join(".")));return _.apply(E,N)}});case"object":return e===o?e:At(r,e,[A,t].filter(Boolean).join("."));default:return e}}function At(r,t,e){return Object.fromEntries(ot(t).map(o=>{const A=t?.[o],_=J(r,o,A,A,e);return[o,_]}))}const q=()=>y.randomUUID?.()||_t(),_t=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^Et()>>r/4).toString(16)),Et=()=>(y.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,y=typeof crypto<"u"?crypto:{},it=new Set(["post","get","delete"]),nt=new Set(["post"]);function ct(r,t,e,o){const A=nt.has(r);return{method:r,options:A?o:e,body:A?e:void 0,url:t}}function Qt(r,t){const e=({prop:o})=>({apply:async(A,_,E=[])=>{const i=ct(o.toString(),...E);if(i.options?.isAnalytics)return A.apply(_,E);const n=uuid();t?.networkCallEvent(prepareNetworkEventProps(n,i));const N=await A.apply(_,E);return t?.networkCallEvent(prepareNetworkEventProps(n,i,N)),N}});return new Proxy(r,{get(o,A){const _=o[A];return typeof _=="function"&&it.has(A)?new Proxy(_,e({prop:A})):_}})}const v=(r,t,e)=>({callType:e?k.REQUEST_END:k.REQUEST_START,id:r,errorBody:e?.error&&JSON.stringify(e.error),method:t.method,responseCode:e?.status,url:t.url}),rr="3.6.1",st=rr,at=typeof atob=="function",Nt=typeof btoa=="function",L=typeof Buffer=="function",tr=typeof TextDecoder=="function"?new TextDecoder:void 0,er=typeof TextEncoder=="function"?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=(r=>{let t={};return r.forEach((e,o)=>t[e]=o),t})(f),Rt=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),or=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,t=e=>e)=>new Uint8Array(Array.prototype.slice.call(r,0).map(t)),Ar=r=>r.replace(/[+\/]/g,t=>t=="+"?"-":"_").replace(/=+$/m,""),_r=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Er=r=>{let t,e,o,A,_="";const E=r.length%3;for(let i=0;i<r.length;){if((e=r.charCodeAt(i++))>255||(o=r.charCodeAt(i++))>255||(A=r.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=e<<16|o<<8|A,_+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[t&63]}return E?_.slice(0,E-3)+"===".substring(E):_},x=Nt?r=>btoa(r):L?r=>Buffer.from(r,"binary").toString("base64"):Er,H=L?r=>Buffer.from(r).toString("base64"):r=>{let e=[];for(let o=0,A=r.length;o<A;o+=4096)e.push(c.apply(null,r.subarray(o,o+4096)));return x(e.join(""))},h=(r,t=!1)=>t?Ar(H(r)):H(r),Ot=r=>{if(r.length<2){var t=r.charCodeAt(0);return t<128?r:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},Dt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,ir=r=>r.replace(Dt,Ot),nr=L?r=>Buffer.from(r,"utf8").toString("base64"):er?r=>H(er.encode(r)):r=>x(ir(r)),Y=(r,t=!1)=>t?Ar(nr(r)):nr(r),cr=r=>Y(r,!0),Tt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ut=r=>{switch(r.length){case 4:var t=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),e=t-65536;return c((e>>>10)+55296)+c((e&1023)+56320);case 3:return c((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return c((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},sr=r=>r.replace(Tt,ut),ar=r=>{if(r=r.replace(/\s+/g,""),!Rt.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let t,e="",o,A;for(let _=0;_<r.length;)t=U[r.charAt(_++)]<<18|U[r.charAt(_++)]<<12|(o=U[r.charAt(_++)])<<6|(A=U[r.charAt(_++)]),e+=o===64?c(t>>16&255):A===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return e},p=at?r=>atob(_r(r)):L?r=>Buffer.from(r,"base64").toString("binary"):ar,Nr=L?r=>or(Buffer.from(r,"base64")):r=>or(p(r),t=>t.charCodeAt(0)),Rr=r=>Nr(Or(r)),Pt=L?r=>Buffer.from(r,"base64").toString("utf8"):tr?r=>tr.decode(Nr(r)):r=>sr(p(r)),Or=r=>_r(r.replace(/[-_]/g,t=>t=="-"?"+":"/")),F=r=>Pt(Or(r)),Lt=r=>{if(typeof r!="string")return!1;const t=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},Dr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),Tr=function(){const r=(t,e)=>Object.defineProperty(String.prototype,t,Dr(e));r("fromBase64",function(){return F(this)}),r("toBase64",function(t){return Y(this,t)}),r("toBase64URI",function(){return Y(this,!0)}),r("toBase64URL",function(){return Y(this,!0)}),r("toUint8Array",function(){return Rr(this)})},ur=function(){const r=(t,e)=>Object.defineProperty(Uint8Array.prototype,t,Dr(e));r("toBase64",function(t){return h(this,t)}),r("toBase64URI",function(){return h(this,!0)}),r("toBase64URL",function(){return h(this,!0)})},Pr={version:rr,VERSION:st,atob:p,atobPolyfill:ar,btoa:x,btoaPolyfill:Er,fromBase64:F,toBase64:Y,encode:Y,encodeURI:cr,encodeURL:cr,utob:ir,btou:sr,decode:F,isValid:Lt,fromUint8Array:h,toUint8Array:Rr,extendString:Tr,extendUint8Array:ur,extendBuiltins:()=>{Tr(),ur()}},Yt={encode:Ct,decode:Pr.decode};function Ct(r,t={}){const{urlSafe:e=!1}=t;return Pr.encode(r,e)}function St(r){const t=It(r),e=t.exp*1e3;if(Date.now()>e)throw new Error(`${dt}. Expiration date: ${new Date(e).toISOString()}`);return t}const Lr="The provided `clientToken`",dt=`${Lr} has expired`,ft=`${Lr} is malformed`;function It(r){try{const[t,e]=r.split("."),o=e||t;return JSON.parse(Yt.decode(o))}catch{throw new Error(ft)}}const Yr=15e3,lt={"content-type":"application/json"},Mt=(r,t)=>Cr("get",r,t),Ut=(r,t,e)=>Cr("post",r,e,JSON.stringify(t)),Cr=(r,t,e,o)=>fetch(t,{body:o,method:r,headers:{...lt,...e}}).then(async A=>{if(!A.ok){const _=new Error(`HTTP error! status: ${A.status}`);throw _.status=A.status,_}return A.json()}).catch(A=>{if(A instanceof TypeError){const _=new Error("Network error");throw _.isNetworkError=!0,_}throw A}),Sr=(r,t)=>new Promise((e,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},t);r.then(e).catch(o).finally(()=>clearTimeout(A))}),ht=(r,t={})=>{const{headers:e,log:o,retryConfig:A,timeout:_=Yr}=t;return W(()=>Sr(Mt(r,e),_),A,o)},qt=(r,t,e={})=>{const{headers:o,log:A,retryConfig:_,timeout:E=Yr}=e;return retryWithExponentialBackoff(()=>Sr(Ut(r,t,o),E),_,A)},Bt="v2.43.0",gt=(r,t,e)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":Bt,"primer-sdk-checkout-session-id":t,...e&&{"x-api-version":e}});async function kt(r,t,e,o){try{return await ht(`${t}/?withDisplayMetadata=true`,{headers:gt(r,e,"2.2"),log:o,retryConfig:{enabled:!0}})}catch(A){const _=A instanceof Error?A.message:"Unknown error occurred",E=A instanceof Error&&A.stack?A.stack:JSON.stringify(A);throw o?.(`Failed to initialize client: ${_}
|
|
2
|
-
Error details: ${E}`),new Error(`Failed to initialize client: ${_}`)}}const wt="v2.43.0",bt=B("createHeadless"),vt=B("showExpressCheckout"),xt=B("showUniversalCheckout"),Ht=B("showVaultManager"),dr="LOAD_PERFORMANCE",I=q();let T=w({checkoutSessionId:I});T.messageEvent({message:"parsed",messageType:dr,now:performance.now?.()});function B(r){return async(...[t,e,...o])=>{T.sdkFunctionEvent({name:r,params:[t,e,...o]}),T.messageEvent({message:"create",messageType:dr,now:performance.now?.()});const[A,_]=await Promise.all([pt(t),j(T)]);return _[r](A,I,t,e)}}async function pt(r){const{accessToken:t,configurationUrl:e,analyticsUrlV2:o}=St(r);T=w({checkoutSessionId:I,url:o});const A=`${e}/?withDisplayMetadata=true`,_=q(),E={method:"get",url:A};T.networkCallEvent(v(_,E));const i=await kt(t,e,I,u=>{T.networkCallEvent(v(_,E,{error:u}))}),{primerAccountId:n}=i,{clientSessionId:N}=i.clientSession;return T=w({checkoutSessionId:I,clientSessionId:N,primerAccountId:n,url:o}),T.networkCallEvent(v(_,E,{data:i})),i}const Ft=()=>j().then(()=>{});var Gt=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(Gt||{}),Kt=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(Kt||{}),Vt=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))(Vt||{}),fr=(r=>(r.CHECKOUT="CHECKOUT",r.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",r))(fr||{}),Ir=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Ir||{}),Wt=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(Wt||{}),lr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(lr||{}),Mr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(Mr||{}),G=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))(G||{}),mt=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(mt||{}),Ur=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(Ur||{});const hr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},yt=r=>{if(Object.values(G).includes(r))return r;if(hr[r])return hr[r]};var Br=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r))(Br||{});class gr extends Error{static fromErrorCode(t,e,o){return new gr(t,e,o)}constructor(t,e,o){super(e.message),this.message=e.message,this.code=t,this.diagnosticsId=e.diagnosticsId||null,this.data=e.data,this.isFromDeveloper=e.isFromDeveloper??!1,o?.messageEvent?.({message:e.message,messageType:t,severity:"ERROR",...e.diagnosticsId&&{diagnosticsId:e.diagnosticsId},...e.errorId&&{errorId:e.errorId},...e.data&&{data:e.data},...e.isFromDeveloper!==void 0&&{isFromDeveloper:String(e.isFromDeveloper)},stack:this.stack})}}const re=r=>{throw console.error(r.message),r};var $t=s(473),kr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(kr||{}),wr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(wr||{}),br=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r))(br||{});const jt={SDK_VERSION:wt,createHeadless:bt,showExpressCheckout:vt,showUniversalCheckout:xt,showVaultManager:Ht}})(),g})());
|
|
1
|
+
(function(h,s){typeof exports=="object"&&typeof module=="object"?module.exports=s():typeof define=="function"&&define.amd?define([],s):typeof exports=="object"?exports.Primer=s():h.Primer=s()})(this,()=>(()=>{var W={476:()=>{},962:()=>{},473:()=>{}},h={};function s(a){var O=h[a];if(O!==void 0)return O.exports;var D=h[a]={exports:{}};return W[a](D,D.exports,s),D.exports}s.d=(a,O)=>{for(var D in O)s.o(O,D)&&!s.o(a,D)&&Object.defineProperty(a,D,{enumerable:!0,get:O[D]})},s.o=(a,O)=>Object.prototype.hasOwnProperty.call(a,O),s.r=a=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})};var w={};return(()=>{"use strict";s.r(w),s.d(w,{CheckoutUXFlow:()=>fr,ErrorCode:()=>gr,EventTypes:()=>br,HeadlessManagerType:()=>vr,PaymentFlow:()=>lr,PaymentInstrumentType:()=>hr,PaymentMethodData:()=>$t.PaymentMethodData,PaymentMethodType:()=>V,Primer:()=>Xt,SuccessScreenType:()=>wr,ThreeDSecureStatus:()=>Mr,TokenType:()=>Ur,isStripeOptionsDropInWithFullMandateText:()=>jt,preloadPrimer:()=>pt});const a=8,O=100,D=100,xr=r=>new Promise(t=>setTimeout(t,r));function Hr(r){return{enabled:r?.enabled??!1,maxRetries:a,initialBackoff:O,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:D}}function Fr(r,t,e){const o=r*Math.pow(2,t-1),A=Math.random()*e;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function m(r,t,e,o,A=xr){let _=0;const E=Hr(t);if(!E.enabled)return r();for(;;)try{const i=await r();return o&&o(),i}catch(i){const n=i,T=_>=E.maxRetries,R=n.isNetworkError&&!E.retryNetworkErrors,N=n.status&&n.status>=500&&!E.retry500Errors;if(T||R||N){let C=`Failed after ${_} retries. `;throw T?C+=`Reached maximum retries (${E.maxRetries}).`:R?C+="Network error encountered and retryNetworkErrors is disabled.":N&&(C+="HTTP 500 error encountered and retry500Errors is disabled."),C+=` Last error: ${n.message}`,e&&e(C),new Error(C,{cause:i})}_++;const Y=Fr(E.initialBackoff,_,E.maxJitter);let M="Unknown error";n.isNetworkError?M="Network error":n.status&&(M=`HTTP ${n.status} error`),e&&e(`Retry attempt ${_}/${E.maxRetries} due to: ${M}. Error details: ${n.message}. Waiting for ${Y.toFixed(2)}ms before next attempt.`),await A(Y)}}function pr(r,t){const e=document.createElement(r);return Object.entries(t).forEach(([o,A])=>e.setAttribute(o,A)),e}function $(r,t,e){return document.querySelector(`${r}[${t}^="${e}"]`)}async function j(r,t,e,o,A,_){const{logger:E,retryConfig:i}=_;await m(()=>new Promise((T,R)=>{const N=$(r,e,t)||pr(r,{...o,[e]:t});N.onload=()=>{E?.(`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${t}`),T()},N.onerror=()=>{N.remove(),R(new Error(`${A}: ${t}`))},N.parentNode||document.head.appendChild(N)}),i,E)}function Gr(r,t={}){return $("script","src",r)&&window.__Primer?(t.logger?.("Script already loaded"),Promise.resolve()):j("script",r,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function Kr(r,t={}){return Array.from(document.styleSheets).some(e=>e.href===r)?(t.logger?.("Stylesheet already loaded"),Promise.resolve()):j("link",r,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let d;async function X(r){return d||(d=Promise.all([Gr("https://sdk.primer.io/web/v2.44.0/PrimerCoreSDK.min.js",{logger:o=>{r?.sdkFunctionEvent({name:"loadPrimerScript",params:[o]})}}),Kr("https://sdk.primer.io/web/v2.44.0/Checkout.css",{logger:o=>{r?.sdkFunctionEvent({name:"loadPrimerCss",params:[o]})}})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw d=void 0,o}),d)}var zt=s(476),Qt=s(962),b=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(b||{}),Vr=(r=>(r.START="START",r.END="END",r))(Vr||{}),P=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(P||{});const Wr={get(r,t){let e;try{switch(r){case"PRIMER_SDK_VERSION":e="v2.44.0";break;case"PRIMER_ASSETS_URL":e=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":e=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_PCI_API_URL":e=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":e=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":e=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":e=process.env.SENTRY_DSN;break;default:break}}catch{}return e||t}};var mr=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(mr||{});async function $r(){if(typeof navigator>"u")return;const r=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:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const jr="WEB",Xr=Wr.get("PRIMER_SDK_VERSION");async function zr(r,t,e){return{...e,createdAt:Date.now(),device:await $r(),eventType:r,properties:t,sdkVersion:Xr,sdkType:jr}}const z="https://analytics.production.data.primer.io/sdk-logs",Qr=z==="https://analytics.sandbox.data.primer.io/playwright",Q=1024*5,Zr=500,U=new Map,I=new Map;function v({url:r=z,...t}={}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Z(r,!0)});const e=o=>async A=>{if(typeof navigator>"u")return;const _=await zr(o,A,t),E=n=>qr(yr(n));if(Qr)return;const i=J(_,E);Jr(r,i)};return{crashEvent:e(P.CRASH_EVENT),messageEvent:e(P.MESSAGE_EVENT),networkCallEvent:e(P.NETWORK_CALL_EVENT),sdkFunctionEvent:e(P.SDK_FUNCTION_EVENT),timerEvent:e(P.TIMER_EVENT),v1Event:e(P.V1_EVENT)}}function Z(r,t=!1){if(U.has(r)){const A=U.get(r);clearTimeout(A),U.delete(r)}const e=()=>{const A=I.get(r);if(A?.length){try{navigator.sendBeacon(r,JSON.stringify(A))}catch(_){console.error("Unable to access navigator",_)}I.delete(r)}};if(t){e();return}const o=setTimeout(e,Zr);U.set(r,o)}function Jr(r,t){I.has(r)||I.set(r,[]),I.get(r)?.push(t),Z(r)}function J(r,t){const e=o=>typeof o=="object"&&o!==null?J(o,t):t(o);return Array.isArray(r)?r.map(e):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,e(A)]))}function qr(r){return typeof r=="string"&&r.length>Q?`${r.slice(0,Q)}...`:r}function yr(r){return typeof r=="function"?r.name||"function":r}class x{constructor(t,e){this.type=t,this.displayName=e}get specs(){return this.constructor.specs}setOption(t,e){this.options&&(this.options[t]=e)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(t){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(t){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}x.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},x.create=(r,t,e,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class rt extends x{async tokenize(t){}}class tt{get session(){const t=this.store.getState().clientSessionInfo;if(!t)throw new Error("Client Context Session does not exist");return t}}const et=[Array,rt,tt,Map,Set];function ot(r){const t=new Set,e=20;let o=0;for(;o++<e&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>t.add(A)),r=Object.getPrototypeOf(r);return[...t]}function q(r,t,e,o,A){if(!e||et.some(_=>e instanceof _))return e;switch(typeof e){case"function":return new Proxy(e,{apply(_,E,i=[]){const n={name:t.replace(/^bound /,""),params:i,module:A};r?.sdkFunctionEvent(n);const T=i.map((R,N)=>q(r,`${N}`,R,o,[A,t,`${N}`].filter(Boolean).join(".")));return _.apply(E,T)}});case"object":return e===o?e:At(r,e,[A,t].filter(Boolean).join("."));default:return e}}function At(r,t,e){return Object.fromEntries(ot(t).map(o=>{const A=t?.[o],_=q(r,o,A,A,e);return[o,_]}))}const y=()=>rr.randomUUID?.()||_t(),_t=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^Et()>>r/4).toString(16)),Et=()=>(rr.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,rr=typeof crypto<"u"?crypto:{},it=new Set(["post","get","delete"]),nt=new Set(["post"]);function ct(r,t,e,o){const A=nt.has(r);return{method:r,options:A?o:e,body:A?e:void 0,url:t}}function Zt(r,t){const e=({prop:o})=>({apply:async(A,_,E=[])=>{const i=ct(o.toString(),...E);if(i.options?.isAnalytics)return A.apply(_,E);const n=uuid();t?.networkCallEvent(prepareNetworkEventProps(n,i));const T=Date.now(),R=await A.apply(_,E),Y=Date.now()-T;return t?.networkCallEvent(prepareNetworkEventProps(n,i,R,Y)),R}});return new Proxy(r,{get(o,A){const _=o[A];return typeof _=="function"&&it.has(A)?new Proxy(_,e({prop:A})):_}})}const H=(r,t,e,o)=>({callType:e?b.REQUEST_END:b.REQUEST_START,id:r,errorBody:e?.error&&JSON.stringify(e.error),method:t.method,responseCode:e?.status,url:t.url,duration:o}),tr="3.6.1",st=tr,at=typeof atob=="function",Nt=typeof btoa=="function",L=typeof Buffer=="function",er=typeof TextDecoder=="function"?new TextDecoder:void 0,or=typeof TextEncoder=="function"?new TextEncoder:void 0,f=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],B=(r=>{let t={};return r.forEach((e,o)=>t[e]=o),t})(f),Rt=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),Ar=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,t=e=>e)=>new Uint8Array(Array.prototype.slice.call(r,0).map(t)),_r=r=>r.replace(/[+\/]/g,t=>t=="+"?"-":"_").replace(/=+$/m,""),Er=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),ir=r=>{let t,e,o,A,_="";const E=r.length%3;for(let i=0;i<r.length;){if((e=r.charCodeAt(i++))>255||(o=r.charCodeAt(i++))>255||(A=r.charCodeAt(i++))>255)throw new TypeError("invalid character found");t=e<<16|o<<8|A,_+=f[t>>18&63]+f[t>>12&63]+f[t>>6&63]+f[t&63]}return E?_.slice(0,E-3)+"===".substring(E):_},F=Nt?r=>btoa(r):L?r=>Buffer.from(r,"binary").toString("base64"):ir,p=L?r=>Buffer.from(r).toString("base64"):r=>{let e=[];for(let o=0,A=r.length;o<A;o+=4096)e.push(c.apply(null,r.subarray(o,o+4096)));return F(e.join(""))},g=(r,t=!1)=>t?_r(p(r)):p(r),Ot=r=>{if(r.length<2){var t=r.charCodeAt(0);return t<128?r:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},Dt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,nr=r=>r.replace(Dt,Ot),cr=L?r=>Buffer.from(r,"utf8").toString("base64"):or?r=>p(or.encode(r)):r=>F(nr(r)),S=(r,t=!1)=>t?_r(cr(r)):cr(r),sr=r=>S(r,!0),Tt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ut=r=>{switch(r.length){case 4:var t=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),e=t-65536;return c((e>>>10)+55296)+c((e&1023)+56320);case 3:return c((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return c((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},ar=r=>r.replace(Tt,ut),Nr=r=>{if(r=r.replace(/\s+/g,""),!Rt.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let t,e="",o,A;for(let _=0;_<r.length;)t=B[r.charAt(_++)]<<18|B[r.charAt(_++)]<<12|(o=B[r.charAt(_++)])<<6|(A=B[r.charAt(_++)]),e+=o===64?c(t>>16&255):A===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return e},G=at?r=>atob(Er(r)):L?r=>Buffer.from(r,"base64").toString("binary"):Nr,Rr=L?r=>Ar(Buffer.from(r,"base64")):r=>Ar(G(r),t=>t.charCodeAt(0)),Or=r=>Rr(Dr(r)),Pt=L?r=>Buffer.from(r,"base64").toString("utf8"):er?r=>er.decode(Rr(r)):r=>ar(G(r)),Dr=r=>Er(r.replace(/[-_]/g,t=>t=="-"?"+":"/")),K=r=>Pt(Dr(r)),Lt=r=>{if(typeof r!="string")return!1;const t=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},Tr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),ur=function(){const r=(t,e)=>Object.defineProperty(String.prototype,t,Tr(e));r("fromBase64",function(){return K(this)}),r("toBase64",function(t){return S(this,t)}),r("toBase64URI",function(){return S(this,!0)}),r("toBase64URL",function(){return S(this,!0)}),r("toUint8Array",function(){return Or(this)})},Pr=function(){const r=(t,e)=>Object.defineProperty(Uint8Array.prototype,t,Tr(e));r("toBase64",function(t){return g(this,t)}),r("toBase64URI",function(){return g(this,!0)}),r("toBase64URL",function(){return g(this,!0)})},Lr={version:tr,VERSION:st,atob:G,atobPolyfill:Nr,btoa:F,btoaPolyfill:ir,fromBase64:K,toBase64:S,encode:S,encodeURI:sr,encodeURL:sr,utob:nr,btou:ar,decode:K,isValid:Lt,fromUint8Array:g,toUint8Array:Or,extendString:ur,extendUint8Array:Pr,extendBuiltins:()=>{ur(),Pr()}},St={encode:Yt,decode:Lr.decode};function Yt(r,t={}){const{urlSafe:e=!1}=t;return Lr.encode(r,e)}function Ct(r){const t=ft(r),e=t.exp*1e3;if(Date.now()>e)throw new Error(`${dt}. Expiration date: ${new Date(e).toISOString()}`);return t}const Sr="The provided `clientToken`",dt=`${Sr} has expired`,It=`${Sr} is malformed`;function ft(r){try{const[t,e]=r.split("."),o=e||t;return JSON.parse(St.decode(o))}catch{throw new Error(It)}}const Yr=15e3,lt={"content-type":"application/json"},Mt=(r,t)=>Cr("get",r,t),ht=(r,t,e)=>Cr("post",r,e,JSON.stringify(t)),Cr=(r,t,e,o)=>fetch(t,{body:o,method:r,headers:{...lt,...e}}).then(async A=>{if(!A.ok){const _=new Error(`HTTP error! status: ${A.status}`);throw _.status=A.status,_}return A.json()}).catch(A=>{if(A instanceof TypeError){const _=new Error("Network error");throw _.isNetworkError=!0,_}throw A}),dr=(r,t)=>new Promise((e,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},t);r.then(e).catch(o).finally(()=>clearTimeout(A))}),Ut=(r,t={})=>{const{headers:e,log:o,retryConfig:A,timeout:_=Yr}=t;return m(()=>dr(Mt(r,e),_),A,o)},yt=(r,t,e={})=>{const{headers:o,log:A,retryConfig:_,timeout:E=Yr}=e;return retryWithExponentialBackoff(()=>dr(ht(r,t,o),E),_,A)},Bt="v2.44.0",gt=(r,t,e)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":Bt,"primer-sdk-checkout-session-id":t,...e&&{"x-api-version":e}});async function kt(r,t,e,o){try{return await Ut(`${t}/?withDisplayMetadata=true`,{headers:gt(r,e,"2.2"),log:o,retryConfig:{enabled:!0}})}catch(A){const _=A instanceof Error?A.message:"Unknown error occurred",E=A instanceof Error&&A.stack?A.stack:JSON.stringify(A);throw o?.(`Failed to initialize client: ${_}
|
|
2
|
+
Error details: ${E}`),new Error(`Failed to initialize client: ${_}`)}}const wt="v2.44.0",bt=k("createHeadless"),vt=k("showExpressCheckout"),xt=k("showUniversalCheckout"),Ht=k("showVaultManager"),Ir="LOAD_PERFORMANCE",l=y();let u=v({checkoutSessionId:l});u.messageEvent({message:"parsed",messageType:Ir,now:performance.now?.()});function k(r){return async(...[t,e,...o])=>{u.sdkFunctionEvent({name:r,params:[t,e,...o]}),u.messageEvent({message:"create",messageType:Ir,now:performance.now?.()});const[A,_]=await Promise.all([Ft(t),X(u)]);return _[r](A,l,t,e)}}async function Ft(r){const{accessToken:t,configurationUrl:e,analyticsUrlV2:o}=Ct(r);u=v({checkoutSessionId:l,url:o});const A=`${e}/?withDisplayMetadata=true`,_=y(),E={method:"get",url:A},i=Date.now();u.networkCallEvent(H(_,E));const n=await kt(t,e,l,M=>{u.networkCallEvent(H(_,E,{error:M}))}),{primerAccountId:T}=n,{clientSessionId:R}=n.clientSession;u=v({checkoutSessionId:l,clientSessionId:R,primerAccountId:T,url:o});const Y=Date.now()-i;return u.networkCallEvent(H(_,E,{data:n},Y)),n}const pt=()=>X().then(()=>{});var Gt=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(Gt||{}),Kt=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(Kt||{}),Vt=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))(Vt||{}),fr=(r=>(r.CHECKOUT="CHECKOUT",r.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",r))(fr||{}),lr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(lr||{}),Wt=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(Wt||{}),Mr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(Mr||{}),hr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(hr||{}),V=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))(V||{}),mt=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(mt||{}),Ur=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(Ur||{});const Br={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},re=r=>{if(Object.values(V).includes(r))return r;if(Br[r])return Br[r]};var gr=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",r.INVALID_FLOW="INVALID_FLOW",r))(gr||{});class kr extends Error{static fromErrorCode(t,e,o){return new kr(t,e,o)}constructor(t,e,o){super(e.message),this.message=e.message,this.code=t,this.diagnosticsId=e.diagnosticsId||null,this.data=e.data,this.isFromDeveloper=e.isFromDeveloper??!1,o?.messageEvent?.({message:e.message,messageType:t,severity:"ERROR",...e.diagnosticsId&&{diagnosticsId:e.diagnosticsId},...e.errorId&&{errorId:e.errorId},...e.data&&{data:e.data},...e.isFromDeveloper!==void 0&&{isFromDeveloper:String(e.isFromDeveloper)},stack:this.stack})}}const te=r=>{throw console.error(r.message),r};var $t=s(473),wr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(wr||{});const jt=r=>"fullMandateText"in r?.mandateData;var br=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(br||{}),vr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(vr||{});const Xt={SDK_VERSION:wt,createHeadless:bt,showExpressCheckout:vt,showUniversalCheckout:xt,showVaultManager:Ht}})(),w})());
|
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export declare enum PaymentInstrumentType {
|
|
|
32
32
|
PRIMER_PAYPAL = "PRIMER_PAYPAL",
|
|
33
33
|
TWOC2P = "TWOC2P",
|
|
34
34
|
NETS = "NETS",
|
|
35
|
+
STRIPE_ACH = "STRIPE_ACH",
|
|
35
36
|
STRIPE_GIROPAY = "STRIPE_GIROPAY",
|
|
36
37
|
MOLLIE_GIROPAY = "MOLLIE_GIROPAY",
|
|
37
38
|
MOLLIE_EPS = "MOLLIE_EPS",
|
|
@@ -79,6 +80,7 @@ export declare enum PaymentInstrumentType {
|
|
|
79
80
|
}
|
|
80
81
|
export declare enum PaymentMethodType {
|
|
81
82
|
WORLDPAY_IDEAL = "WORLDPAY_IDEAL",
|
|
83
|
+
STRIPE_ACH = "STRIPE_ACH",
|
|
82
84
|
STRIPE_IDEAL = "STRIPE_IDEAL",
|
|
83
85
|
ADYEN_KLARNA = "ADYEN_KLARNA",
|
|
84
86
|
ADYEN_BANCONTACT_CARD = "ADYEN_BANCONTACT_CARD",
|
|
@@ -200,6 +202,7 @@ export type NetworkEventProperties = {
|
|
|
200
202
|
method: string;
|
|
201
203
|
errorBody?: string;
|
|
202
204
|
responseCode?: number;
|
|
205
|
+
duration?: number;
|
|
203
206
|
callType: NetworkCallType;
|
|
204
207
|
};
|
|
205
208
|
declare enum TimerType {
|
|
@@ -985,6 +988,7 @@ export interface ICheckoutState extends IBaseState {
|
|
|
985
988
|
locale: SupportedLocale;
|
|
986
989
|
tokens: VaultedPaymentMethod[];
|
|
987
990
|
translation: TranslationUnit;
|
|
991
|
+
paymentResponse: any;
|
|
988
992
|
currentToken: PaymentMethodToken | null;
|
|
989
993
|
scene: {
|
|
990
994
|
onEntering?: (sceneId: string) => void;
|
|
@@ -1047,8 +1051,10 @@ declare class CheckoutStore extends BaseStore<ICheckoutState> implements IOption
|
|
|
1047
1051
|
setIsLoading(isLoading: boolean): void;
|
|
1048
1052
|
setIsProcessing(isProcessing: boolean): void;
|
|
1049
1053
|
setLocale(locale: SupportedLocale): void;
|
|
1054
|
+
setPaymentResponse(paymentResponse: any): void;
|
|
1050
1055
|
getLocale(): SupportedLocale;
|
|
1051
1056
|
getIsRtlLocale(): boolean;
|
|
1057
|
+
getPaymentResponse(): any;
|
|
1052
1058
|
setIsTokenizationEnabled(isEnabled: boolean): void;
|
|
1053
1059
|
getIsTokenizationEnabled(): boolean;
|
|
1054
1060
|
setScene(scene: string, action?: string): Promise<void>;
|
|
@@ -1266,7 +1272,9 @@ export declare enum ErrorCode {
|
|
|
1266
1272
|
VAULT_DELETE = "VAULT_DELETE",
|
|
1267
1273
|
HEADLESS_VAULT_MANAGER_VALIDATION = "HEADLESS_VAULT_MANAGER_VALIDATION",
|
|
1268
1274
|
CARD_FORM_VALIDATION_UNEXPECTED_FIELD = "CARD_FORM_VALIDATION_UNEXPECTED_FIELD",
|
|
1269
|
-
MISSING_FIRST_NAME_OR_LAST_NAME = "MISSING_FIRST_NAME_OR_LAST_NAME"
|
|
1275
|
+
MISSING_FIRST_NAME_OR_LAST_NAME = "MISSING_FIRST_NAME_OR_LAST_NAME",
|
|
1276
|
+
MISSING_EMAIL_ADDRESS = "MISSING_EMAIL_ADDRESS",
|
|
1277
|
+
INVALID_FLOW = "INVALID_FLOW"
|
|
1270
1278
|
}
|
|
1271
1279
|
export interface ErrorOptions {
|
|
1272
1280
|
message: string;
|
|
@@ -1408,6 +1416,28 @@ export declare enum SuccessScreenType {
|
|
|
1408
1416
|
PAYMENT_METHOD = "PAYMENT_METHOD",
|
|
1409
1417
|
CHECK = "CHECK"
|
|
1410
1418
|
}
|
|
1419
|
+
export interface StripeAchCustomerDetails {
|
|
1420
|
+
emailAddress: string;
|
|
1421
|
+
firstName: string;
|
|
1422
|
+
lastName: string;
|
|
1423
|
+
}
|
|
1424
|
+
export interface StripeOptions {
|
|
1425
|
+
publishableKey: string;
|
|
1426
|
+
}
|
|
1427
|
+
export interface StripeOptionsDropInWithFullMandateText {
|
|
1428
|
+
mandateData: {
|
|
1429
|
+
fullMandateText: string;
|
|
1430
|
+
merchantName?: never;
|
|
1431
|
+
};
|
|
1432
|
+
}
|
|
1433
|
+
export interface StripeOptionsDropInTextProvidedByPrimer {
|
|
1434
|
+
mandateData: {
|
|
1435
|
+
merchantName: string;
|
|
1436
|
+
fullMandateText?: never;
|
|
1437
|
+
};
|
|
1438
|
+
}
|
|
1439
|
+
export declare const isStripeOptionsDropInWithFullMandateText: (stripeOptions: StripeOptionsDropInWithFullMandateText | StripeOptionsDropInTextProvidedByPrimer) => stripeOptions is StripeOptionsDropInWithFullMandateText;
|
|
1440
|
+
export type StripeOptionsDropIn = StripeOptionsDropInWithFullMandateText | StripeOptionsDropInTextProvidedByPrimer;
|
|
1411
1441
|
export interface CardDetails {
|
|
1412
1442
|
last4Digits: string;
|
|
1413
1443
|
cardNumber: string;
|
|
@@ -1684,13 +1714,16 @@ export interface onBeforePaymentCreateHandler {
|
|
|
1684
1714
|
export interface OnCheckoutFailHandler {
|
|
1685
1715
|
showErrorMessage: (errorMessage?: string) => void;
|
|
1686
1716
|
}
|
|
1717
|
+
export interface StripeAchPaymentHandlers {
|
|
1718
|
+
onCheckoutComplete?: () => void;
|
|
1719
|
+
}
|
|
1687
1720
|
export interface PaymentHandlers {
|
|
1688
1721
|
onBeforePaymentCreate?: (data: {
|
|
1689
1722
|
paymentMethodType?: PaymentMethodType;
|
|
1690
1723
|
}, handler: onBeforePaymentCreateHandler) => void;
|
|
1691
1724
|
onPaymentCreationStart?: () => void;
|
|
1692
1725
|
onCheckoutComplete?: (data: {
|
|
1693
|
-
payment: Payment;
|
|
1726
|
+
payment: Payment | null;
|
|
1694
1727
|
}) => void;
|
|
1695
1728
|
onCheckoutFail?: (error: PrimerClientError, data: {
|
|
1696
1729
|
payment?: Payment;
|
|
@@ -1756,6 +1789,7 @@ export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers
|
|
|
1756
1789
|
applePay?: Omit<ApplePayOptions, "container">;
|
|
1757
1790
|
klarna?: KlarnaOptions;
|
|
1758
1791
|
directDebit?: DirectDebitOptions;
|
|
1792
|
+
stripe?: StripeOptions;
|
|
1759
1793
|
paymentHandling?: PaymentHandling;
|
|
1760
1794
|
}
|
|
1761
1795
|
export interface VaultManagerOptions extends WithAllowedCardNetworks {
|
|
@@ -1801,6 +1835,7 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
|
|
|
1801
1835
|
klarna?: KlarnaOptions;
|
|
1802
1836
|
directDebit?: DirectDebitOptions;
|
|
1803
1837
|
giftCard?: CustomizablePaymentMethodButton;
|
|
1838
|
+
stripe?: StripeOptionsDropIn;
|
|
1804
1839
|
paymentHandling?: PaymentHandling;
|
|
1805
1840
|
advanced?: AdvancedOptions;
|
|
1806
1841
|
}
|
|
@@ -1816,6 +1851,7 @@ export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers,
|
|
|
1816
1851
|
klarna?: KlarnaOptions;
|
|
1817
1852
|
directDebit?: DirectDebitOptions;
|
|
1818
1853
|
giftCard?: CustomizablePaymentMethodButton;
|
|
1854
|
+
stripe?: StripeOptions;
|
|
1819
1855
|
onAvailablePaymentMethodsLoad: (paymentMethods: PaymentMethodInfo[]) => void;
|
|
1820
1856
|
}
|
|
1821
1857
|
export type WithAllowedCardNetworks = {
|
|
@@ -1915,13 +1951,21 @@ export interface IKlarnaPaymentMethodManager {
|
|
|
1915
1951
|
addEventListener(event: EventTypes, callback: EventListener): void;
|
|
1916
1952
|
getPaymentMethod(): void;
|
|
1917
1953
|
}
|
|
1918
|
-
export
|
|
1954
|
+
export interface IAchPaymentMethodManager {
|
|
1955
|
+
start(paymentDetails: StripeAchCustomerDetails): Promise<Validation | void>;
|
|
1956
|
+
collectBankAccountDetails(): Promise<void>;
|
|
1957
|
+
confirmMandate(): Promise<void>;
|
|
1958
|
+
declineMandate(): Promise<void>;
|
|
1959
|
+
getPaymentMethod(): void;
|
|
1960
|
+
}
|
|
1961
|
+
export type PaymentMethodManagers = ICardPaymentMethodManager | INativePaymentMethodManager | IRedirectPaymentMethodManager | IFormWithRedirectPaymentMethodManager<BankIssuer> | IKlarnaPaymentMethodManager | IAchPaymentMethodManager;
|
|
1919
1962
|
export declare enum HeadlessManagerType {
|
|
1920
1963
|
CARD = "CARD",
|
|
1921
1964
|
NATIVE = "NATIVE",
|
|
1922
1965
|
REDIRECT = "REDIRECT",
|
|
1923
1966
|
FORM_WITH_REDIRECT = "FORM_WITH_REDIRECT",
|
|
1924
|
-
KLARNA = "KLARNA"
|
|
1967
|
+
KLARNA = "KLARNA",
|
|
1968
|
+
ACH = "ACH"
|
|
1925
1969
|
}
|
|
1926
1970
|
export type PaymentMethodInfo = {
|
|
1927
1971
|
type: PaymentMethodType;
|
|
@@ -1986,6 +2030,9 @@ export interface FormWithRedirectPaymentMethodManagerOptions {
|
|
|
1986
2030
|
export interface KlarnaPaymentMethodManagerOptions {
|
|
1987
2031
|
onPaymentMethodCategoriesChange?: (paymentMethodCategories: KlarnaPaymentMethodCategory[]) => void;
|
|
1988
2032
|
}
|
|
2033
|
+
export interface AchPaymentMethodManagerOptions {
|
|
2034
|
+
onCollectBankAccountDetailsComplete?: () => void;
|
|
2035
|
+
}
|
|
1989
2036
|
export type KlarnaPaymentMethodCategory = {
|
|
1990
2037
|
id: string;
|
|
1991
2038
|
name: string;
|
|
@@ -2007,7 +2054,8 @@ export type PaymentMethodManagerOptions = CardPaymentMethodManagerOptions | Form
|
|
|
2007
2054
|
export interface PrimerHeadlessCheckout {
|
|
2008
2055
|
createPaymentMethodManager(type: "PAYMENT_CARD", options?: PaymentMethodManagerOptions): Promise<ICardPaymentMethodManager | null>;
|
|
2009
2056
|
createPaymentMethodManager(type: PaymentMethodType.PAYPAL | "PAYPAL" | "GOOGLE_PAY" | "APPLE_PAY", options?: PaymentMethodManagerOptions): Promise<INativePaymentMethodManager | null>;
|
|
2010
|
-
createPaymentMethodManager(type:
|
|
2057
|
+
createPaymentMethodManager(type: "ADYEN_IDEAL", options?: FormWithRedirectPaymentMethodManagerOptions): Promise<IFormWithRedirectPaymentMethodManager<BankIssuer> | null>;
|
|
2058
|
+
createPaymentMethodManager(type: "STRIPE_ACH", options?: AchPaymentMethodManagerOptions): Promise<IAchPaymentMethodManager | null>;
|
|
2011
2059
|
createPaymentMethodManager(type: PaymentMethodType, options?: PaymentMethodManagerOptions): Promise<IRedirectPaymentMethodManager | null>;
|
|
2012
2060
|
createVaultManager(): HeadlessVaultManager;
|
|
2013
2061
|
configure: (options: HeadlessUniversalCheckoutOptions) => void;
|