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: adds CardNumber element and getTokenById and createSession services #7

Merged
merged 17 commits into from
Jul 25, 2023

Conversation

brigonzalez
Copy link
Contributor

@brigonzalez brigonzalez commented Jul 21, 2023

Description

Testing required outside of automated testing?

  • Not Applicable

Screenshots (if appropriate):

  • Not Applicable

Rollback / Rollforward Procedure

  • Roll Forward
  • Roll Back

Reviewer Checklist

  • Description of Change
  • Description of outside testing if applicable.
  • Description of Roll Forward / Backward Procedure
  • Documentation updated for Change

@linear
Copy link

linear bot commented Jul 21, 2023

ENG-5042 [React Native] Reveal a credit card number from a token

Why is this needed?

We've had multiple customers ask about being able to use React Native for both collecting and issuing use-cases. This first ticket is to build out our initial implementation of React Native for an issuing use-case to be able to display the credit cards that have been issued and tokenized.

What to build?

Build out the ability to pull in and display a tokenized credit card number in a field that is unable to have the credit card data leak into our customer's code base. This should allow customer todo just the barebones to enable this and have it look like our customers application.

Assumptions:

  • We get quite a bit of re-use from our existing elements
  • It isn't hard to do the styling in RN
  • It is straight forward to restrict access to the responses we get from our API
  • It is straight forward to restrict access to the values in a text field

Security considerations:

How to build:

  • Setup CI/CD workflows
    • Publish package to NPM
    • Must have an approval step as this is considered PCI scope
  • Create <CardNumber />
    • Have the text masked as a card number just like Web Elements (AMEX, 19 digit cards, and 16 digit cards)
    • Do not allow access to the data in the Element (e.g. .value)
    • Allow styling to be applied to the Element
    • Allow the element to be set as ReadOnly
  • Ability to set a value from our API into the CardNumberElement
  • Ability to get token data to be set into the Element
    • Allow /sessions to be created
      • allow public key to be passed in
    • Ability to get data with /tokens with a sessions
      • allow public key to be passed in
  • Document the new SDK in our documentation
    • Document the <CardNumberElement />
    • Document the services we provided
      • Sessions
      • Tokens
    • Need to update the GithubCard on sdks/mobile/react-native/index.mdx and sdks/index.mdx once the repo is public, i fails if we point to the react native github repo and it is private

lcschy
lcschy previously approved these changes Jul 24, 2023
@brigonzalez brigonzalez marked this pull request as ready for review July 24, 2023 14:14
@brigonzalez brigonzalez changed the title chore: adds pipeline for deployment chore: adds CardNumber element and getTokenById and createSession services Jul 24, 2023
lcschy
lcschy previously approved these changes Jul 24, 2023
@brigonzalez brigonzalez marked this pull request as draft July 25, 2023 17:14
@brigonzalez brigonzalez marked this pull request as ready for review July 25, 2023 17:47
lcschy
lcschy previously approved these changes Jul 25, 2023
@brigonzalez brigonzalez changed the title chore: adds CardNumber element and getTokenById and createSession services feat: adds CardNumber element and getTokenById and createSession services Jul 25, 2023
@brigonzalez brigonzalez merged commit 7581f48 into master Jul 25, 2023
@brigonzalez brigonzalez deleted the eng-5042-cicd branch July 25, 2023 19:11
bt-platform-eng pushed a commit that referenced this pull request Jul 27, 2023
# 1.0.0-beta.1 (2023-07-27)

### Bug Fixes

* adds back release branch and adds release branch to repo ([#11](#11)) ([05f3165](05f3165))
* adds missing semantic-release dependency ([#9](#9)) ([90a486c](90a486c))
* fixes .releaserc.json branches ([#10](#10)) ([38b30f5](38b30f5))
* release ([#14](#14)) ([f23fbf9](f23fbf9))

### Features

* adds CardNumber element and getTokenById and createSession services ([#7](#7)) ([7581f48](7581f48))
* adds CardVerificationCodeElement, CardExpirationDateElement, and proxy service methods ([#13](#13)) ([5abb71a](5abb71a))
@bt-platform-eng
Copy link

🎉 This PR is included in version 1.0.0-beta.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

bt-platform-eng pushed a commit that referenced this pull request Feb 13, 2024
# 1.0.0 (2024-02-13)

### Bug Fixes

* adds back release branch and adds release branch to repo ([#11](#11)) ([05f3165](05f3165))
* adds missing semantic-release dependency ([#9](#9)) ([90a486c](90a486c))
* fixes .releaserc.json branches ([#10](#10)) ([38b30f5](38b30f5))
* fixes NPM package access ([#17](#17)) ([be0fea5](be0fea5))
* fixes publish to NPM ([#16](#16)) ([60264e7](60264e7))
* publishes to NPM ([#15](#15)) ([b55e669](b55e669))
* ramda types ([#27](#27)) ([8489375](8489375))
* rebuild lockfile and install semver as devDependency ([#39](#39)) ([1a16fc6](1a16fc6))
* release ([#14](#14)) ([f23fbf9](f23fbf9))
* remove extends from tsconfig ([#38](#38)) ([469a4be](469a4be))
* removes includeResponseHeaders from proxy service ([#20](#20)) ([f43fdcc](f43fdcc))
* removes react-native prop from package.json ([#18](#18)) ([b2389c3](b2389c3))

### Features

* add 'latest' tag to release ([#34](#34)) ([fe37463](fe37463))
* add missing dep ([#40](#40)) ([ce61d21](ce61d21))
* adds CardNumber element and getTokenById and createSession services ([#7](#7)) ([7581f48](7581f48))
* adds CardVerificationCodeElement, CardExpirationDateElement, and proxy service methods ([#13](#13)) ([5abb71a](5abb71a))
* adds custom bin validation ([#36](#36)) ([5e2b202](5e2b202))
* adds datadog logging ([#29](#29)) ([4239bc3](4239bc3))
* adds dynamic mask to cvc element ([#25](#25)) ([3e4271e](3e4271e))
* adds field validation and onChange events ([#26](#26)) ([a916f05](a916f05))
* adds TextElement ([#24](#24)) ([4acba48](4acba48))
* adds transform ([#30](#30)) ([7038938](7038938))
* allow to set expiration date from Card token ([#23](#23)) ([52db679](52db679))
* bump ramda types ([#33](#33)) ([9df3dd8](9df3dd8))
* collect cards ([#28](#28)) ([d48ea4a](d48ea4a))
* remove device info from logging ([#35](#35)) ([e7887a2](e7887a2))
* run validation before tokenization ([#31](#31)) ([4dc3d1c](4dc3d1c))
* upgrade deps ([#37](#37)) ([5c8557e](5c8557e))
@bt-platform-eng
Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants