diff --git a/CHANGELOG.md b/CHANGELOG.md index 70ab81c..acce2ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ PayPal Android SDK release notes ================================ +2.15.0 +------ +* Add support for third-party receivers [iOS #140](https://github.com/paypal/PayPal-iOS-SDK/issues/140). Available as an optional property, `PayPalPayment.payeeEmail()`. This property is only available for PayPal payments, not Direct Credit Card (DCC) payments. +* Direct Credit Card (DCC) payments are now deprecated in this SDK. Please use [Braintree Payments](https://www.braintreepayments.com/), a PayPal Company, which is the easiest way to accept PayPal, credit cards, and many other payment methods. All new integrations should [disable direct credit card payments](README.md#disabling-direct-credit-card-payments). +* Update card.io to 5.4.2. + 2.14.6 ------ * Fix issue where okhttp cannot find the `TrustManager` [#341](https://github.com/paypal/PayPal-Android-SDK/issues/341). @@ -36,7 +42,7 @@ PayPal Android SDK release notes 2.14.0 ------ -* Update `minSdkVersion` to 16. This is the minimum Android version to communicate over TLSv1.2, which is required to support [a Payment Card Industry (PCI) Council mandate](http://blog.pcisecuritystandards.org/migrating-from-ssl-and-early-tls). All organizations that handle credit card information are required to comply with this standard. As part of this obligation, [PayPal is updating its services](https://github.com/paypal/tls-update) to require TLSv1.2 for all HTTPS connections. To override the minSdkVersion, please see [the readme](https://github.com/paypal/PayPal-Android-SDK/blob/master/README.md#override-minsdkversion). +* Update `minSdkVersion` to 16. This is the minimum Android version to communicate over TLSv1.2, which is required to support [a Payment Card Industry (PCI) Council mandate](http://blog.pcisecuritystandards.org/migrating-from-ssl-and-early-tls). All organizations that handle credit card information are required to comply with this standard. As part of this obligation, [PayPal is updating its services](https://github.com/paypal/tls-update) to require TLSv1.2 for all HTTPS connections. To override the minSdkVersion, please see [the readme](README.md#override-minsdkversion). * Update okhttp dependency to 3.2.0. * Fix issue related to non-ascii characters in user agent [#271](https://github.com/paypal/PayPal-Android-SDK/issues/271). diff --git a/README.md b/README.md index 1503e56..5431a37 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ PayPal Android SDK ================== -The PayPal Android SDK makes it easy to add PayPal and credit card payments to mobile apps. +Those building new integrations should consider using [Braintree Payments](https://www.braintreepayments.com/), a PayPal Company, which is the easiest way to accept PayPal, credit cards, and many other payment methods. + +The PayPal Android SDK makes it easy to add PayPal payments to mobile apps. *This documentation is available in Japanese: [日本語のドキュメント](docs/ja/README.md).* @@ -13,8 +15,7 @@ The PayPal Android SDK makes it easy to add PayPal and credit card payments to m - [Add the SDK to Your Project](#add-the-sdk-to-your-project) - [Credentials](#credentials) - [International Support](#international-support) -- [Disabling card.io card scanning](#disabling-cardio-card-scanning) -- [Completely Disabling Direct Credit Card Payments](#completely-disabling-direct-credit-card-payments) +- [Disabling Direct Credit Card Payments](#disabling-direct-credit-card-payments) - [Override `minSdkVersion`](#override-minsdkversion) - [Testing](#testing) - [Documentation](#documentation) @@ -30,7 +31,7 @@ The PayPal Android SDK makes it easy to add PayPal and credit card payments to m The PayPal Android SDK is now available at [Maven Repository](https://repo1.maven.org/maven2/com/paypal/sdk/paypal-android-sdk/). The latest version is available via `mavenCentral()`: ```groovy -compile 'com.paypal.sdk:paypal-android-sdk:2.14.6' +compile 'com.paypal.sdk:paypal-android-sdk:2.15.0' ``` @@ -46,7 +47,7 @@ Receive a one-time payment from a customer's PayPal account or payment card (sca 1. [Accept a Single Payment](docs/single_payment.md) and receive back a proof of payment. 2. On your server, [Verify the Payment](https://developer.paypal.com/webapps/developer/docs/integration/mobile/verify-mobile-payment/), [Capture the Payment](https://developer.paypal.com/webapps/developer/docs/integration/direct/capture-payment/#capture-the-payment), or [Process the Order](https://developer.paypal.com/webapps/developer/docs/integration/direct/create-process-order/) (PayPal Developer site) using PayPal's API. -*Note:* Direct Credit Card (DCC) payments are only available in a [select few countries](https://developer.paypal.com/webapps/developer/docs/integration/direct/rest_api_payment_country_currency_support/#direct-credit-card-payments). Also, see the [International Support](#international-support) section for details on the specific currencies supported. +*Note:* Direct Credit Card (DCC) payments are now deprecated in this SDK. Please use [Braintree Payments](https://www.braintreepayments.com/), a PayPal Company, which is the easiest way to accept PayPal, credit cards, and many other payment methods. All new integrations should [disable direct credit card payments](#disabling-direct-credit-card-payments). ### Future Payments @@ -122,47 +123,12 @@ The SDK has built-in translations for many languages and locales. See [javadoc]( The SDK supports multiple currencies. See [the REST API country and currency documentation](https://developer.paypal.com/webapps/developer/docs/integration/direct/rest_api_payment_country_currency_support/) for a complete, up-to-date list. -Note that currency support differs for credit card versus PayPal payments. Unless you disable credit card acceptance (via the `PaymentActivity.EXTRA_SKIP_CREDIT_CARD` intent extra), **we recommend limiting transactions to currencies supported by both payment types.** Currently these are: USD, GBP, CAD, EUR, JPY. - -If your app initiates a transaction with a currency that turns out to be unsupported for the user's selected payment type, then the SDK will display an error to the user and write a message to the console log. - - -## Disabling card.io card scanning - -Future payments does not require card.io card scanning. Also, for single payments, if you do not wish to include the scanning feature of card.io, and only allow manual entry by keyboard, add packagingOptions to remove the `.so` libraries of card.io in your `build.gradle`: -```groovy -packagingOptions { - exclude 'lib/arm64-v8a/libcardioDecider.so' - exclude 'lib/arm64-v8a/libcardioRecognizer.so' - exclude 'lib/arm64-v8a/libcardioRecognizer_tegra2.so' - exclude 'lib/arm64-v8a/libopencv_core.so' - exclude 'lib/arm64-v8a/libopencv_imgproc.so' - exclude 'lib/armeabi/libcardioDecider.so' - exclude 'lib/armeabi-v7a/libcardioDecider.so' - exclude 'lib/armeabi-v7a/libcardioRecognizer.so' - exclude 'lib/armeabi-v7a/libcardioRecognizer_tegra2.so' - exclude 'lib/armeabi-v7a/libopencv_core.so' - exclude 'lib/armeabi-v7a/libopencv_imgproc.so' - exclude 'lib/mips/libcardioDecider.so' - exclude 'lib/x86/libcardioDecider.so' - exclude 'lib/x86/libcardioRecognizer.so' - exclude 'lib/x86/libcardioRecognizer_tegra2.so' - exclude 'lib/x86/libopencv_core.so' - exclude 'lib/x86/libopencv_imgproc.so' - exclude 'lib/x86_64/libcardioDecider.so' - exclude 'lib/x86_64/libcardioRecognizer.so' - exclude 'lib/x86_64/libcardioRecognizer_tegra2.so' - exclude 'lib/x86_64/libopencv_core.so' - exclude 'lib/x86_64/libopencv_imgproc.so' -} -``` - -## Completely Disabling Direct Credit Card Payments +## Disabling Direct Credit Card Payments -If you want to completely disable Direct Credit Card (DCC) payments, exclude the card.io library in your application `build.gradle`: +Disabling Direct Credit Card Payments is now preferred. To completely disable Direct Credit Card (DCC) payments, exclude the card.io library in your application `build.gradle`: ```groovy dependencies { - compile('com.paypal.sdk:paypal-android-sdk:2.14.6') { + compile('com.paypal.sdk:paypal-android-sdk:2.15.0') { exclude group: 'io.card' } } diff --git a/SampleApp-Kotlin/build.gradle b/SampleApp-Kotlin/build.gradle index 28bdb41..696dd7b 100644 --- a/SampleApp-Kotlin/build.gradle +++ b/SampleApp-Kotlin/build.gradle @@ -1,15 +1,17 @@ buildscript { ext.kotlin_version = '1.0.1-2' repositories { + jcenter() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' + classpath 'com.android.tools.build:gradle:2.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } repositories { + jcenter() mavenCentral() } @@ -78,7 +80,7 @@ dependencies { if (parent != null) { compile project(path: ':androidSDK') } else { - compile('com.paypal.sdk:paypal-android-sdk:2.14.6') + compile('com.paypal.sdk:paypal-android-sdk:2.15.0') } compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } diff --git a/SampleApp/build.gradle b/SampleApp/build.gradle index 8096db9..715390b 100644 --- a/SampleApp/build.gradle +++ b/SampleApp/build.gradle @@ -1,9 +1,10 @@ buildscript { repositories { + jcenter() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.3' + classpath 'com.android.tools.build:gradle:2.2.0' } } @@ -12,6 +13,7 @@ repositories { // Used for downloading dependency com.github.lkorth:device-automator url "https://jitpack.io" } + jcenter() mavenCentral() } @@ -87,7 +89,7 @@ dependencies { generalCompile project(path: ':androidSDK', configuration: 'generalDebug') partnerCompile project(path: ':androidSDK', configuration: 'partnerDebug') } else { - compile('com.paypal.sdk:paypal-android-sdk:2.14.6') + compile('com.paypal.sdk:paypal-android-sdk:2.15.0') } compile 'com.google.android.gms:play-services-wallet:8.4.0' diff --git a/aars/PayPalAndroidSDK-2.14.6.aar b/aars/PayPalAndroidSDK-2.14.6.aar deleted file mode 100644 index b25b0c3..0000000 Binary files a/aars/PayPalAndroidSDK-2.14.6.aar and /dev/null differ diff --git a/aars/PayPalAndroidSDK-2.15.0.aar b/aars/PayPalAndroidSDK-2.15.0.aar new file mode 100644 index 0000000..4e5c360 Binary files /dev/null and b/aars/PayPalAndroidSDK-2.15.0.aar differ diff --git a/docs/single_payment.md b/docs/single_payment.md index 46d8031..22583ad 100644 --- a/docs/single_payment.md +++ b/docs/single_payment.md @@ -1,7 +1,7 @@ Single Payment ============== -Receive a single, immediate payment from your customer, via either PayPal or payment card with [card.io](https://www.card.io/). +Receive a single, immediate payment from your customer through PayPal. _If you haven't already, see the [README](../README.md) for an initial overview and instructions for adding the SDK to your project._