Releases: cashapp/cash-app-pay-android-sdk
v2.6.0
v2.5.0
- Fix correct usage of
account_reference_id
inOnFileAction
- Add
reference_id
as a parameter of creating a customer request. This is to bring the Android SDK to parity with iOS and Web.
v2.4.0
- Fix:
OnFileAction
paramaccountReferenceId
is now properly being sent over the network - Update Android target SDK version to API 33
- Update internal dependencies to recent versions, ensuring strong backward compatibility support
v2.3.0
Updates / Fixes
- The class
CashAppPayInitializer
was made open, so thatandroidx.startup
can be manually overridden. - This version bundles fixes for minify enabled builds.
- Updated internal dependency on
OkHttp
to version4.11.0
.
Breaking Changes
- Renamed class
CashAppCashAppPayApiNetworkException
toCashAppPayApiNetworkException
- Renamed class
CashAppCashAppPayApiNetworkException
toCashAppPayApiNetworkException
- This version contains a change to the bundled Cash App Pay button.
Previously,light
anddark
variants of the button were made possible by using 2 different
views, respectivelyCashAppPayButtonLight
anCashAppPayButtonDark
. As of this version, the
there will only be a singleCashAppPayButton
view, which has been updated to support both variants.
To obtain different variants, developers should use the XMLstyle
attribute to specify the variant they want, as follows:
Light Variant:
<app.cash.paykit.core.ui.CashAppPayButton
style="@style/CAPButtonStyle.Light"
android:layout_height="54dp"
android:layout_width="match_parent"/>
Dark Variant:
<app.cash.paykit.core.ui.CashAppPayButton
style="@style/CAPButtonStyle.Dark"
android:layout_height="54dp"
android:layout_width="match_parent"/>
This change makes it possible for developer to use the button in a more flexible way, such as using
a style that changes accordingly to the OS theme.
You should migrate any instances of CashAppPayButtonLight
and CashAppPayButtonDark
to CashAppPayButton
.
v2.2.1
Here's what has changed on this release:
- Information that can be considered PII is now marked as such by implementing the interface
PiiContent
.- This is possibly a breaking change, but in practice for the majority of people out there, these shouldn't be properties that you're using.
- Improved Thread management to prevent memory leaks and unexpected behavior.
v2.2.0
In this release of our open source SDK, we've made a significant update that involves modifying the date types within our returned payloads from string to Instant. Please note that this modification is a breaking change. Here's what has been altered:
- The dates in the models have been transitioned from
string
toInstant
. - Metrics timestamps are now accurately recorded in
Epoch usec
. - In situations where the auth flow token has expired, it will now be automatically refreshed, thereby ensuring a successful request.
- We've added a new state:
Refreshing
. This state is triggered exclusively when the auth flow token needs a refresh during a customer authorization attempt. Typically, this state acts as a bridge betweenAuthorizing
andPollingTransactionStatus
states.
v2.1.0
This version introduces a concrete type for GrantType
under the Grant
class. Before this field was a string
.
This is a breaking change. The following has changed:
Grant.type
fromstring
toGrantType
- Possible
GrantType
values:ONE_TIME
,EXTENDED
,UNKNOWN
. These values match their spelling with what is described by our public API. - For convenience,
ONE_TIME
applies to a grant can only be used once, whereEXTENDED
applies to grants that can be repeatedly used. - Fixes to the behavior of
startWithExistingCustomerRequest
v2.0.0
This version introduces support for multiple CashAppPayPaymentAction
per createCustomerRequest
.
This is a breaking change. The following functions have changed:
createCustomerRequest(paymentAction: CashAppPayPaymentAction)
tocreateCustomerRequest(paymentAction: CashAppPayPaymentAction, redirectUri: String?)
CashAppPayPaymentAction
no longer contains theredirectUri
parameter. Instead pass that value to thecreateCustomerRequest
function.
And the following functions were introduced:
createCustomerRequest(paymentActions: List<CashAppPayPaymentAction>, redirectUri: String?)
updateCustomerRequest(requestId: String, paymentActions: List<CashAppPayPaymentAction>)
v1.0.8
v1.0.7
- Breaking change:
authorizeCustomerRequest
no longer requires acontext
to be passed as a parameter - Breaking change: several class names have changed to better align across platforms. The gist of it, is that
PayKit
becomesCashAppPay
Class renaming correspondence:
PayKitState
-> CashAppPayState
PayKitExceptionState
-> CashAppPayExceptionState
PayKitCurrency
-> CashAppPayCurrency
PayKitPaymentAction
-> CashAppPayPaymentAction
CashAppPayKit
-> CashAppPay
CashAppPayKitFactory
-> CashAppPayFactory
CashAppPayKitListener
-> CashAppPayListener
CashPayKitLightButton
-> CashAppPayLightButton
CashPayKitDarkButton
-> CashAppPayDarkButton