Skip to content
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): validate and support more ApplePayPaymentRequest features #794

Merged
merged 3 commits into from
Mar 29, 2023

Conversation

cbarton
Copy link
Member

@cbarton cbarton commented Mar 24, 2023

When Recurly supports more of the supported networks, ensure that the client will only query those that are supported by their browser to avoid any potential errors.

This also adds support to pass in an ApplePayLineItem into the options.total since the current options limit just the properties of the total line item to just the label and total. Note that using this interface will ignore options.label.

options.label is deprecated and optional in favor of the above. If not supplied with a dollar amount in options.total, the new options.i18n.totalLineItemLabel will be used, which is defaulted to "Total".

Added support for passing in an array of ApplePayLineItem's via option.lineItems. This and the total are still overridden by the presence options.pricing.

Removes the payment request properties from the ApplePay#config property in favor of storing the full request in the psuedo-private _applePayPaymentRequest property.

Adds the boolean option enforceVersion, which will raise an apple-pay-not-supported error if the client does not support the minimum version for certain features, like requiredShippingContactFields.

Adds the ability to pass through all ApplePayPaymentRequest parameters to the session.

@coveralls
Copy link

coveralls commented Mar 24, 2023

Coverage Status

Coverage: 92.73% (+0.04%) from 92.691% when pulling 40c06c0 on apple-pay-passthrough into 939693d on master.

…tures

When Recurly supports more of the supported networks, ensure that the
client will only query those that are supported by their browser to
avoid any potential errors.

This also adds support to pass in an `ApplePayLineItem` into the
`options.total` since the current options limit just the properties of
the total line item to just the `label` and `total`. Note that using
this interface will ignore `options.label`.

`options.label` is deprecated and optional in favor of the above. If not
supplied with a dollar amount in `options.total`, the new
`options.i18n.totalLineItemLabel` will be used, which is defaulted to "Total".

Added support for passing in an array of `ApplePayLineItem`'s via
`option.lineItems`. This and the `total` are still overridden by
the presence `options.pricing`.

Removes the payment request properties from the `ApplePay#config` property
in favor of storing the full request in the psuedo-private `_applePayPaymentRequest`
property.

Adds the boolean option `enforceVersion`, which will raise an
`apple-pay-not-supported` error if the client does not support the
minimum version for certain features, like `requiredShippingContactFields`.
@chrissrogers
Copy link
Member

PR build shows as canceled, but all jobs therein passed

@chrissrogers chrissrogers merged commit dd36259 into master Mar 29, 2023
@chrissrogers chrissrogers deleted the apple-pay-passthrough branch March 29, 2023 18:19
recurly-integrations pushed a commit that referenced this pull request Apr 19, 2023
[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
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants