Skip to content

Commit

Permalink
Release 2.2.0 (#154)
Browse files Browse the repository at this point in the history
  • Loading branch information
dhenry-stripe authored Aug 24, 2021
1 parent 69af2ee commit 960318d
Show file tree
Hide file tree
Showing 294 changed files with 5,994 additions and 962 deletions.
55 changes: 55 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,60 @@
# CHANGELOG

## 2.2.0 - 2021-08-23

- Fix: Resolved intermittent unexpected token invalidation errors when using simlated
readers, and when a connected reader is left idle for a long period of time prior to completing a transaction.

- Fix: Duplicate class conflict with Firebase and other libraries that use `protobuf-javalite` resolved.
See [issue 135](https://github.com/stripe/stripe-terminal-android/issues/135) for details.

- New: [Setup Future Usage](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage)
field added to `PaymentIntentParameters`.

- Fix: When using a simulated BBPOS reader, starting, cancelling, and restarting an update now works as expected.

- Update: Location updates are now only requested when the application consuming the SDK is foregrounded.

- Fix: throw `TerminalException` if `processPayment` gets a success HTTP request (code=200) but with
`lastPaymentError` being non-null, since it's also a form of decline.

- Update: we will use more precise and consistent `TerminalErrorCode` and error messages for failures of all confirmation operations,
including processRefund, processPayment, confirmSetupIntent. Specifically,
For `TerminalErrorCode`:
- Use `UNSUPPORTED_SDK` if stripe server declined with `terminal_unsupported_sdk_version`.
- Use `UNSUPPORTED_READER_VERSION` if stripe server declined with `terminal_unsupported_reader_version`.
- Use `API_SESSION_EXPIRED` if stripe server declined with `api_key_expired`.
- Use new enum code `STRIPE_API_CONNECTION_ERROR` for general internet connection failures or timeouts.
- Use `DECLINED_BY_STRIPE_API` for other failures with decode-able responses.
Comparing to in the past we:
- Used `STRIPE_API_ERROR` for internet connection failures and all failures with decode-able responses for processRefund.
- Used `DECLINED_BY_STRIPE_API` for internet connection failures and all failures with decode-able responses for processPayment.
- Used `DECLINED_BY_STRIPE_API` for internet connection failures and all failures with decode-able responses for confirmSetupIntent.
What's unchanged:
- Use `STRIPE_API_RESPONSE_DECODING_ERROR` if SDK fails to decode response from Stripe service.
For error messages:
- Use "Could not connect to Stripe. Please retry." for general connection errors, timeouts.
- Use the message sent from server.
Comparing to in the past we:
- Always used "Stripe API error".

- Update: When discovering readers in our handoff integration mode, `discoverReaders` will only return a
reader if it has been registered. If the current reader has not been registered, `discoverReaders`
will return an empty list of readers.

- Fix: Each of the Terminal SDK AARs now contain keep rules. This allows you to enable Proguard/R8
minification without configuring your own keep rules. See [issue 142](https://github.com/stripe/stripe-terminal-android/issues/142) for details.

- New: Added `generateRegistrationCode` for generating a smart reader registration code without human
intervention. Note that this functionality is only available when the SDK is running directly on a
smart reader device.

- New: Support displaying transaction information on-screen for internet readers using
`Terminal.setReaderDisplay` and `Terminal.clearReaderDisplay`.

- New: `Cart` and `CartLineItem` classes have been added to hold transaction
information used for setting the reader display

## 2.1.0 - 2021-08-02

- New: Added `STRIPE_M2` to `DeviceType`. This reader is in beta testing and
Expand Down
2 changes: 1 addition & 1 deletion Example/javaapp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ext {
maxSdkVersion = 30

androidx_lifecycle_version = "2.3.1"
stripeTerminalVersion = '2.1.0'
stripeTerminalVersion = "2.2.0"
}

dependencies {
Expand Down
2 changes: 1 addition & 1 deletion Example/kotlinapp/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ext {
maxSdkVersion = 30

androidx_lifecycle_version = "2.3.1"
stripeTerminalVersion = '2.1.0'
stripeTerminalVersion = "2.2.0"
}

dependencies {
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To use the Android SDK, add the SDK to the `dependencies` block of your `build.g


dependencies {
implementation "com.stripe:stripeterminal:2.1.0"
implementation "com.stripe:stripeterminal:2.2.0"
}

Next, since the SDK relies on Java 8, you’ll need to specify that as your target Java version (also in `build.gradle`):
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>className</title>
</head><body><link href="../../../../../../../images/logo-icon.svg" rel="icon" type="image/svg"><script>var pathToRoot = "../../../../";</script><script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script><link href="../../../../styles/style.css" rel="Stylesheet"><link href="../../../../styles/logo-styles.css" rel="Stylesheet"><link href="../../../../styles/jetbrains-mono.css" rel="Stylesheet"><link href="../../../../styles/main.css" rel="Stylesheet"><script type="text/javascript" src="../../../../scripts/clipboard.js" async></script><script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script><script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script><script type="text/javascript" src="../../../../scripts/main.js" async></script>

<div id="container">
<div id="leftColumn"><a href="../../../../index.html">
<div id="logo"></div>
</a>
<div id="paneSearch"></div>
<div id="sideMenu"></div>
</div>
<div id="main">
<script type="text/javascript" src="../../../../scripts/main.js"></script><div id="leftToggler"><span class="icon-toggler"></span></div>

<div class="main-content" id="content" pageids="core::com.stripe.stripeterminal.adapter/ContactlessOutcomeMap/className/#/PointingToDeclaration//-1814817128">
<div class="navigation-wrapper" id="navigation-wrapper">
<div class="breadcrumbs"><a href="../../../index.html">core</a>/<a href="../index.html">com.stripe.stripeterminal.adapter</a>/<a href="index.html">ContactlessOutcomeMap</a>/<a href="class-name.html">className</a></div>
<div class="pull-right d-flex">
<div id="searchBar"></div>
</div>
</div>
<div class="cover ">
<h1 class="cover"><span>class</span><wbr><span>Name</span></h1>
</div>
<div class="divergent-group" data-filterable-current=":terminalsdk:core:dokkaHtmlPartial/release" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release"><div class="with-platform-tags"><span class="pull-right"></span></div>

<div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-depenent-content" data-active="" data-togglable=":terminalsdk:core:dokkaHtmlPartial/release"><div class="symbol monospace">const val <a href="class-name.html">className</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
</div>
</div>
<div class="footer"><span class="go-to-top-icon"><a href="#content"></a></span><span>© 2021 Copyright</span><span class="pull-right"><span>Generated by </span><a href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span></div>
</div>
</div>

</body></html>


Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>ContactlessOutcomeMap</title>
</head><body><link href="../../../../../../../images/logo-icon.svg" rel="icon" type="image/svg"><script>var pathToRoot = "../../../../";</script><script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script><link href="../../../../styles/style.css" rel="Stylesheet"><link href="../../../../styles/logo-styles.css" rel="Stylesheet"><link href="../../../../styles/jetbrains-mono.css" rel="Stylesheet"><link href="../../../../styles/main.css" rel="Stylesheet"><script type="text/javascript" src="../../../../scripts/clipboard.js" async></script><script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script><script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script><script type="text/javascript" src="../../../../scripts/main.js" async></script>

<div id="container">
<div id="leftColumn"><a href="../../../../index.html">
<div id="logo"></div>
</a>
<div id="paneSearch"></div>
<div id="sideMenu"></div>
</div>
<div id="main">
<script type="text/javascript" src="../../../../scripts/main.js"></script><div id="leftToggler"><span class="icon-toggler"></span></div>

<div class="main-content" id="content" pageids="core::com.stripe.stripeterminal.adapter/ContactlessOutcomeMap///PointingToDeclaration//-1814817128">
<div class="navigation-wrapper" id="navigation-wrapper">
<div class="breadcrumbs"><a href="../../../index.html">core</a>/<a href="../index.html">com.stripe.stripeterminal.adapter</a>/<a href="index.html">ContactlessOutcomeMap</a></div>
<div class="pull-right d-flex">
<div id="searchBar"></div>
</div>
</div>
<div class="cover ">
<h1 class="cover"><span>Contactless</span><wbr><span>Outcome</span><wbr><span>Map</span></h1>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-depenent-content" data-active="" data-togglable=":terminalsdk:core:dokkaHtmlPartial/release"><div class="symbol monospace">object <a href="index.html">ContactlessOutcomeMap</a><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
<div class="tabbedcontent">
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="Properties">Properties</button></div>
<div class="tabs-section-body">
<h2 class="">Properties</h2>
<div class="table" data-togglable="Properties"><a data-name="-1906810601%2FProperties%2F-1814817128" anchor-label="className" id="-1906810601%2FProperties%2F-1814817128" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release"></a>
<div class="table-row" data-filterable-current=":terminalsdk:core:dokkaHtmlPartial/release" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release">
<div class="main-subrow keyValue ">
<div class=""><span class="inline-flex"><a href="class-name.html">className</a><span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1906810601%2FProperties%2F-1814817128"></span>
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
</span></span></div>
<div>
<div class="title">
<div class="platform-hinted " data-platform-hinted="data-platform-hinted" data-togglable="Properties"><div class="content sourceset-depenent-content" data-active="" data-togglable=":terminalsdk:core:dokkaHtmlPartial/release"><a data-name="-1906810601%2FProperties%2F-1814817128" anchor-label="className" id="-1906810601%2FProperties%2F-1814817128" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release"></a><div class="symbol monospace">const val <a href="class-name.html">className</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="footer"><span class="go-to-top-icon"><a href="#content"></a></span><span>© 2021 Copyright</span><span class="pull-right"><span>Generated by </span><a href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span></div>
</div>
</div>

</body></html>


Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>className</title>
</head><body><link href="../../../../../../../images/logo-icon.svg" rel="icon" type="image/svg"><script>var pathToRoot = "../../../../";</script><script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script><link href="../../../../styles/style.css" rel="Stylesheet"><link href="../../../../styles/logo-styles.css" rel="Stylesheet"><link href="../../../../styles/jetbrains-mono.css" rel="Stylesheet"><link href="../../../../styles/main.css" rel="Stylesheet"><script type="text/javascript" src="../../../../scripts/clipboard.js" async></script><script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script><script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script><script type="text/javascript" src="../../../../scripts/main.js" async></script>

<div id="container">
<div id="leftColumn"><a href="../../../../index.html">
<div id="logo"></div>
</a>
<div id="paneSearch"></div>
<div id="sideMenu"></div>
</div>
<div id="main">
<script type="text/javascript" src="../../../../scripts/main.js"></script><div id="leftToggler"><span class="icon-toggler"></span></div>

<div class="main-content" id="content" pageids="core::com.stripe.stripeterminal.adapter/ContactlessResultMap/className/#/PointingToDeclaration//-1814817128">
<div class="navigation-wrapper" id="navigation-wrapper">
<div class="breadcrumbs"><a href="../../../index.html">core</a>/<a href="../index.html">com.stripe.stripeterminal.adapter</a>/<a href="index.html">ContactlessResultMap</a>/<a href="class-name.html">className</a></div>
<div class="pull-right d-flex">
<div id="searchBar"></div>
</div>
</div>
<div class="cover ">
<h1 class="cover"><span>class</span><wbr><span>Name</span></h1>
</div>
<div class="divergent-group" data-filterable-current=":terminalsdk:core:dokkaHtmlPartial/release" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release"><div class="with-platform-tags"><span class="pull-right"></span></div>

<div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-depenent-content" data-active="" data-togglable=":terminalsdk:core:dokkaHtmlPartial/release"><div class="symbol monospace">const val <a href="class-name.html">className</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
</div>
</div>
<div class="footer"><span class="go-to-top-icon"><a href="#content"></a></span><span>© 2021 Copyright</span><span class="pull-right"><span>Generated by </span><a href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span></div>
</div>
</div>

</body></html>


Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" charset="UTF-8">
<title>getCryptogram</title>
</head><body><link href="../../../../../../../images/logo-icon.svg" rel="icon" type="image/svg"><script>var pathToRoot = "../../../../";</script><script type="text/javascript" src="../../../../scripts/sourceset_dependencies.js" async></script><link href="../../../../styles/style.css" rel="Stylesheet"><link href="../../../../styles/logo-styles.css" rel="Stylesheet"><link href="../../../../styles/jetbrains-mono.css" rel="Stylesheet"><link href="../../../../styles/main.css" rel="Stylesheet"><script type="text/javascript" src="../../../../scripts/clipboard.js" async></script><script type="text/javascript" src="../../../../scripts/navigation-loader.js" async></script><script type="text/javascript" src="../../../../scripts/platform-content-handler.js" async></script><script type="text/javascript" src="../../../../scripts/main.js" async></script>

<div id="container">
<div id="leftColumn"><a href="../../../../index.html">
<div id="logo"></div>
</a>
<div id="paneSearch"></div>
<div id="sideMenu"></div>
</div>
<div id="main">
<script type="text/javascript" src="../../../../scripts/main.js"></script><div id="leftToggler"><span class="icon-toggler"></span></div>

<div class="main-content" id="content" pageids="core::com.stripe.stripeterminal.adapter/ContactlessResultMap/getCryptogram/#/PointingToDeclaration//-1814817128">
<div class="navigation-wrapper" id="navigation-wrapper">
<div class="breadcrumbs"><a href="../../../index.html">core</a>/<a href="../index.html">com.stripe.stripeterminal.adapter</a>/<a href="index.html">ContactlessResultMap</a>/<a href="get-cryptogram.html">getCryptogram</a></div>
<div class="pull-right d-flex">
<div id="searchBar"></div>
</div>
</div>
<div class="cover ">
<h1 class="cover"><span>get</span><wbr><span>Cryptogram</span></h1>
</div>
<div class="divergent-group" data-filterable-current=":terminalsdk:core:dokkaHtmlPartial/release" data-filterable-set=":terminalsdk:core:dokkaHtmlPartial/release"><div class="with-platform-tags"><span class="pull-right"></span></div>

<div>
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-depenent-content" data-active="" data-togglable=":terminalsdk:core:dokkaHtmlPartial/release"><div class="symbol monospace">const val <a href="get-cryptogram.html">getCryptogram</a>: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clipboard</span></div></span></div></div></div>
</div>
</div>
</div>
<div class="footer"><span class="go-to-top-icon"><a href="#content"></a></span><span>© 2021 Copyright</span><span class="pull-right"><span>Generated by </span><a href="https://github.com/Kotlin/dokka"><span>dokka</span><span class="padded-icon"></span></a></span></div>
</div>
</div>

</body></html>


Loading

0 comments on commit 960318d

Please sign in to comment.