@internetarchive/donation-form 0.5.18-alpha.1 → 0.5.19
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/LICENSE +661 -661
- package/README.md +115 -115
- package/dist/demo/braintree-endpoint-manager.d.ts +9 -9
- package/dist/demo/braintree-endpoint-manager.js +45 -45
- package/dist/demo/braintree-endpoint-manager.js.map +1 -1
- package/dist/demo/demo-analytics-handler.d.ts +17 -17
- package/dist/demo/demo-analytics-handler.js +13 -13
- package/dist/demo/demo-analytics-handler.js.map +1 -1
- package/dist/demo/submit-form-with.d.ts +7 -7
- package/dist/demo/submit-form-with.js +21 -21
- package/dist/demo/submit-form-with.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/src/braintree-manager/braintree-interfaces.d.ts +147 -147
- package/dist/src/braintree-manager/braintree-interfaces.js +5 -5
- package/dist/src/braintree-manager/braintree-interfaces.js.map +1 -1
- package/dist/src/braintree-manager/braintree-manager.d.ts +124 -124
- package/dist/src/braintree-manager/braintree-manager.js +149 -149
- package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
- package/dist/src/braintree-manager/payment-clients.d.ts +47 -47
- package/dist/src/braintree-manager/payment-clients.js +116 -116
- package/dist/src/braintree-manager/payment-clients.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.d.ts +8 -8
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.d.ts +6 -6
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +10 -10
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -21
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js +99 -99
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.d.ts +10 -10
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js +12 -12
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.d.ts +20 -20
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js +71 -71
- package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.d.ts +16 -16
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.d.ts +29 -29
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js +99 -99
- package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.d.ts +11 -11
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js +7 -7
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.d.ts +34 -34
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js +52 -52
- package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/google-pay-interface.d.ts +7 -7
- package/dist/src/braintree-manager/payment-providers/google-pay-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/google-pay.d.ts +18 -18
- package/dist/src/braintree-manager/payment-providers/google-pay.js +40 -40
- package/dist/src/braintree-manager/payment-providers/google-pay.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.d.ts +145 -145
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js +60 -60
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.d.ts +11 -11
- package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.d.ts +23 -23
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js +46 -46
- package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/venmo-interface.d.ts +6 -6
- package/dist/src/braintree-manager/payment-providers/venmo-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers/venmo.d.ts +28 -28
- package/dist/src/braintree-manager/payment-providers/venmo.js +50 -50
- package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers-interface.d.ts +16 -16
- package/dist/src/braintree-manager/payment-providers-interface.js.map +1 -1
- package/dist/src/braintree-manager/payment-providers.d.ts +45 -45
- package/dist/src/braintree-manager/payment-providers.js +105 -105
- package/dist/src/braintree-manager/payment-providers.js.map +1 -1
- package/dist/src/donation-form-controller.d.ts +116 -116
- package/dist/src/donation-form-controller.js +562 -562
- package/dist/src/donation-form-controller.js.map +1 -1
- package/dist/src/donation-form-error.d.ts +3 -3
- package/dist/src/donation-form-error.js +6 -6
- package/dist/src/donation-form-error.js.map +1 -1
- package/dist/src/donation-form.d.ts +120 -120
- package/dist/src/donation-form.js +530 -530
- package/dist/src/donation-form.js.map +1 -1
- package/dist/src/form-elements/badged-input.d.ts +32 -32
- package/dist/src/form-elements/badged-input.js +124 -124
- package/dist/src/form-elements/badged-input.js.map +1 -1
- package/dist/src/form-elements/contact-form/autocomplete-field-options.d.ts +1 -1
- package/dist/src/form-elements/contact-form/autocomplete-field-options.js.map +1 -1
- package/dist/src/form-elements/contact-form/contact-form.d.ts +53 -53
- package/dist/src/form-elements/contact-form/contact-form.js +428 -428
- package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
- package/dist/src/form-elements/contact-form/countries.d.ts +3 -3
- package/dist/src/form-elements/contact-form/countries.js +252 -252
- package/dist/src/form-elements/contact-form/countries.js.map +1 -1
- package/dist/src/form-elements/header/donation-form-header.d.ts +27 -27
- package/dist/src/form-elements/header/donation-form-header.js +97 -97
- package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
- package/dist/src/form-elements/header/donation-summary.d.ts +11 -11
- package/dist/src/form-elements/header/donation-summary.js +57 -57
- package/dist/src/form-elements/header/donation-summary.js.map +1 -1
- package/dist/src/form-elements/payment-selector.d.ts +25 -25
- package/dist/src/form-elements/payment-selector.js +286 -286
- package/dist/src/form-elements/payment-selector.js.map +1 -1
- package/dist/src/form-elements/total-amount.d.ts +8 -8
- package/dist/src/form-elements/total-amount.js +47 -47
- package/dist/src/form-elements/total-amount.js.map +1 -1
- package/dist/src/modals/confirm-donation-modal-content.d.ts +31 -31
- package/dist/src/modals/confirm-donation-modal-content.js +168 -168
- package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
- package/dist/src/modals/error-modal-content.d.ts +14 -14
- package/dist/src/modals/error-modal-content.js +49 -49
- package/dist/src/modals/error-modal-content.js.map +1 -1
- package/dist/src/modals/upsell-modal-content.d.ts +32 -32
- package/dist/src/modals/upsell-modal-content.js +294 -294
- package/dist/src/modals/upsell-modal-content.js.map +1 -1
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.d.ts +181 -181
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +252 -252
- package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.d.ts +21 -21
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js +76 -76
- package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.d.ts +70 -70
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js +140 -140
- package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.d.ts +22 -22
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js +74 -74
- package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.d.ts +52 -52
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +239 -239
- package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.d.ts +30 -30
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js +89 -89
- package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.d.ts +75 -75
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js +94 -94
- package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
- package/dist/src/payment-flow-handlers/payment-flow-handlers.d.ts +111 -111
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js +107 -107
- package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
- package/dist/src/recaptcha-manager/recaptcha-manager.d.ts +48 -48
- package/dist/src/recaptcha-manager/recaptcha-manager.js +88 -88
- package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
- package/dist/src/util/promisedSleep.d.ts +1 -1
- package/dist/src/util/promisedSleep.js +3 -3
- package/dist/src/util/promisedSleep.js.map +1 -1
- package/dist/test/helpers/fillInContactForm.d.ts +2 -2
- package/dist/test/helpers/fillInContactForm.js +19 -19
- package/dist/test/helpers/fillInContactForm.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.d.ts +7 -7
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.d.ts +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js +32 -32
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.d.ts +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.d.ts +15 -15
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js +30 -30
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.d.ts +9 -9
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js +17 -17
- package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js.map +1 -1
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.d.ts +30 -30
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js +29 -29
- package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
- package/dist/test/mocks/mock-analytics-handler.d.ts +8 -0
- package/dist/test/mocks/mock-analytics-handler.js +10 -0
- package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
- package/dist/test/mocks/mock-braintree-manager.d.ts +45 -45
- package/dist/test/mocks/mock-braintree-manager.js +71 -71
- package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
- package/dist/test/mocks/mock-donation-info.d.ts +4 -4
- package/dist/test/mocks/mock-donation-info.js +10 -10
- package/dist/test/mocks/mock-donation-info.js.map +1 -1
- package/dist/test/mocks/mock-endpoint-manager.d.ts +12 -12
- package/dist/test/mocks/mock-endpoint-manager.js +19 -19
- package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
- package/dist/test/mocks/mock-hosted-fields-config.d.ts +4 -4
- package/dist/test/mocks/mock-hosted-fields-config.js +37 -37
- package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
- package/dist/test/mocks/mock-hosted-fields-container.d.ts +13 -13
- package/dist/test/mocks/mock-hosted-fields-container.js +27 -27
- package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
- package/dist/test/mocks/mock-lazy-loader.d.ts +15 -15
- package/dist/test/mocks/mock-lazy-loader.js +20 -20
- package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
- package/dist/test/mocks/mock-modal-manager.d.ts +17 -17
- package/dist/test/mocks/mock-modal-manager.js +26 -26
- package/dist/test/mocks/mock-modal-manager.js.map +1 -1
- package/dist/test/mocks/mock-payment-clients.d.ts +29 -29
- package/dist/test/mocks/mock-payment-clients.js +78 -78
- package/dist/test/mocks/mock-payment-clients.js.map +1 -1
- package/dist/test/mocks/mock-paypal-button-renderer.d.ts +5 -5
- package/dist/test/mocks/mock-paypal-button-renderer.js +6 -6
- package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
- package/dist/test/mocks/mock-recaptcha-manager.d.ts +7 -7
- package/dist/test/mocks/mock-recaptcha-manager.js +14 -14
- package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
- package/dist/test/mocks/models/mock-billing-info.d.ts +2 -2
- package/dist/test/mocks/models/mock-billing-info.js +9 -9
- package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
- package/dist/test/mocks/models/mock-custom-fields.d.ts +2 -2
- package/dist/test/mocks/models/mock-custom-fields.js +7 -7
- package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
- package/dist/test/mocks/models/mock-customer-info.d.ts +2 -2
- package/dist/test/mocks/models/mock-customer-info.js +6 -6
- package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
- package/dist/test/mocks/models/mock-donation-request.d.ts +2 -2
- package/dist/test/mocks/models/mock-donation-request.js +18 -18
- package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
- package/dist/test/mocks/models/mock-success-response.d.ts +2 -2
- package/dist/test/mocks/models/mock-success-response.js +14 -14
- package/dist/test/mocks/models/mock-success-response.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-client.d.ts +21 -21
- package/dist/test/mocks/payment-clients/mock-applepay-client.js +72 -72
- package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-payment.d.ts +6 -6
- package/dist/test/mocks/payment-clients/mock-applepay-payment.js +42 -42
- package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js +35 -35
- package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-session.d.ts +30 -30
- package/dist/test/mocks/payment-clients/mock-applepay-session.js +52 -52
- package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.d.ts +10 -10
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js +12 -12
- package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js +34 -34
- package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-braintree-client.d.ts +14 -14
- package/dist/test/mocks/payment-clients/mock-braintree-client.js +19 -19
- package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-data-collector.d.ts +11 -11
- package/dist/test/mocks/payment-clients/mock-data-collector.js +17 -17
- package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-googlepay-client.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-googlepay-client.js +42 -42
- package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-googlepay-library.d.ts +10 -10
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js +22 -22
- package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-grecaptcha.d.ts +23 -23
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js +62 -62
- package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.d.ts +33 -33
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js +54 -54
- package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.d.ts +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js +50 -50
- package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.d.ts +1 -1
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js +13 -13
- package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-paypal-client.d.ts +23 -23
- package/dist/test/mocks/payment-clients/mock-paypal-client.js +62 -62
- package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-paypal-library.d.ts +4 -4
- package/dist/test/mocks/payment-clients/mock-paypal-library.js +9 -9
- package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
- package/dist/test/mocks/payment-clients/mock-venmo-client.d.ts +22 -22
- package/dist/test/mocks/payment-clients/mock-venmo-client.js +36 -36
- package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.d.ts +10 -10
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js +14 -14
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.d.ts +9 -9
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js +19 -19
- package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.d.ts +18 -18
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js +41 -41
- package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.d.ts +8 -8
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js +16 -16
- package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.d.ts +28 -28
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js +52 -52
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.d.ts +11 -11
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js +37 -37
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.d.ts +12 -12
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js +15 -15
- package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.d.ts +7 -7
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js +22 -22
- package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
- package/dist/test/mocks/payment-providers/mock-payment-providers.d.ts +21 -21
- package/dist/test/mocks/payment-providers/mock-payment-providers.js +45 -45
- package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
- package/dist/test/tests/braintree-manager.test.d.ts +1 -1
- package/dist/test/tests/braintree-manager.test.js +166 -166
- package/dist/test/tests/braintree-manager.test.js.map +1 -1
- package/dist/test/tests/donation-form-controller.test.d.ts +1 -1
- package/dist/test/tests/donation-form-controller.test.js +188 -188
- package/dist/test/tests/donation-form-controller.test.js.map +1 -1
- package/dist/test/tests/donation-form.test.d.ts +1 -1
- package/dist/test/tests/donation-form.test.js +109 -109
- package/dist/test/tests/donation-form.test.js.map +1 -1
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.d.ts +1 -1
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +216 -216
- package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
- package/dist/test/tests/form-elements/donation-summary.test.d.ts +1 -1
- package/dist/test/tests/form-elements/donation-summary.test.js +36 -36
- package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
- package/dist/test/tests/form-elements/payment-selector.test.d.ts +1 -1
- package/dist/test/tests/form-elements/payment-selector.test.js +69 -69
- package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
- package/dist/test/tests/modals/error-modal-content.test.d.ts +1 -1
- package/dist/test/tests/modals/error-modal-content.test.js +14 -14
- package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
- package/dist/test/tests/modals/upsell-modal-content.test.d.ts +1 -1
- package/dist/test/tests/modals/upsell-modal-content.test.js +163 -163
- package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
- package/dist/test/tests/models/donation-payment-info.test.d.ts +1 -1
- package/dist/test/tests/models/donation-payment-info.test.js +74 -74
- package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
- package/dist/test/tests/payment-clients.test.d.ts +1 -1
- package/dist/test/tests/payment-clients.test.js +130 -130
- package/dist/test/tests/payment-clients.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js +160 -160
- package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js +36 -36
- package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
- package/dist/test/tests/payment-providers/applepay.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/applepay.test.js +78 -78
- package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
- package/dist/test/tests/payment-providers/creditcard.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/creditcard.test.js +190 -190
- package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
- package/dist/test/tests/payment-providers/googlepay.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/googlepay.test.js +48 -48
- package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
- package/dist/test/tests/payment-providers/payment-providers.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/payment-providers.test.js +38 -38
- package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.js +162 -162
- package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
- package/dist/test/tests/payment-providers/paypal.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/paypal.test.js +38 -38
- package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
- package/dist/test/tests/payment-providers/venmo.test.d.ts +1 -1
- package/dist/test/tests/payment-providers/venmo.test.js +77 -77
- package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
- package/dist/test/tests/recaptcha-manager.test.d.ts +1 -1
- package/dist/test/tests/recaptcha-manager.test.js +70 -70
- package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
- package/package.json +101 -101
- package/src/@types/analytics-handler/index.d.ts +8 -8
- package/src/@types/braintree-web/LICENSE +21 -21
- package/src/@types/braintree-web/index.d.ts +93 -93
- package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
- package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
- package/src/@types/braintree-web/modules/client.d.ts +103 -103
- package/src/@types/braintree-web/modules/core.d.ts +34 -34
- package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
- package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
- package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
- package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
- package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
- package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
- package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
- package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
- package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
- package/src/@types/braintree-web/package.json +64 -64
- package/src/@types/paypal-checkout-components/LICENSE +21 -21
- package/src/@types/paypal-checkout-components/index.d.ts +67 -67
- package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
- package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
- package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
- package/src/@types/paypal-checkout-components/package.json +58 -58
- package/src/braintree-manager/braintree-interfaces.ts +172 -172
- package/src/braintree-manager/braintree-manager.ts +283 -283
- package/src/braintree-manager/payment-clients.ts +148 -148
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
- package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +98 -98
- package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
- package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
- package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
- package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
- package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
- package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
- package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
- package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
- package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
- package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
- package/src/braintree-manager/payment-providers/venmo.ts +67 -67
- package/src/braintree-manager/payment-providers-interface.ts +25 -25
- package/src/braintree-manager/payment-providers.ts +147 -147
- package/src/donation-form-controller.ts +619 -619
- package/src/donation-form-error.ts +6 -6
- package/src/donation-form.ts +566 -566
- package/src/form-elements/badged-input.ts +113 -113
- package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
- package/src/form-elements/contact-form/contact-form.ts +427 -427
- package/src/form-elements/contact-form/countries.ts +252 -252
- package/src/form-elements/header/donation-form-header.ts +100 -100
- package/src/form-elements/header/donation-summary.ts +61 -61
- package/src/form-elements/payment-selector.ts +293 -293
- package/src/form-elements/total-amount.ts +46 -46
- package/src/modals/confirm-donation-modal-content.ts +160 -160
- package/src/modals/error-modal-content.ts +48 -48
- package/src/modals/upsell-modal-content.ts +294 -294
- package/src/payment-flow-handlers/donation-flow-modal-manager.ts +450 -450
- package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +108 -108
- package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +231 -231
- package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +113 -113
- package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +332 -332
- package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +118 -118
- package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
- package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
- package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
- package/src/util/promisedSleep.ts +3 -3
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
import { DonationRequest, DonationResponse, SuccessResponse, PaymentProvider, DonationPaymentInfo, CustomerInfo, BillingInfo } from '@internetarchive/donation-form-data-models';
|
|
2
|
-
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
-
import { Unsubscribe } from 'nanoevents';
|
|
4
|
-
import { PaymentProvidersInterface } from './payment-providers-interface';
|
|
5
|
-
export interface BraintreeManagerEvents {
|
|
6
|
-
paymentProvidersHostedFieldsRetry: (retryNumber: number) => void;
|
|
7
|
-
paymentProvidersHostedFieldsFailed: (error: unknown) => void;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The BraintreeManager is the main entrypoint for much of the common braintree functionality.
|
|
11
|
-
*
|
|
12
|
-
* A single instance of it gets created and passed down through all of the components.
|
|
13
|
-
*
|
|
14
|
-
* @export
|
|
15
|
-
* @interface BraintreeManagerInterface
|
|
16
|
-
*/
|
|
17
|
-
export interface BraintreeManagerInterface {
|
|
18
|
-
on<E extends keyof BraintreeManagerEvents>(event: E, callback: BraintreeManagerEvents[E]): Unsubscribe;
|
|
19
|
-
/**
|
|
20
|
-
* The PaymentProviders class contains the IA-specific handlers for each of the
|
|
21
|
-
* different payment providers.
|
|
22
|
-
*
|
|
23
|
-
* They are generally data-focused, as opposed to UI-focused, but there
|
|
24
|
-
* is some cross-polination between PaymentProviders and FlowHandlers.
|
|
25
|
-
*
|
|
26
|
-
* @type {PaymentProvidersInterface}
|
|
27
|
-
* @memberof BraintreeManagerInterface
|
|
28
|
-
*/
|
|
29
|
-
paymentProviders: PaymentProvidersInterface;
|
|
30
|
-
/**
|
|
31
|
-
* The Braintree Client instance.
|
|
32
|
-
*
|
|
33
|
-
* This gets used to isntantiate clients for all of the payment providers.
|
|
34
|
-
*
|
|
35
|
-
* @type {PromisedSingleton<braintree.Client>}
|
|
36
|
-
* @memberof BraintreeManagerInterface
|
|
37
|
-
*/
|
|
38
|
-
instance: PromisedSingleton<braintree.Client>;
|
|
39
|
-
/**
|
|
40
|
-
* Set the referrer for later submission
|
|
41
|
-
*
|
|
42
|
-
* @param {string} referrer
|
|
43
|
-
* @memberof BraintreeManagerInterface
|
|
44
|
-
*/
|
|
45
|
-
setReferrer(referrer: string): void;
|
|
46
|
-
/**
|
|
47
|
-
* Set the origin for later submission
|
|
48
|
-
*
|
|
49
|
-
* @param {string} origin
|
|
50
|
-
* @memberof BraintreeManagerInterface
|
|
51
|
-
*/
|
|
52
|
-
setOrigin(origin: string): void;
|
|
53
|
-
/**
|
|
54
|
-
* Set the logged-in user for later submission
|
|
55
|
-
*
|
|
56
|
-
* @param {string} loggedInUser
|
|
57
|
-
* @memberof BraintreeManagerInterface
|
|
58
|
-
*/
|
|
59
|
-
setLoggedInUser(loggedInUser: string): void;
|
|
60
|
-
/**
|
|
61
|
-
* Perform startup tasts like session resuming
|
|
62
|
-
*
|
|
63
|
-
* @memberof BraintreeManagerInterface
|
|
64
|
-
*/
|
|
65
|
-
startup(): void;
|
|
66
|
-
/**
|
|
67
|
-
* Submit donation to the backend
|
|
68
|
-
*
|
|
69
|
-
* @param {{
|
|
70
|
-
* nonce: string;
|
|
71
|
-
* paymentProvider: PaymentProvider;
|
|
72
|
-
* donationInfo: DonationPaymentInfo;
|
|
73
|
-
* billingInfo: BillingInfo;
|
|
74
|
-
* customerInfo: CustomerInfo;
|
|
75
|
-
* upsellOnetimeTransactionId?: string;
|
|
76
|
-
* customerId?: string;
|
|
77
|
-
* recaptchaToken?: string;
|
|
78
|
-
* bin?: string; // first 6 digits of CC
|
|
79
|
-
* binName?: string; // credit card bank name
|
|
80
|
-
* }} options
|
|
81
|
-
* @returns {Promise<DonationResponse>}
|
|
82
|
-
* @memberof BraintreeManagerInterface
|
|
83
|
-
*/
|
|
84
|
-
submitDonation(options: {
|
|
85
|
-
nonce: string;
|
|
86
|
-
paymentProvider: PaymentProvider;
|
|
87
|
-
donationInfo: DonationPaymentInfo;
|
|
88
|
-
billingInfo: BillingInfo;
|
|
89
|
-
customerInfo: CustomerInfo;
|
|
90
|
-
upsellOnetimeTransactionId?: string;
|
|
91
|
-
customerId?: string;
|
|
92
|
-
recaptchaToken?: string;
|
|
93
|
-
bin?: string;
|
|
94
|
-
binName?: string;
|
|
95
|
-
}): Promise<DonationResponse>;
|
|
96
|
-
/**
|
|
97
|
-
* Submit the upsell donation
|
|
98
|
-
*
|
|
99
|
-
* @param {{
|
|
100
|
-
* oneTimeDonationResponse: SuccessResponse;
|
|
101
|
-
* amount: number;
|
|
102
|
-
* }} options
|
|
103
|
-
* @returns {Promise<DonationResponse>}
|
|
104
|
-
* @memberof BraintreeManagerInterface
|
|
105
|
-
*/
|
|
106
|
-
submitUpsellDonation(options: {
|
|
107
|
-
oneTimeDonationResponse: SuccessResponse;
|
|
108
|
-
amount: number;
|
|
109
|
-
}): Promise<DonationResponse>;
|
|
110
|
-
/**
|
|
111
|
-
* Finish the donation after a successful completion.
|
|
112
|
-
*
|
|
113
|
-
* @param {{
|
|
114
|
-
* successResponse: SuccessResponse;
|
|
115
|
-
* upsellSuccessResponse?: SuccessResponse;
|
|
116
|
-
* }} options
|
|
117
|
-
* @memberof BraintreeManagerInterface
|
|
118
|
-
*/
|
|
119
|
-
donationSuccessful(options: {
|
|
120
|
-
successResponse: SuccessResponse;
|
|
121
|
-
upsellSuccessResponse?: SuccessResponse;
|
|
122
|
-
}): void;
|
|
123
|
-
}
|
|
124
|
-
export interface BraintreeEndpointManagerInterface {
|
|
125
|
-
/**
|
|
126
|
-
* Responsible for submitting a data object to the backend
|
|
127
|
-
* and returning a Promise of the JSON object response.
|
|
128
|
-
*
|
|
129
|
-
* @param {object} data
|
|
130
|
-
* @returns {Promise<object>}
|
|
131
|
-
* @memberof BraintreeEndpointManagerInterface
|
|
132
|
-
*/
|
|
133
|
-
submitData(request: DonationRequest): Promise<DonationResponse>;
|
|
134
|
-
/**
|
|
135
|
-
* Once the user is finished with the donation flow, either after
|
|
136
|
-
* a monthly donation or an upsell, we notify the endpoint manager
|
|
137
|
-
* so it can redirect the user to the thank you page.
|
|
138
|
-
*/
|
|
139
|
-
donationSuccessful(options: {
|
|
140
|
-
successResponse: SuccessResponse;
|
|
141
|
-
upsellSuccessResponse?: SuccessResponse;
|
|
142
|
-
}): void;
|
|
143
|
-
}
|
|
144
|
-
export declare enum HostingEnvironment {
|
|
145
|
-
Development = "dev",
|
|
146
|
-
Production = "prod"
|
|
147
|
-
}
|
|
1
|
+
import { DonationRequest, DonationResponse, SuccessResponse, PaymentProvider, DonationPaymentInfo, CustomerInfo, BillingInfo } from '@internetarchive/donation-form-data-models';
|
|
2
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
+
import { Unsubscribe } from 'nanoevents';
|
|
4
|
+
import { PaymentProvidersInterface } from './payment-providers-interface';
|
|
5
|
+
export interface BraintreeManagerEvents {
|
|
6
|
+
paymentProvidersHostedFieldsRetry: (retryNumber: number) => void;
|
|
7
|
+
paymentProvidersHostedFieldsFailed: (error: unknown) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The BraintreeManager is the main entrypoint for much of the common braintree functionality.
|
|
11
|
+
*
|
|
12
|
+
* A single instance of it gets created and passed down through all of the components.
|
|
13
|
+
*
|
|
14
|
+
* @export
|
|
15
|
+
* @interface BraintreeManagerInterface
|
|
16
|
+
*/
|
|
17
|
+
export interface BraintreeManagerInterface {
|
|
18
|
+
on<E extends keyof BraintreeManagerEvents>(event: E, callback: BraintreeManagerEvents[E]): Unsubscribe;
|
|
19
|
+
/**
|
|
20
|
+
* The PaymentProviders class contains the IA-specific handlers for each of the
|
|
21
|
+
* different payment providers.
|
|
22
|
+
*
|
|
23
|
+
* They are generally data-focused, as opposed to UI-focused, but there
|
|
24
|
+
* is some cross-polination between PaymentProviders and FlowHandlers.
|
|
25
|
+
*
|
|
26
|
+
* @type {PaymentProvidersInterface}
|
|
27
|
+
* @memberof BraintreeManagerInterface
|
|
28
|
+
*/
|
|
29
|
+
paymentProviders: PaymentProvidersInterface;
|
|
30
|
+
/**
|
|
31
|
+
* The Braintree Client instance.
|
|
32
|
+
*
|
|
33
|
+
* This gets used to isntantiate clients for all of the payment providers.
|
|
34
|
+
*
|
|
35
|
+
* @type {PromisedSingleton<braintree.Client>}
|
|
36
|
+
* @memberof BraintreeManagerInterface
|
|
37
|
+
*/
|
|
38
|
+
instance: PromisedSingleton<braintree.Client>;
|
|
39
|
+
/**
|
|
40
|
+
* Set the referrer for later submission
|
|
41
|
+
*
|
|
42
|
+
* @param {string} referrer
|
|
43
|
+
* @memberof BraintreeManagerInterface
|
|
44
|
+
*/
|
|
45
|
+
setReferrer(referrer: string): void;
|
|
46
|
+
/**
|
|
47
|
+
* Set the origin for later submission
|
|
48
|
+
*
|
|
49
|
+
* @param {string} origin
|
|
50
|
+
* @memberof BraintreeManagerInterface
|
|
51
|
+
*/
|
|
52
|
+
setOrigin(origin: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Set the logged-in user for later submission
|
|
55
|
+
*
|
|
56
|
+
* @param {string} loggedInUser
|
|
57
|
+
* @memberof BraintreeManagerInterface
|
|
58
|
+
*/
|
|
59
|
+
setLoggedInUser(loggedInUser: string): void;
|
|
60
|
+
/**
|
|
61
|
+
* Perform startup tasts like session resuming
|
|
62
|
+
*
|
|
63
|
+
* @memberof BraintreeManagerInterface
|
|
64
|
+
*/
|
|
65
|
+
startup(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Submit donation to the backend
|
|
68
|
+
*
|
|
69
|
+
* @param {{
|
|
70
|
+
* nonce: string;
|
|
71
|
+
* paymentProvider: PaymentProvider;
|
|
72
|
+
* donationInfo: DonationPaymentInfo;
|
|
73
|
+
* billingInfo: BillingInfo;
|
|
74
|
+
* customerInfo: CustomerInfo;
|
|
75
|
+
* upsellOnetimeTransactionId?: string;
|
|
76
|
+
* customerId?: string;
|
|
77
|
+
* recaptchaToken?: string;
|
|
78
|
+
* bin?: string; // first 6 digits of CC
|
|
79
|
+
* binName?: string; // credit card bank name
|
|
80
|
+
* }} options
|
|
81
|
+
* @returns {Promise<DonationResponse>}
|
|
82
|
+
* @memberof BraintreeManagerInterface
|
|
83
|
+
*/
|
|
84
|
+
submitDonation(options: {
|
|
85
|
+
nonce: string;
|
|
86
|
+
paymentProvider: PaymentProvider;
|
|
87
|
+
donationInfo: DonationPaymentInfo;
|
|
88
|
+
billingInfo: BillingInfo;
|
|
89
|
+
customerInfo: CustomerInfo;
|
|
90
|
+
upsellOnetimeTransactionId?: string;
|
|
91
|
+
customerId?: string;
|
|
92
|
+
recaptchaToken?: string;
|
|
93
|
+
bin?: string;
|
|
94
|
+
binName?: string;
|
|
95
|
+
}): Promise<DonationResponse>;
|
|
96
|
+
/**
|
|
97
|
+
* Submit the upsell donation
|
|
98
|
+
*
|
|
99
|
+
* @param {{
|
|
100
|
+
* oneTimeDonationResponse: SuccessResponse;
|
|
101
|
+
* amount: number;
|
|
102
|
+
* }} options
|
|
103
|
+
* @returns {Promise<DonationResponse>}
|
|
104
|
+
* @memberof BraintreeManagerInterface
|
|
105
|
+
*/
|
|
106
|
+
submitUpsellDonation(options: {
|
|
107
|
+
oneTimeDonationResponse: SuccessResponse;
|
|
108
|
+
amount: number;
|
|
109
|
+
}): Promise<DonationResponse>;
|
|
110
|
+
/**
|
|
111
|
+
* Finish the donation after a successful completion.
|
|
112
|
+
*
|
|
113
|
+
* @param {{
|
|
114
|
+
* successResponse: SuccessResponse;
|
|
115
|
+
* upsellSuccessResponse?: SuccessResponse;
|
|
116
|
+
* }} options
|
|
117
|
+
* @memberof BraintreeManagerInterface
|
|
118
|
+
*/
|
|
119
|
+
donationSuccessful(options: {
|
|
120
|
+
successResponse: SuccessResponse;
|
|
121
|
+
upsellSuccessResponse?: SuccessResponse;
|
|
122
|
+
}): void;
|
|
123
|
+
}
|
|
124
|
+
export interface BraintreeEndpointManagerInterface {
|
|
125
|
+
/**
|
|
126
|
+
* Responsible for submitting a data object to the backend
|
|
127
|
+
* and returning a Promise of the JSON object response.
|
|
128
|
+
*
|
|
129
|
+
* @param {object} data
|
|
130
|
+
* @returns {Promise<object>}
|
|
131
|
+
* @memberof BraintreeEndpointManagerInterface
|
|
132
|
+
*/
|
|
133
|
+
submitData(request: DonationRequest): Promise<DonationResponse>;
|
|
134
|
+
/**
|
|
135
|
+
* Once the user is finished with the donation flow, either after
|
|
136
|
+
* a monthly donation or an upsell, we notify the endpoint manager
|
|
137
|
+
* so it can redirect the user to the thank you page.
|
|
138
|
+
*/
|
|
139
|
+
donationSuccessful(options: {
|
|
140
|
+
successResponse: SuccessResponse;
|
|
141
|
+
upsellSuccessResponse?: SuccessResponse;
|
|
142
|
+
}): void;
|
|
143
|
+
}
|
|
144
|
+
export declare enum HostingEnvironment {
|
|
145
|
+
Development = "dev",
|
|
146
|
+
Production = "prod"
|
|
147
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export var HostingEnvironment;
|
|
2
|
-
(function (HostingEnvironment) {
|
|
3
|
-
HostingEnvironment["Development"] = "dev";
|
|
4
|
-
HostingEnvironment["Production"] = "prod";
|
|
5
|
-
})(HostingEnvironment || (HostingEnvironment = {}));
|
|
1
|
+
export var HostingEnvironment;
|
|
2
|
+
(function (HostingEnvironment) {
|
|
3
|
+
HostingEnvironment["Development"] = "dev";
|
|
4
|
+
HostingEnvironment["Production"] = "prod";
|
|
5
|
+
})(HostingEnvironment || (HostingEnvironment = {}));
|
|
6
6
|
//# sourceMappingURL=braintree-interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"braintree-interfaces.js","sourceRoot":"","sources":["../../../src/braintree-manager/braintree-interfaces.ts"],"names":[],"mappings":"AAwKA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["import {\
|
|
1
|
+
{"version":3,"file":"braintree-interfaces.js","sourceRoot":"","sources":["../../../src/braintree-manager/braintree-interfaces.ts"],"names":[],"mappings":"AAwKA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["import {\n DonationRequest,\n DonationResponse,\n SuccessResponse,\n PaymentProvider,\n DonationPaymentInfo,\n CustomerInfo,\n BillingInfo,\n} from '@internetarchive/donation-form-data-models';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\nimport { Unsubscribe } from 'nanoevents';\nimport { PaymentProvidersInterface } from './payment-providers-interface';\n\nexport interface BraintreeManagerEvents {\n paymentProvidersHostedFieldsRetry: (retryNumber: number) => void;\n paymentProvidersHostedFieldsFailed: (error: unknown) => void;\n}\n\n/**\n * The BraintreeManager is the main entrypoint for much of the common braintree functionality.\n *\n * A single instance of it gets created and passed down through all of the components.\n *\n * @export\n * @interface BraintreeManagerInterface\n */\nexport interface BraintreeManagerInterface {\n on<E extends keyof BraintreeManagerEvents>(\n event: E,\n callback: BraintreeManagerEvents[E],\n ): Unsubscribe;\n\n /**\n * The PaymentProviders class contains the IA-specific handlers for each of the\n * different payment providers.\n *\n * They are generally data-focused, as opposed to UI-focused, but there\n * is some cross-polination between PaymentProviders and FlowHandlers.\n *\n * @type {PaymentProvidersInterface}\n * @memberof BraintreeManagerInterface\n */\n paymentProviders: PaymentProvidersInterface;\n\n /**\n * The Braintree Client instance.\n *\n * This gets used to isntantiate clients for all of the payment providers.\n *\n * @type {PromisedSingleton<braintree.Client>}\n * @memberof BraintreeManagerInterface\n */\n instance: PromisedSingleton<braintree.Client>;\n\n /**\n * Set the referrer for later submission\n *\n * @param {string} referrer\n * @memberof BraintreeManagerInterface\n */\n setReferrer(referrer: string): void;\n\n /**\n * Set the origin for later submission\n *\n * @param {string} origin\n * @memberof BraintreeManagerInterface\n */\n setOrigin(origin: string): void;\n\n /**\n * Set the logged-in user for later submission\n *\n * @param {string} loggedInUser\n * @memberof BraintreeManagerInterface\n */\n setLoggedInUser(loggedInUser: string): void;\n\n /**\n * Perform startup tasts like session resuming\n *\n * @memberof BraintreeManagerInterface\n */\n startup(): void;\n\n /**\n * Submit donation to the backend\n *\n * @param {{\n * nonce: string;\n * paymentProvider: PaymentProvider;\n * donationInfo: DonationPaymentInfo;\n * billingInfo: BillingInfo;\n * customerInfo: CustomerInfo;\n * upsellOnetimeTransactionId?: string;\n * customerId?: string;\n * recaptchaToken?: string;\n * bin?: string; // first 6 digits of CC\n * binName?: string; // credit card bank name\n * }} options\n * @returns {Promise<DonationResponse>}\n * @memberof BraintreeManagerInterface\n */\n submitDonation(options: {\n nonce: string;\n paymentProvider: PaymentProvider;\n donationInfo: DonationPaymentInfo;\n billingInfo: BillingInfo;\n customerInfo: CustomerInfo;\n upsellOnetimeTransactionId?: string;\n customerId?: string;\n recaptchaToken?: string;\n bin?: string; // first 6 digits of CC\n binName?: string; // credit card bank name\n }): Promise<DonationResponse>;\n\n /**\n * Submit the upsell donation\n *\n * @param {{\n * oneTimeDonationResponse: SuccessResponse;\n * amount: number;\n * }} options\n * @returns {Promise<DonationResponse>}\n * @memberof BraintreeManagerInterface\n */\n submitUpsellDonation(options: {\n oneTimeDonationResponse: SuccessResponse;\n amount: number;\n }): Promise<DonationResponse>;\n\n /**\n * Finish the donation after a successful completion.\n *\n * @param {{\n * successResponse: SuccessResponse;\n * upsellSuccessResponse?: SuccessResponse;\n * }} options\n * @memberof BraintreeManagerInterface\n */\n donationSuccessful(options: {\n successResponse: SuccessResponse;\n upsellSuccessResponse?: SuccessResponse;\n }): void;\n}\n\nexport interface BraintreeEndpointManagerInterface {\n /**\n * Responsible for submitting a data object to the backend\n * and returning a Promise of the JSON object response.\n *\n * @param {object} data\n * @returns {Promise<object>}\n * @memberof BraintreeEndpointManagerInterface\n */\n submitData(request: DonationRequest): Promise<DonationResponse>;\n\n /**\n * Once the user is finished with the donation flow, either after\n * a monthly donation or an upsell, we notify the endpoint manager\n * so it can redirect the user to the thank you page.\n */\n donationSuccessful(options: {\n successResponse: SuccessResponse;\n upsellSuccessResponse?: SuccessResponse;\n }): void;\n}\n\nexport enum HostingEnvironment {\n Development = 'dev',\n Production = 'prod',\n}\n"]}
|
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
import { DonationResponse, CustomerInfo, BillingInfo, DonationPaymentInfo, PaymentProvider, SuccessResponse } from '@internetarchive/donation-form-data-models';
|
|
2
|
-
import { PaymentClientsInterface } from './payment-clients';
|
|
3
|
-
import { BraintreeManagerInterface, BraintreeEndpointManagerInterface, HostingEnvironment, BraintreeManagerEvents } from './braintree-interfaces';
|
|
4
|
-
import { HostedFieldConfiguration } from './payment-providers/credit-card/hosted-field-configuration';
|
|
5
|
-
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
6
|
-
import { PaymentProvidersInterface } from './payment-providers-interface';
|
|
7
|
-
import { Unsubscribe } from 'nanoevents';
|
|
8
|
-
/** @inheritdoc */
|
|
9
|
-
export declare class BraintreeManager implements BraintreeManagerInterface {
|
|
10
|
-
private referrer?;
|
|
11
|
-
/**
|
|
12
|
-
* The origin is made up of campaign / ABTest information that the user originated from.
|
|
13
|
-
*
|
|
14
|
-
* The field is a freeform string so it can be anything, but make sure it's something
|
|
15
|
-
* identifiable so it can be queried in CiviCRM.
|
|
16
|
-
*
|
|
17
|
-
* For instance, we use this format for the Donation Banner:
|
|
18
|
-
* - `{Source}-{Test Name}-{Variant Name}`, eg:
|
|
19
|
-
* - `DonateBanner-Campaign Start 2020-IADefault`
|
|
20
|
-
* - `DonateBanner-Mid Campaign-IAThermometer`
|
|
21
|
-
*
|
|
22
|
-
* For additional specificity, you could add additional info, ie.
|
|
23
|
-
* - `DonateBanner-MidJuly2020 Campaign-VariantA-Button1`
|
|
24
|
-
*
|
|
25
|
-
* @private
|
|
26
|
-
* @type {string}
|
|
27
|
-
* @memberof BraintreeManager
|
|
28
|
-
*/
|
|
29
|
-
private origin?;
|
|
30
|
-
private loggedInUser?;
|
|
31
|
-
/**
|
|
32
|
-
* The Device Data token generated by the DataCollector.
|
|
33
|
-
*
|
|
34
|
-
* This gets submitted for several of the payment providers as an anti-fraud mechanism.
|
|
35
|
-
*
|
|
36
|
-
* @private
|
|
37
|
-
* @type {string}
|
|
38
|
-
* @memberof BraintreeManager
|
|
39
|
-
*/
|
|
40
|
-
private deviceData?;
|
|
41
|
-
private emitter;
|
|
42
|
-
on<E extends keyof BraintreeManagerEvents>(event: E, callback: BraintreeManagerEvents[E]): Unsubscribe;
|
|
43
|
-
/** @inheritdoc */
|
|
44
|
-
paymentProviders: PaymentProvidersInterface;
|
|
45
|
-
/** @inheritdoc */
|
|
46
|
-
startup(): Promise<void>;
|
|
47
|
-
/** @inheritdoc */
|
|
48
|
-
instance: PromisedSingleton<import("../@types/braintree-web").Client>;
|
|
49
|
-
/** @inheritdoc */
|
|
50
|
-
submitDonation(options: {
|
|
51
|
-
nonce: string;
|
|
52
|
-
paymentProvider: PaymentProvider;
|
|
53
|
-
donationInfo: DonationPaymentInfo;
|
|
54
|
-
billingInfo: BillingInfo;
|
|
55
|
-
customerInfo: CustomerInfo;
|
|
56
|
-
upsellOnetimeTransactionId?: string;
|
|
57
|
-
customerId?: string;
|
|
58
|
-
recaptchaToken?: string;
|
|
59
|
-
bin?: string;
|
|
60
|
-
binName?: string;
|
|
61
|
-
}): Promise<DonationResponse>;
|
|
62
|
-
/** @inheritdoc */
|
|
63
|
-
submitUpsellDonation(options: {
|
|
64
|
-
oneTimeDonationResponse: SuccessResponse;
|
|
65
|
-
amount: number;
|
|
66
|
-
}): Promise<DonationResponse>;
|
|
67
|
-
/** @inheritdoc */
|
|
68
|
-
donationSuccessful(options: {
|
|
69
|
-
successResponse: SuccessResponse;
|
|
70
|
-
upsellSuccessResponse?: SuccessResponse;
|
|
71
|
-
}): void;
|
|
72
|
-
private deviceDataCollectionStarted;
|
|
73
|
-
/**
|
|
74
|
-
* Collect Braintree device data. This is used to help fraud detection.
|
|
75
|
-
*
|
|
76
|
-
* @private
|
|
77
|
-
* @returns {Promise<void>}
|
|
78
|
-
* @memberof BraintreeManager
|
|
79
|
-
*/
|
|
80
|
-
private collectDeviceData;
|
|
81
|
-
/**
|
|
82
|
-
* Braintree Authorization Token
|
|
83
|
-
*
|
|
84
|
-
* @private
|
|
85
|
-
* @type {string}
|
|
86
|
-
* @memberof BraintreeManager
|
|
87
|
-
*/
|
|
88
|
-
private authorizationToken;
|
|
89
|
-
/**
|
|
90
|
-
* The endpoint manager for network communications
|
|
91
|
-
*
|
|
92
|
-
* @private
|
|
93
|
-
* @type {BraintreeEndpointManagerInterface}
|
|
94
|
-
* @memberof BraintreeManager
|
|
95
|
-
*/
|
|
96
|
-
private endpointManager;
|
|
97
|
-
/**
|
|
98
|
-
* The payment clients container containing the braintree, paypal, and google clients
|
|
99
|
-
*
|
|
100
|
-
* @private
|
|
101
|
-
* @type {PaymentClientsInterface}
|
|
102
|
-
* @memberof BraintreeManager
|
|
103
|
-
*/
|
|
104
|
-
private paymentClients;
|
|
105
|
-
private hostingEnvironment;
|
|
106
|
-
constructor(options: {
|
|
107
|
-
authorizationToken: string;
|
|
108
|
-
paymentClients: PaymentClientsInterface;
|
|
109
|
-
endpointManager: BraintreeEndpointManagerInterface;
|
|
110
|
-
hostedFieldConfig: HostedFieldConfiguration;
|
|
111
|
-
hostingEnvironment: HostingEnvironment;
|
|
112
|
-
venmoProfileId?: string;
|
|
113
|
-
googlePayMerchantId?: string;
|
|
114
|
-
referrer?: string;
|
|
115
|
-
loggedInUser?: string;
|
|
116
|
-
origin?: string;
|
|
117
|
-
});
|
|
118
|
-
/** @inheritdoc */
|
|
119
|
-
setReferrer(referrer: string): void;
|
|
120
|
-
/** @inheritdoc */
|
|
121
|
-
setLoggedInUser(loggedInUser: string): void;
|
|
122
|
-
/** @inheritdoc */
|
|
123
|
-
setOrigin(origin: string): void;
|
|
124
|
-
}
|
|
1
|
+
import { DonationResponse, CustomerInfo, BillingInfo, DonationPaymentInfo, PaymentProvider, SuccessResponse } from '@internetarchive/donation-form-data-models';
|
|
2
|
+
import { PaymentClientsInterface } from './payment-clients';
|
|
3
|
+
import { BraintreeManagerInterface, BraintreeEndpointManagerInterface, HostingEnvironment, BraintreeManagerEvents } from './braintree-interfaces';
|
|
4
|
+
import { HostedFieldConfiguration } from './payment-providers/credit-card/hosted-field-configuration';
|
|
5
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
6
|
+
import { PaymentProvidersInterface } from './payment-providers-interface';
|
|
7
|
+
import { Unsubscribe } from 'nanoevents';
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
export declare class BraintreeManager implements BraintreeManagerInterface {
|
|
10
|
+
private referrer?;
|
|
11
|
+
/**
|
|
12
|
+
* The origin is made up of campaign / ABTest information that the user originated from.
|
|
13
|
+
*
|
|
14
|
+
* The field is a freeform string so it can be anything, but make sure it's something
|
|
15
|
+
* identifiable so it can be queried in CiviCRM.
|
|
16
|
+
*
|
|
17
|
+
* For instance, we use this format for the Donation Banner:
|
|
18
|
+
* - `{Source}-{Test Name}-{Variant Name}`, eg:
|
|
19
|
+
* - `DonateBanner-Campaign Start 2020-IADefault`
|
|
20
|
+
* - `DonateBanner-Mid Campaign-IAThermometer`
|
|
21
|
+
*
|
|
22
|
+
* For additional specificity, you could add additional info, ie.
|
|
23
|
+
* - `DonateBanner-MidJuly2020 Campaign-VariantA-Button1`
|
|
24
|
+
*
|
|
25
|
+
* @private
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof BraintreeManager
|
|
28
|
+
*/
|
|
29
|
+
private origin?;
|
|
30
|
+
private loggedInUser?;
|
|
31
|
+
/**
|
|
32
|
+
* The Device Data token generated by the DataCollector.
|
|
33
|
+
*
|
|
34
|
+
* This gets submitted for several of the payment providers as an anti-fraud mechanism.
|
|
35
|
+
*
|
|
36
|
+
* @private
|
|
37
|
+
* @type {string}
|
|
38
|
+
* @memberof BraintreeManager
|
|
39
|
+
*/
|
|
40
|
+
private deviceData?;
|
|
41
|
+
private emitter;
|
|
42
|
+
on<E extends keyof BraintreeManagerEvents>(event: E, callback: BraintreeManagerEvents[E]): Unsubscribe;
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
paymentProviders: PaymentProvidersInterface;
|
|
45
|
+
/** @inheritdoc */
|
|
46
|
+
startup(): Promise<void>;
|
|
47
|
+
/** @inheritdoc */
|
|
48
|
+
instance: PromisedSingleton<import("../@types/braintree-web").Client>;
|
|
49
|
+
/** @inheritdoc */
|
|
50
|
+
submitDonation(options: {
|
|
51
|
+
nonce: string;
|
|
52
|
+
paymentProvider: PaymentProvider;
|
|
53
|
+
donationInfo: DonationPaymentInfo;
|
|
54
|
+
billingInfo: BillingInfo;
|
|
55
|
+
customerInfo: CustomerInfo;
|
|
56
|
+
upsellOnetimeTransactionId?: string;
|
|
57
|
+
customerId?: string;
|
|
58
|
+
recaptchaToken?: string;
|
|
59
|
+
bin?: string;
|
|
60
|
+
binName?: string;
|
|
61
|
+
}): Promise<DonationResponse>;
|
|
62
|
+
/** @inheritdoc */
|
|
63
|
+
submitUpsellDonation(options: {
|
|
64
|
+
oneTimeDonationResponse: SuccessResponse;
|
|
65
|
+
amount: number;
|
|
66
|
+
}): Promise<DonationResponse>;
|
|
67
|
+
/** @inheritdoc */
|
|
68
|
+
donationSuccessful(options: {
|
|
69
|
+
successResponse: SuccessResponse;
|
|
70
|
+
upsellSuccessResponse?: SuccessResponse;
|
|
71
|
+
}): void;
|
|
72
|
+
private deviceDataCollectionStarted;
|
|
73
|
+
/**
|
|
74
|
+
* Collect Braintree device data. This is used to help fraud detection.
|
|
75
|
+
*
|
|
76
|
+
* @private
|
|
77
|
+
* @returns {Promise<void>}
|
|
78
|
+
* @memberof BraintreeManager
|
|
79
|
+
*/
|
|
80
|
+
private collectDeviceData;
|
|
81
|
+
/**
|
|
82
|
+
* Braintree Authorization Token
|
|
83
|
+
*
|
|
84
|
+
* @private
|
|
85
|
+
* @type {string}
|
|
86
|
+
* @memberof BraintreeManager
|
|
87
|
+
*/
|
|
88
|
+
private authorizationToken;
|
|
89
|
+
/**
|
|
90
|
+
* The endpoint manager for network communications
|
|
91
|
+
*
|
|
92
|
+
* @private
|
|
93
|
+
* @type {BraintreeEndpointManagerInterface}
|
|
94
|
+
* @memberof BraintreeManager
|
|
95
|
+
*/
|
|
96
|
+
private endpointManager;
|
|
97
|
+
/**
|
|
98
|
+
* The payment clients container containing the braintree, paypal, and google clients
|
|
99
|
+
*
|
|
100
|
+
* @private
|
|
101
|
+
* @type {PaymentClientsInterface}
|
|
102
|
+
* @memberof BraintreeManager
|
|
103
|
+
*/
|
|
104
|
+
private paymentClients;
|
|
105
|
+
private hostingEnvironment;
|
|
106
|
+
constructor(options: {
|
|
107
|
+
authorizationToken: string;
|
|
108
|
+
paymentClients: PaymentClientsInterface;
|
|
109
|
+
endpointManager: BraintreeEndpointManagerInterface;
|
|
110
|
+
hostedFieldConfig: HostedFieldConfiguration;
|
|
111
|
+
hostingEnvironment: HostingEnvironment;
|
|
112
|
+
venmoProfileId?: string;
|
|
113
|
+
googlePayMerchantId?: string;
|
|
114
|
+
referrer?: string;
|
|
115
|
+
loggedInUser?: string;
|
|
116
|
+
origin?: string;
|
|
117
|
+
});
|
|
118
|
+
/** @inheritdoc */
|
|
119
|
+
setReferrer(referrer: string): void;
|
|
120
|
+
/** @inheritdoc */
|
|
121
|
+
setLoggedInUser(loggedInUser: string): void;
|
|
122
|
+
/** @inheritdoc */
|
|
123
|
+
setOrigin(origin: string): void;
|
|
124
|
+
}
|