PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / trunk
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments vtrunk
4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / dist / components / esm / sc-stripe-payment-request.entry.js
surecart / dist / components / esm Last commit date
MockProcessor-5c5e066a.js 2 months ago MockProcessor-5c5e066a.js.map 2 months ago add-query-args-0e2a8393.js 1 year ago add-query-args-0e2a8393.js.map 1 year ago address-b8e2e4c8.js 4 months ago address-b8e2e4c8.js.map 4 months ago animation-registry-de37bd7e.js 3 months ago animation-registry-de37bd7e.js.map 3 months ago app-globals-0eef0276.js 2 months ago app-globals-0eef0276.js.map 2 months ago consumer-f1775a76.js 2 months ago consumer-f1775a76.js.map 2 months ago currency-a0c9bff4.js 1 year ago currency-a0c9bff4.js.map 1 year ago error-c8bf8e3e.js 6 days ago error-c8bf8e3e.js.map 6 days ago fetch-cdff67be.js 1 month ago fetch-cdff67be.js.map 1 month ago floating-ui.dom.esm-8dce4ea1.js 6 months ago floating-ui.dom.esm-8dce4ea1.js.map 6 months ago form-data-76641f16.js 1 year ago form-data-76641f16.js.map 1 year ago functions-4f009ce1.js 3 months ago functions-4f009ce1.js.map 3 months ago geo-permission-62aea8ee.js 1 month ago geo-permission-62aea8ee.js.map 1 month ago getters-1049a6f8.js 2 months ago getters-1049a6f8.js.map 2 months ago getters-1477d792.js 2 months ago getters-1477d792.js.map 2 months ago getters-4bb6cc1b.js 2 months ago getters-4bb6cc1b.js.map 2 months ago getters-7090a9c1.js 6 days ago getters-7090a9c1.js.map 6 days ago getters-9cfeb0de.js 6 days ago getters-9cfeb0de.js.map 6 days ago google-52867ad8.js 6 days ago google-52867ad8.js.map 6 days ago google-e9085e27.js 6 days ago google-e9085e27.js.map 6 days ago google-maps-e8b00ffd.js 3 months ago google-maps-e8b00ffd.js.map 3 months ago index-17aac936.js 1 month ago index-17aac936.js.map 1 month ago index-18f5a1bc.js 2 months ago index-18f5a1bc.js.map 2 months ago index-25e5af33.js 2 months ago index-25e5af33.js.map 2 months ago index-824c562b.js 2 months ago index-824c562b.js.map 2 months ago index-871d88b8.js 1 year ago index-871d88b8.js.map 1 year ago index-a786f689.js 6 days ago index-a786f689.js.map 6 days ago index-c5a96d53.js 2 years ago index-c5a96d53.js.map 2 years ago index-d602bc13.js 1 month ago index-d602bc13.js.map 1 month ago index.js 6 days ago index.js.map 1 month ago inline-c012a0f9.js 1 year ago inline-c012a0f9.js.map 1 year ago lazy-deb42890.js 1 year ago lazy-deb42890.js.map 1 year ago library-1bd957d5.js 2 months ago library-1bd957d5.js.map 2 months ago loader.js 2 weeks ago loader.js.map 1 year ago media-d21119a3.js 1 year ago media-d21119a3.js.map 1 year ago mutations-7458343f.js 2 months ago mutations-7458343f.js.map 2 months ago mutations-9ffd30f4.js 6 days ago mutations-9ffd30f4.js.map 6 days ago mutations-ae7167ad.js 6 days ago mutations-ae7167ad.js.map 6 days ago mutations-b310b068.js 6 days ago mutations-b310b068.js.map 6 days ago page-align-0cdacf32.js 1 year ago page-align-0cdacf32.js.map 1 year ago price-1ff6aa07.js 4 months ago price-1ff6aa07.js.map 4 months ago pure-963214cb.js 1 year ago pure-963214cb.js.map 1 year ago quantity-5c986f3d.js 3 months ago quantity-5c986f3d.js.map 3 months ago razorpay-4c4a3d31.js 3 months ago razorpay-4c4a3d31.js.map 3 months ago remove-query-args-938c53ea.js 1 year ago remove-query-args-938c53ea.js.map 1 year ago sc-address_5.entry.js 2 weeks ago sc-address_5.entry.js.map 2 weeks ago sc-alert.entry.js 1 month ago sc-alert.entry.js.map 1 year ago sc-avatar_2.entry.js 6 days ago sc-avatar_2.entry.js.map 1 month ago sc-badge-notice.entry.js 1 month ago sc-badge-notice.entry.js.map 1 year ago sc-block-ui.entry.js 1 month ago sc-block-ui.entry.js.map 4 months ago sc-breadcrumb.entry.js 1 month ago sc-breadcrumb.entry.js.map 1 year ago sc-breadcrumbs.entry.js 1 month ago sc-breadcrumbs.entry.js.map 1 year ago sc-button-group.entry.js 1 month ago sc-button-group.entry.js.map 1 year ago sc-button_6.entry.js 1 month ago sc-button_6.entry.js.map 1 month ago sc-cancel-dialog_3.entry.js 1 month ago sc-cancel-dialog_3.entry.js.map 1 month ago sc-cancel-discount_4.entry.js 1 month ago sc-cancel-discount_4.entry.js.map 2 months ago sc-card_2.entry.js 1 month ago sc-card_2.entry.js.map 4 months ago sc-cart-button.entry.js 6 days ago sc-cart-button.entry.js.map 1 year ago sc-cart-form-submit.entry.js 2 months ago sc-cart-form-submit.entry.js.map 1 year ago sc-cart-form.entry.js 6 days ago sc-cart-form.entry.js.map 1 month ago sc-cart-header.entry.js 6 days ago sc-cart-header.entry.js.map 1 year ago sc-cart-icon.entry.js 6 days ago sc-cart-icon.entry.js.map 1 year ago sc-cart-loader.entry.js 6 days ago sc-cart-loader.entry.js.map 1 year ago sc-cart-session-provider_3.entry.js 6 days ago sc-cart-session-provider_3.entry.js.map 2 months ago sc-cart-submit.entry.js 2 months ago sc-cart-submit.entry.js.map 1 year ago sc-cart.entry.js 6 days ago sc-cart.entry.js.map 2 months ago sc-cc-logo_2.entry.js 1 month ago sc-cc-logo_2.entry.js.map 1 month ago sc-charges-list.entry.js 1 month ago sc-charges-list.entry.js.map 2 months ago sc-checkout-autofill-provider_11.entry.js 6 days ago sc-checkout-autofill-provider_11.entry.js.map 1 month ago sc-checkout-form-errors.entry.js 2 months ago sc-checkout-form-errors.entry.js.map 1 year ago sc-checkout-mollie-payment_3.entry.js 6 days ago sc-checkout-mollie-payment_3.entry.js.map 2 months ago sc-checkout-product-bundle-component-variants.entry.js 6 days ago sc-checkout-product-bundle-component-variants.entry.js.map 1 month ago sc-checkout-product-price-variant-selector.entry.js 6 days ago sc-checkout-product-price-variant-selector.entry.js.map 3 weeks ago sc-checkout.entry.js 6 days ago sc-checkout.entry.js.map 1 month ago sc-choice-container.entry.js 1 month ago sc-choice-container.entry.js.map 1 year ago sc-choice.entry.js 1 month ago sc-choice.entry.js.map 1 year ago sc-choices.entry.js 1 month ago sc-choices.entry.js.map 1 year ago sc-column_2.entry.js 1 month ago sc-column_2.entry.js.map 1 month ago sc-compact-address_18.entry.js 6 days ago sc-compact-address_18.entry.js.map 1 month ago sc-conditional-form.entry.js 6 days ago sc-conditional-form.entry.js.map 2 months ago sc-consumer.entry.js 2 months ago sc-consumer.entry.js.map 1 year ago sc-coupon-form.entry.js 6 days ago sc-coupon-form.entry.js.map 5 months ago sc-custom-order-price-input.entry.js 1 month ago sc-custom-order-price-input.entry.js.map 2 months ago sc-customer-details.entry.js 1 month ago sc-customer-details.entry.js.map 7 months ago sc-customer-edit.entry.js 1 month ago sc-customer-edit.entry.js.map 2 months ago sc-customer-email.entry.js 6 days ago sc-customer-email.entry.js.map 1 month ago sc-customer-firstname.entry.js 6 days ago sc-customer-firstname.entry.js.map 2 months ago sc-customer-lastname.entry.js 6 days ago sc-customer-lastname.entry.js.map 2 months ago sc-customer-name.entry.js 6 days ago sc-customer-name.entry.js.map 2 months ago sc-dashboard-customer-details.entry.js 1 month ago sc-dashboard-customer-details.entry.js.map 2 months ago sc-dashboard-downloads-list.entry.js 1 month ago sc-dashboard-downloads-list.entry.js.map 2 months ago sc-dialog.entry.js 1 month ago sc-dialog.entry.js.map 4 months ago sc-divider.entry.js 1 month ago sc-divider.entry.js.map 1 year ago sc-donation-choices.entry.js 2 months ago sc-donation-choices.entry.js.map 1 year ago sc-downloads-list.entry.js 1 month ago sc-downloads-list.entry.js.map 1 month ago sc-dropdown_3.entry.js 1 month ago sc-dropdown_3.entry.js.map 6 months ago sc-empty_3.entry.js 1 month ago sc-empty_3.entry.js.map 4 months ago sc-express-payment.entry.js 6 days ago sc-express-payment.entry.js.map 3 months ago sc-feature-demo-banner.entry.js 1 month ago sc-feature-demo-banner.entry.js.map 1 year ago sc-flex.entry.js 1 month ago sc-flex.entry.js.map 1 year ago sc-form-control_2.entry.js 1 month ago sc-form-control_2.entry.js.map 2 months ago sc-form-row.entry.js 1 month ago sc-form-row.entry.js.map 1 year ago sc-form.entry.js 1 month ago sc-form.entry.js.map 1 year ago sc-format-bytes.entry.js 2 months ago sc-format-bytes.entry.js.map 1 year ago sc-format-interval.entry.js 2 months ago sc-format-interval.entry.js.map 1 year ago sc-format-number.entry.js 2 months ago sc-format-number.entry.js.map 1 year ago sc-fulfillment-shipping-status-badge.entry.js 2 months ago sc-fulfillment-shipping-status-badge.entry.js.map 4 months ago sc-fulfillments.entry.js 1 month ago sc-fulfillments.entry.js.map 2 months ago sc-heading_2.entry.js 1 month ago sc-heading_2.entry.js.map 1 year ago sc-image-slider.entry.js 1 month ago sc-image-slider.entry.js.map 1 month ago sc-invoice-status-badge.entry.js 1 month ago sc-invoice-status-badge.entry.js.map 4 months ago sc-invoices-list.entry.js 1 month ago sc-invoices-list.entry.js.map 2 months ago sc-license.entry.js 1 month ago sc-license.entry.js.map 2 months ago sc-licenses-list.entry.js 1 month ago sc-licenses-list.entry.js.map 1 month ago sc-line-item-bump.entry.js 6 days ago sc-line-item-bump.entry.js.map 1 year ago sc-line-item-total.entry.js 6 days ago sc-line-item-total.entry.js.map 6 months ago sc-line-item.entry.js 1 month ago sc-line-item.entry.js.map 1 year ago sc-line-items-provider.entry.js 1 month ago sc-line-items-provider.entry.js.map 1 year ago sc-line-items.entry.js 6 days ago sc-line-items.entry.js.map 1 month ago sc-login-form.entry.js 1 month ago sc-login-form.entry.js.map 2 months ago sc-manual-payment-method_3.entry.js 1 month ago sc-manual-payment-method_3.entry.js.map 3 months ago sc-menu-divider.entry.js 1 month ago sc-menu-divider.entry.js.map 1 year ago sc-menu-label_2.entry.js 1 month ago sc-menu-label_2.entry.js.map 1 month ago sc-mollie-add-method.entry.js 1 month ago sc-mollie-add-method.entry.js.map 2 months ago sc-order-confirmation-customer.entry.js 2 months ago sc-order-confirmation-customer.entry.js.map 1 year ago sc-order-confirmation-details.entry.js 2 months ago sc-order-confirmation-details.entry.js.map 11 months ago sc-order-confirmation-line-items_2.entry.js 1 month ago sc-order-confirmation-line-items_2.entry.js.map 1 month ago sc-order-confirmation.entry.js 1 month ago sc-order-confirmation.entry.js.map 2 months ago sc-order-coupon-form.entry.js 6 days ago sc-order-coupon-form.entry.js.map 2 months ago sc-order-detail.entry.js 2 months ago sc-order-detail.entry.js.map 1 year ago sc-order-fulfillment-badge.entry.js 1 month ago sc-order-fulfillment-badge.entry.js.map 4 months ago sc-order-manual-instructions.entry.js 2 months ago sc-order-manual-instructions.entry.js.map 1 year ago sc-order-password.entry.js 2 months ago sc-order-password.entry.js.map 1 year ago sc-order-return-badge.entry.js 1 month ago sc-order-return-badge.entry.js.map 4 months ago sc-order-shipment-badge.entry.js 2 months ago sc-order-shipment-badge.entry.js.map 4 months ago sc-order-status-badge.entry.js 1 month ago sc-order-status-badge.entry.js.map 4 months ago sc-order-submit.entry.js 6 days ago sc-order-submit.entry.js.map 2 months ago sc-order-summary.entry.js 6 days ago sc-order-summary.entry.js.map 1 month ago sc-order.entry.js 1 month ago sc-order.entry.js.map 1 month ago sc-orders-list.entry.js 1 month ago sc-orders-list.entry.js.map 1 month ago sc-pagination.entry.js 2 months ago sc-pagination.entry.js.map 1 year ago sc-password-nag.entry.js 1 month ago sc-password-nag.entry.js.map 2 months ago sc-password.entry.js 1 month ago sc-password.entry.js.map 1 month ago sc-payment-method-choice_2.entry.js 1 month ago sc-payment-method-choice_2.entry.js.map 1 year ago sc-payment-method-details.entry.js 1 month ago sc-payment-method-details.entry.js.map 1 year ago sc-payment-methods-list.entry.js 1 month ago sc-payment-methods-list.entry.js.map 2 months ago sc-payment.entry.js 6 days ago sc-payment.entry.js.map 3 months ago sc-paypal-add-method.entry.js 1 month ago sc-paypal-add-method.entry.js.map 2 months ago sc-paypal-buttons_2.entry.js 6 days ago sc-paypal-buttons_2.entry.js.map 2 months ago sc-paystack-add-method.entry.js 1 month ago sc-paystack-add-method.entry.js.map 2 months ago sc-pill-option.entry.js 1 month ago sc-pill-option.entry.js.map 1 year ago sc-popover.entry.js 1 month ago sc-popover.entry.js.map 6 months ago sc-premium-tag.entry.js 1 month ago sc-premium-tag.entry.js.map 1 year ago sc-price-choice-container.entry.js 1 month ago sc-price-choice-container.entry.js.map 1 month ago sc-price-choice.entry.js 1 month ago sc-price-choice.entry.js.map 2 months ago sc-price-choices.entry.js 6 days ago sc-price-choices.entry.js.map 1 year ago sc-price-input.entry.js 1 month ago sc-price-input.entry.js.map 1 year ago sc-price-range_4.entry.js 1 month ago sc-price-range_4.entry.js.map 1 year ago sc-price.entry.js 2 months ago sc-price.entry.js.map 11 months ago sc-product-buy-button.entry.js 6 days ago sc-product-buy-button.entry.js.map 2 months ago sc-product-donation-amount-choice.entry.js 6 days ago sc-product-donation-amount-choice.entry.js.map 2 months ago sc-product-donation-choices.entry.js 6 days ago sc-product-donation-choices.entry.js.map 2 months ago sc-product-donation-custom-amount.entry.js 6 days ago sc-product-donation-custom-amount.entry.js.map 2 months ago sc-product-item-list.entry.js 6 days ago sc-product-item-list.entry.js.map 2 months ago sc-product-item.entry.js 1 month ago sc-product-item.entry.js.map 1 year ago sc-product-pills-variant-option.entry.js 6 days ago sc-product-pills-variant-option.entry.js.map 1 year ago sc-product-price-choices.entry.js 6 days ago sc-product-price-choices.entry.js.map 1 year ago sc-product-price-modal.entry.js 6 days ago sc-product-price-modal.entry.js.map 2 months ago sc-product-price.entry.js 6 days ago sc-product-price.entry.js.map 2 months ago sc-product-quantity.entry.js 6 days ago sc-product-quantity.entry.js.map 1 year ago sc-product-selected-price.entry.js 6 days ago sc-product-selected-price.entry.js.map 2 months ago sc-product-text.entry.js 6 days ago sc-product-text.entry.js.map 1 year ago sc-provider.entry.js 2 months ago sc-provider.entry.js.map 1 year ago sc-provisional-banner.entry.js 1 month ago sc-provisional-banner.entry.js.map 11 months ago sc-purchase-downloads-list.entry.js 1 month ago sc-purchase-downloads-list.entry.js.map 1 month ago sc-razorpay-add-method.entry.js 1 month ago sc-razorpay-add-method.entry.js.map 2 months ago sc-recurring-price-choice-container.entry.js 2 months ago sc-recurring-price-choice-container.entry.js.map 1 year ago sc-review-stars.entry.js 2 months ago sc-review-stars.entry.js.map 5 months ago sc-rich-text.entry.js 1 month ago sc-rich-text.entry.js.map 1 month ago sc-skeleton.entry.js 1 month ago sc-skeleton.entry.js.map 1 year ago sc-spacing.entry.js 1 month ago sc-spacing.entry.js.map 1 year ago sc-stripe-add-method.entry.js 1 month ago sc-stripe-add-method.entry.js.map 2 months ago sc-stripe-element.entry.js 6 days ago sc-stripe-element.entry.js.map 2 months ago sc-stripe-payment-element.entry.js 6 days ago sc-stripe-payment-element.entry.js.map 2 months ago sc-stripe-payment-request.entry.js 6 days ago sc-stripe-payment-request.entry.js.map 2 months ago sc-subscription-ad-hoc-confirm.entry.js 1 month ago sc-subscription-ad-hoc-confirm.entry.js.map 6 months ago sc-subscription-details_2.entry.js 1 month ago sc-subscription-details_2.entry.js.map 1 month ago sc-subscription-payment-method.entry.js 1 month ago sc-subscription-payment-method.entry.js.map 2 months ago sc-subscription-payment.entry.js 1 month ago sc-subscription-payment.entry.js.map 2 months ago sc-subscription-switch.entry.js 1 month ago sc-subscription-switch.entry.js.map 2 months ago sc-subscription-variation-confirm.entry.js 1 month ago sc-subscription-variation-confirm.entry.js.map 1 year ago sc-subscription.entry.js 1 month ago sc-subscription.entry.js.map 1 month ago sc-subscriptions-list.entry.js 1 month ago sc-subscriptions-list.entry.js.map 2 months ago sc-summary.entry.js 1 month ago sc-summary.entry.js.map 1 year ago sc-swap.entry.js 6 days ago sc-swap.entry.js.map 2 months ago sc-switch.entry.js 1 month ago sc-switch.entry.js.map 7 months ago sc-tab-group.entry.js 1 month ago sc-tab-group.entry.js.map 1 year ago sc-tab-panel.entry.js 1 month ago sc-tab-panel.entry.js.map 1 year ago sc-tab.entry.js 1 month ago sc-tab.entry.js.map 1 year ago sc-table-head.entry.js 1 month ago sc-table-head.entry.js.map 1 year ago sc-table_3.entry.js 1 month ago sc-table_3.entry.js.map 10 months ago sc-tag.entry.js 1 month ago sc-tag.entry.js.map 4 months ago sc-test-mode-info.entry.js 1 month ago sc-test-mode-info.entry.js.map 6 months ago sc-text.entry.js 1 month ago sc-text.entry.js.map 1 year ago sc-toggle.entry.js 1 month ago sc-toggle.entry.js.map 1 year ago sc-toggles.entry.js 1 month ago sc-toggles.entry.js.map 1 year ago sc-total.entry.js 6 days ago sc-total.entry.js.map 1 year ago sc-upcoming-invoice.entry.js 1 month ago sc-upcoming-invoice.entry.js.map 2 months ago sc-upgrade-required.entry.js 2 months ago sc-upgrade-required.entry.js.map 1 year ago sc-upsell-countdown-timer.entry.js 1 month ago sc-upsell-countdown-timer.entry.js.map 1 year ago sc-upsell-no-thanks-button.entry.js 6 days ago sc-upsell-no-thanks-button.entry.js.map 2 months ago sc-upsell-submit-button.entry.js 6 days ago sc-upsell-submit-button.entry.js.map 2 months ago sc-upsell-totals.entry.js 6 days ago sc-upsell-totals.entry.js.map 2 months ago sc-upsell.entry.js 6 days ago sc-upsell.entry.js.map 2 months ago sc-verification-code.entry.js 1 month ago sc-verification-code.entry.js.map 2 months ago sc-visually-hidden.entry.js 1 month ago sc-visually-hidden.entry.js.map 1 year ago sc-wordpress-password-edit.entry.js 1 month ago sc-wordpress-password-edit.entry.js.map 2 months ago sc-wordpress-user-edit.entry.js 1 month ago sc-wordpress-user-edit.entry.js.map 2 months ago sc-wordpress-user.entry.js 1 month ago sc-wordpress-user.entry.js.map 1 year ago store-289e460c.js 2 months ago store-289e460c.js.map 2 months ago store-ac90a769.js 1 month ago store-ac90a769.js.map 1 month ago store-b1758b00.js 2 months ago store-b1758b00.js.map 2 months ago surecart.js 2 weeks ago surecart.js.map 1 year ago tax-a03623ca.js 1 year ago tax-a03623ca.js.map 1 year ago universe-7bd0ac2b.js 2 months ago universe-7bd0ac2b.js.map 2 months ago util-dfbf863e.js 2 months ago util-dfbf863e.js.map 2 months ago utils-f84b2118.js 3 months ago utils-f84b2118.js.map 3 months ago verification-00df9439.js 1 month ago verification-00df9439.js.map 1 month ago watchers-2d9a1422.js 6 days ago watchers-2d9a1422.js.map 6 days ago watchers-81f32d01.js 6 days ago watchers-81f32d01.js.map 6 days ago watchers-843c3dbe.js 6 days ago watchers-843c3dbe.js.map 6 days ago watchers-c7bbc6b2.js 2 months ago watchers-c7bbc6b2.js.map 2 months ago watchers-df374a91.js 6 days ago watchers-df374a91.js.map 6 days ago
sc-stripe-payment-request.entry.js
310 lines
1 import { r as registerInstance, c as createEvent, h, a as getElement } from './index-25e5af33.js';
2 import { p as pure } from './pure-963214cb.js';
3 import { s as state, o as onChange } from './mutations-9ffd30f4.js';
4 import { c as createOrUpdateCheckout, f as finalizeCheckout } from './index-a786f689.js';
5 import { c as createErrorNotice } from './mutations-7458343f.js';
6 import { o as openWormhole } from './consumer-f1775a76.js';
7 import './index-18f5a1bc.js';
8 import './utils-f84b2118.js';
9 import './remove-query-args-938c53ea.js';
10 import './add-query-args-0e2a8393.js';
11 import './index-c5a96d53.js';
12 import './google-e9085e27.js';
13 import './currency-a0c9bff4.js';
14 import './store-b1758b00.js';
15 import './price-1ff6aa07.js';
16 import './fetch-cdff67be.js';
17 import './index-824c562b.js';
18
19 const scStripePaymentRequestCss = ":host{display:block}.or{display:none;margin:var(--sc-form-section-spacing) 0}.request--loaded .or{display:block}";
20 const ScStripePaymentRequestStyle0 = scStripePaymentRequestCss;
21
22 const ScStripePaymentRequest = class {
23 constructor(hostRef) {
24 registerInstance(this, hostRef);
25 this.scFormSubmit = createEvent(this, "scFormSubmit", 7);
26 this.scPaid = createEvent(this, "scPaid", 7);
27 this.scPayError = createEvent(this, "scPayError", 7);
28 this.scSetState = createEvent(this, "scSetState", 7);
29 this.scPaymentRequestLoaded = createEvent(this, "scPaymentRequestLoaded", 7);
30 this.scUpdateOrderState = createEvent(this, "scUpdateOrderState", 7);
31 this.stripeAccountId = undefined;
32 this.publishableKey = undefined;
33 this.country = 'US';
34 this.prices = undefined;
35 this.label = 'total';
36 this.amount = 0;
37 this.theme = 'dark';
38 this.error = undefined;
39 this.debug = false;
40 this.loaded = false;
41 this.debugError = undefined;
42 }
43 async componentWillLoad() {
44 if (!(this === null || this === void 0 ? void 0 : this.publishableKey) || !(this === null || this === void 0 ? void 0 : this.stripeAccountId)) {
45 return true;
46 }
47 try {
48 this.stripe = await pure.loadStripe(this.publishableKey, { stripeAccount: this.stripeAccountId });
49 this.elements = this.stripe.elements();
50 this.paymentRequest = this.stripe.paymentRequest({
51 country: this.country,
52 requestShipping: true,
53 requestPayerEmail: true,
54 shippingOptions: [
55 {
56 id: 'free',
57 label: 'Free Shipping',
58 detail: 'No shipping required',
59 amount: 0,
60 },
61 ],
62 ...this.getRequestObject(state === null || state === void 0 ? void 0 : state.checkout),
63 });
64 }
65 catch (e) {
66 console.log((e === null || e === void 0 ? void 0 : e.message) || wp.i18n.__('Stripe could not be loaded', 'surecart'));
67 }
68 }
69 handleOrderChange() {
70 if (!this.paymentRequest)
71 return;
72 if (this.pendingEvent)
73 return;
74 this.paymentRequest.update(this.getRequestObject(state === null || state === void 0 ? void 0 : state.checkout));
75 }
76 handleLoaded() {
77 this.scPaymentRequestLoaded.emit(true);
78 }
79 handleErrorChange() {
80 if (this.pendingEvent) {
81 this.pendingEvent.complete('error');
82 }
83 }
84 async handleShippingChange(ev) {
85 var _a, _b, _c, _d, _e;
86 const { shippingAddress, updateWith } = ev;
87 try {
88 const order = (await createOrUpdateCheckout({
89 id: (_a = state === null || state === void 0 ? void 0 : state.checkout) === null || _a === void 0 ? void 0 : _a.id,
90 data: {
91 shipping_address: {
92 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.name) ? { name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.name } : {}),
93 ...(((_b = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _b === void 0 ? void 0 : _b[0]) ? { line_1: (_c = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _c === void 0 ? void 0 : _c[0] } : {}),
94 ...(((_d = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _d === void 0 ? void 0 : _d[1]) ? { line_2: (_e = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _e === void 0 ? void 0 : _e[1] } : {}),
95 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city) ? { city: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city } : {}),
96 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country) ? { country: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country } : {}),
97 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.postalCode) ? { postal_code: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.postalCode } : {}),
98 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.region) ? { state: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.region } : {}),
99 },
100 },
101 }));
102 updateWith({
103 status: 'success',
104 total: {
105 amount: (order === null || order === void 0 ? void 0 : order.amount_due) || 0,
106 label: wp.i18n.__('Total', 'surecart'),
107 },
108 });
109 }
110 catch (e) {
111 e.updateWith({ status: 'invalid_shipping_address' });
112 }
113 }
114 /** Only append price name if there's more than one product price in the session. */
115 getName(item) {
116 var _a, _b, _c, _d, _e;
117 const otherPrices = Object.keys(this.prices || {}).filter(key => {
118 const price = this.prices[key];
119 // @ts-ignore
120 return price.product === item.price.product.id;
121 });
122 let name = '';
123 if (otherPrices.length > 1) {
124 name = `${(_b = (_a = item === null || item === void 0 ? void 0 : item.price) === null || _a === void 0 ? void 0 : _a.product) === null || _b === void 0 ? void 0 : _b.name} \u2013 ${(_c = item === null || item === void 0 ? void 0 : item.price) === null || _c === void 0 ? void 0 : _c.name}`;
125 }
126 else {
127 name = (_e = (_d = item === null || item === void 0 ? void 0 : item.price) === null || _d === void 0 ? void 0 : _d.product) === null || _e === void 0 ? void 0 : _e.name;
128 }
129 return name;
130 }
131 getRequestObject(order) {
132 var _a;
133 const displayItems = (((_a = order === null || order === void 0 ? void 0 : order.line_items) === null || _a === void 0 ? void 0 : _a.data) || []).map(item => {
134 return {
135 label: this.getName(item),
136 amount: item.ad_hoc_amount !== null ? item.ad_hoc_amount : item.subtotal_amount,
137 };
138 });
139 return {
140 currency: state.currencyCode,
141 total: {
142 amount: (order === null || order === void 0 ? void 0 : order.amount_due) || 0,
143 label: wp.i18n.__('Total', 'surecart'),
144 },
145 displayItems,
146 };
147 }
148 componentDidLoad() {
149 this.handleOrderChange();
150 this.removeCheckoutListener = onChange('checkout', () => this.handleOrderChange());
151 if (!this.elements) {
152 return;
153 }
154 const paymentRequestElement = this.elements.create('paymentRequestButton', {
155 paymentRequest: this.paymentRequest,
156 style: {
157 paymentRequestButton: {
158 theme: this.theme,
159 },
160 },
161 });
162 // handle payment method.
163 this.paymentRequest.on('paymentmethod', e => this.handlePaymentMethod(e));
164 this.paymentRequest.on('shippingaddresschange', async (ev) => await this.handleShippingChange(ev));
165 // mount button.
166 this.paymentRequest
167 .canMakePayment()
168 .then(result => {
169 if (!result) {
170 if (location.protocol !== 'https:') {
171 if (this.debug) {
172 this.debugError = wp.i18n.__('You must serve this page over HTTPS to display express payment buttons.', 'surecart');
173 }
174 console.log('SSL needed to display payment buttons.');
175 }
176 else {
177 if (this.debug) {
178 this.debugError = wp.i18n.__('You do not have any wallets set up in your browser.', 'surecart');
179 }
180 console.log('No wallets available.');
181 }
182 return;
183 }
184 paymentRequestElement.mount(this.request);
185 this.loaded = true;
186 })
187 .catch(e => {
188 console.error(e);
189 });
190 }
191 /** Handle the payment method. */
192 async handlePaymentMethod(ev) {
193 var _a, _b, _c, _d, _e;
194 const { billing_details } = ev === null || ev === void 0 ? void 0 : ev.paymentMethod;
195 const { shippingAddress } = ev;
196 try {
197 this.scSetState.emit('FINALIZE');
198 // update session with shipping/billing
199 (await createOrUpdateCheckout({
200 id: (_a = state === null || state === void 0 ? void 0 : state.checkout) === null || _a === void 0 ? void 0 : _a.id,
201 data: {
202 email: billing_details === null || billing_details === void 0 ? void 0 : billing_details.email,
203 name: billing_details === null || billing_details === void 0 ? void 0 : billing_details.name,
204 shipping_address: {
205 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.name) ? { name: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.name } : {}),
206 ...(((_b = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _b === void 0 ? void 0 : _b[0]) ? { line_1: (_c = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _c === void 0 ? void 0 : _c[0] } : {}),
207 ...(((_d = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _d === void 0 ? void 0 : _d[1]) ? { line_2: (_e = shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.addressLine) === null || _e === void 0 ? void 0 : _e[1] } : {}),
208 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city) ? { city: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.city } : {}),
209 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country) ? { country: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.country } : {}),
210 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.postalCode) ? { postal_code: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.postalCode } : {}),
211 ...((shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.region) ? { state: shippingAddress === null || shippingAddress === void 0 ? void 0 : shippingAddress.region } : {}),
212 },
213 },
214 }));
215 // finalize
216 const session = (await finalizeCheckout({
217 id: state === null || state === void 0 ? void 0 : state.checkout.id,
218 query: {
219 form_id: state.formId,
220 },
221 processor: { id: 'stripe', manual: false },
222 }));
223 // confirm payment
224 this.scSetState.emit('PAYING');
225 await this.confirmPayment(session, ev);
226 this.scSetState.emit('PAID');
227 // paid.
228 this.scPaid.emit();
229 // Report to the browser that the confirmation was successful, prompting
230 // it to close the browser payment method collection interface.
231 ev.complete('success');
232 }
233 catch (e) {
234 console.error(e);
235 this.scPayError.emit(e);
236 createErrorNotice(e);
237 ev.complete('fail');
238 }
239 finally {
240 this.confirming = false;
241 }
242 }
243 async confirmPayment(val, ev) {
244 var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
245 // must be finalized
246 if ((val === null || val === void 0 ? void 0 : val.status) !== 'finalized')
247 return;
248 // must have a secret
249 if (!((_c = (_b = (_a = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _a === void 0 ? void 0 : _a.processor_data) === null || _b === void 0 ? void 0 : _b.stripe) === null || _c === void 0 ? void 0 : _c.client_secret))
250 return;
251 // need an external_type
252 if (!((_f = (_e = (_d = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _d === void 0 ? void 0 : _d.processor_data) === null || _e === void 0 ? void 0 : _e.stripe) === null || _f === void 0 ? void 0 : _f.type))
253 return;
254 // must have an external intent id
255 if (!((_g = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _g === void 0 ? void 0 : _g.external_intent_id))
256 return;
257 // prevent possible double-charges
258 if (this.confirming)
259 return;
260 this.confirming = true;
261 let response;
262 if (((_k = (_j = (_h = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _h === void 0 ? void 0 : _h.processor_data) === null || _j === void 0 ? void 0 : _j.stripe) === null || _k === void 0 ? void 0 : _k.type) == 'setup') {
263 response = await this.confirmCardSetup((_m = (_l = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _l === void 0 ? void 0 : _l.processor_data) === null || _m === void 0 ? void 0 : _m.stripe.client_secret, ev);
264 }
265 else {
266 response = await this.confirmCardPayment((_p = (_o = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _o === void 0 ? void 0 : _o.processor_data) === null || _p === void 0 ? void 0 : _p.stripe.client_secret, ev);
267 }
268 if (response === null || response === void 0 ? void 0 : response.error) {
269 throw response.error;
270 }
271 // Check if the PaymentIntent requires any actions and if so let Stripe.js
272 // handle the flow. If using an API version older than "2019-02-11"
273 // instead check for: `paymentIntent.status === "requires_source_action"`.
274 if (((_q = response === null || response === void 0 ? void 0 : response.paymentIntent) === null || _q === void 0 ? void 0 : _q.status) === 'requires_action' || ((_r = response === null || response === void 0 ? void 0 : response.paymentIntent) === null || _r === void 0 ? void 0 : _r.status) === 'requires_source_action') {
275 // Let Stripe.js handle the rest of the payment flow.
276 const result = await this.stripe.confirmCardPayment((_t = (_s = val === null || val === void 0 ? void 0 : val.payment_intent) === null || _s === void 0 ? void 0 : _s.processor_data) === null || _t === void 0 ? void 0 : _t.stripe.client_secret);
277 // The payment failed -- ask your customer for a new payment method.
278 if (result.error) {
279 throw result.error;
280 }
281 return result;
282 }
283 return response;
284 }
285 /** Confirm card payment. */
286 confirmCardPayment(secret, ev) {
287 return this.stripe.confirmCardPayment(secret, { payment_method: ev.paymentMethod.id }, { handleActions: false });
288 }
289 /** Confirm card setup. */
290 confirmCardSetup(secret, ev) {
291 return this.stripe.confirmCardSetup(secret, { payment_method: ev.paymentMethod.id }, { handleActions: false });
292 }
293 disconnectedCallback() {
294 this.removeCheckoutListener();
295 }
296 render() {
297 return (h("div", { key: '9f29630a1a8b7625d672d5033485d748452e9b60', class: { 'request': true, 'request--loaded': this.loaded } }, this.debug && this.debugError && (h("div", { key: '3a3666278b55cdd431e03db7e6bfec90b27eeabc' }, h("slot", { key: '14736b120870b919215565e81d951b727f1c5771', name: "debug-fallback" }), h("sc-alert", { key: '8f6367c78bf6f729c5358eb7ac8c2a7a9dd2c96a', type: "info", open: true }, h("span", { key: 'a7eab183f1670523e5a1a9b3772786398aad4ca9', slot: "title" }, wp.i18n.__('Express Payment', 'surecart')), this.debugError))), h("div", { key: 'd24cf916a8d4d82ad96eeec37d2fb2ae1fabe70f', class: "sc-payment-request-button", part: "button", ref: el => (this.request = el) })));
298 }
299 get el() { return getElement(this); }
300 static get watchers() { return {
301 "loaded": ["handleLoaded"],
302 "error": ["handleErrorChange"]
303 }; }
304 };
305 openWormhole(ScStripePaymentRequest, ['prices'], false);
306 ScStripePaymentRequest.style = ScStripePaymentRequestStyle0;
307
308 export { ScStripePaymentRequest as sc_stripe_payment_request };
309
310 //# sourceMappingURL=sc-stripe-payment-request.entry.js.map