-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(Apple Pay): allow for customization of event updates #808
Conversation
Another option is to allow the client to pass in the various handlers on initialize and they call the const applePay = recurly.ApplePay({
callbacks: {
onPaymentMethodSelected: (event: ApplePayPaymentMethodEvent,
complete: (update: ApplePayPaymentMethodUpdate) => void) => void;
},
}); We would still support the emitters as well, but this would be the primary way of defining the explicit apple callbacks. The |
588864a
to
d90a163
Compare
Adds the `options.callbacks` option which supports the following callbacks: - `onPaymentMethodSelected` - `onShippingContactSelected` - `onShippingMethodSelected` - `onPaymentAuthorized` to correspond with the `ApplePaySession` events. A callback must return either the Apple Pay update object or a Promise that resolves with that object. That update object will be used to complete the `ApplePaySession` event to open up the ability to fetch custom taxes on payment method selection, update shipping costs on shipping contact/method selection and validate email/phone addresses on authorization. This does not remove the existing events being emitted but the workflow should be updated to prefer using `onPaymentAuthorized` to complete the purchase instead of async on the `token` event. The event that is sent to that callback includes the `payment.recurlyToken` for use. This also enhances the `token` event to include the raw payment event as the second argument.
d90a163
to
466aaf1
Compare
[Full Changelog](v4.22.9...v4.23.0) **Merged Pull Requests** - chore(paypal): add types for display options [#812](#812) ([cbarton](https://github.com/cbarton)) - fix(apple pay): Do not teardown Braintree on cancel [#811](#811) ([cbarton](https://github.com/cbarton)) - fix(types): add type definition for Recurly#ready [#810](#810) ([cbarton](https://github.com/cbarton)) - feat(google pay): add support for the paymentDataRequest [#809](#809) ([cbarton](https://github.com/cbarton)) - feat(Apple Pay): allow for customization of event updates [#808](#808) ([cbarton](https://github.com/cbarton)) - Update config type with requiredShippingContactFields [#806](#806) ([BARK-RMILLER](https://github.com/BARK-RMILLER)) - feat(apple pay): add support for `recurringPaymentRequest`, move to `options.paymentRequest` [#804](#804) ([cbarton](https://github.com/cbarton)) - fix(apple pay): emit events when restore pricing addresses [#803](#803) ([cbarton](https://github.com/cbarton)) - chore(apple pay): capture async test errors to fail faster [#802](#802) ([cbarton](https://github.com/cbarton)) - feat(apple pay): populate contacts with pricing addresses [#801](#801) ([cbarton](https://github.com/cbarton)) - feat(apple pay): allow for supportedNetworks selection [#800](#800) ([cbarton](https://github.com/cbarton)) - feat(apple pay): update tax when billing/shipping contact changes [#798](#798) ([cbarton](https://github.com/cbarton)) - feat(apple pay): populate billingContact with form address fields [#797](#797) ([cbarton](https://github.com/cbarton)) - feat(Apple Pay): validate and support more ApplePayPaymentRequest features [#794](#794) ([cbarton](https://github.com/cbarton)) - [feat][google-pay] send raw payment data to server [#789](#789) ([cbarton](https://github.com/cbarton)) **Closed Issues** - property 'ready' does not exist on type 'Recurly'.ts [#795](#795) - Missing types definitions for `coupon` method [#698](#698) - If formRef unmounts during call, recurly.token fails silently. [#697](#697) - The user can enter 4 digits as the month value in the expiration date field. [#678](#678) ##### Minified MD5 Checksum ``` 75584733b78f6ca6c6a65267b07fb9ad ./build/recurly.min.js ``` ##### [SRI Hash](https://www.srihash.org/) ``` pX41INy9qepZfHHYL13noWEbReg+bDOqU2jzjgkC3kkDh36KlPFeiJBxUgca8DtP ```
Adds the
options.callbacks
option which supports the followingcallbacks:
onPaymentMethodSelected
onShippingContactSelected
onShippingMethodSelected
onPaymentAuthorized
to correspond with the
ApplePaySession
events.A callback must return either the Apple Pay update object or a Promise
that resolves with that object.
That update object will be used to complete the
ApplePaySession
eventto open up the ability to fetch custom taxes on payment method selection,
update shipping costs on shipping contact/method selection and validate
email/phone addresses on authorization.
This does not remove the existing events being emitted but the workflow
should be updated to prefer using
onPaymentAuthorized
to complete thepurchase instead of async on the
token
event. The event that is sentto that callback includes the
payment.recurlyToken
for use.This also enhances the
token
event to include the raw payment event asthe second argument.
This also enhances the
token
event to include the raw payment event as the second argument.