- Update localized messages.
- Fix issue with truncated text in certain table cells. See issue #367.
- Change layout for 1Password icon to be in the email/phone field See issue #405
- Allow configuration option to disable shake animations for accessibility
See issue #380
See
PayPalConfiguration disableShakeAnimations
option - Fix issue with missing 1Password data See issue #427
- Fix issue with network request timeouts
- Update card.io to iOS 5.3.2
- Fix missing nullability headers See issue #404
- Fix issue with iOS 9 right to left language support See issue #389
- Fix issue with small dynamic text truncating prices. See issue #381
- Update card.io to 5.3.1
- Add nullability annotations to headers
- Minor internal code cleanup
- Fix issue determining valid negative amounts. See issue #369.
- Update network code and general code cleanup
- Update networking code for iOS 7 to fix potential ClassicURLConnection crash
- When the wrong PayPal login credentials are used, use shake animation and allow user to login again without having to click on Pay button again
- In CocoaPods, add subspecs to allow PayPal SDK to be used without card.io. By
default, all libraries are included. If you do not want to use card.io, use
the
Core
subspec likePayPal-iOS-SDK/Core
in your Podfile. See the SampleApp without card.io to see how you can setup your application without credit card scanning. See issue #358. - Update to use NSURLSession whenever possible. Falls back to NSURLConnection for iOS 6.
- Split card.io libraries into 3 different libraries to help reduce the size of the individual files. issue #339
You should link to
libPayPalMobile.a
,libCardIO.a
,libopencv_core.a', and
libopencv_imgproc.a` for your app now. See notes in 2.12.2 for more information. - Fix issue with iOS 6 API availability with call to initWithBase64EncodedData:options: issue #351
- Switch to use vendored_libraries in
PayPal-iOS-SDK.podspec
to help some CocoaPod issues
- Fixed long string description text wrapping for iOS9
- Updated Swift Sample App to Swift 2.0 syntax
- Fixed cocoapods spec file to unzip libCardIO.a.zip when installing for dependency resolution
- Parsing enhancement for empty response received from server APIs
- There are now 2 static libraries which you should link to your application:
libPayPalMobile.a
in thePayPalMobile
directorylibCardIO.a
in theCardIO
directory. Please unzip thelibCardIO.a.zip
archive.
libPayPalMobile.a
is a required static library which has all the previous PayPal functionality using the REST APIslibCardIO.a
is an optional static library. If you want to allow payments by scanning credit cards, you must also link this library. It is currently zipped in alibCardIO.a.zip
file. Use a standard unzip tool to unzipCardIO\libCardIO.a.zip
to getlibCardIO.a
.- If you want the same functionality which you had before in version 2.12.1, link to both
libPayPalMobile.a
andlibCardIO.a
. You must use thelibPayPalMobile.a
andlibCardIO.a
from the same SDK. - Bitcode enabled the libraries. While the static libraries are larger, the application delivered to users should not be significantly different in size compared to before. Issue #284
- You must use Xcode 7.0 with these versions of the SDK. For Xcode 6.4, you can use the 2.11.x libraries but it is advised that you upgrade as soon as possible. Xcode 6.4 is not compatible with Bitcode enabled libraries.
- Fix issue #320 with 2-Factor Authentication flow
- Add README note for URL schemes which the SDK queries
- Built using Xcode 7.0
- Use
SFSafariViewController
viaSafariServices.framework
(if linked) for opening web pages - Fixed behavior where
retrieve_shipping_address
is disabled and noshipping address
is provided from the app, so it will not default to the PayPal accountshipping address
.
- Note this is the same code as 2.12.1 except built with Xcode 6.4 issue #327
- Fix issue #320 with 2-Factor Authentication flow
- Add README note for URL schemes which the SDK queries
- Use
SFSafariViewController
viaSafariServices.framework
(if linked) for opening web pages - Fixed behavior where
retrieve_shipping_address
is disabled and noshipping address
is provided from the app, so it will not default to the PayPal accountshipping address
.
- Fix issue #290.
- Update card.io to 5.1.0.
- Update card.io library to 5.0.6.
- Minor bug fixes.
- NOTE: version 2.11.0 requires Xcode 6.3+. If you are still using Xcode 6.2, please use version 2.10.2 of this SDK.
- Update card.io library to 5.0.5. (fixes paypal#278)
- Minor bug fixes.
- Fix an iPad display issue. (see paypal#272)
- Improve mSDK screen blurring when app is backgrounded.
NOTE: this change requires that you add one more framework to your project:
Accelerate.framework
- Minor bug fixes.
- Improve the country code displayed for Phone/PIN login.
- Build the SDK using Xcode 6.2 rather than 6.3, to provide better compatibility for those developers still using Xcode 6.2.
- Improve currency display for some currencies/locales. (see http://stackoverflow.com/questions/29409480/paypal-for-ios-in-arabic-language-giving-issue)
- Update card.io library to 5.0.4.
- Minor bug fixes.
- Add
alwaysDisplayCurrencyCodes
property toPayPalConfiguration
. - Update card.io library to 5.0.3.
- Change "Send Payment" button to "Pay". (see paypal#174)
- Minor bug fixes.
- Update card.io library to 5.0.2.
- Add button allowing user to create a new PayPal account.
- Minor bug fixes.
- Update card.io library to 5.0.1.
- Fix an iOS 6 crash.
- Improve UI for country codes during Phone/PIN login.
- Display currency codes for mixed-currency situations; e.g., when choosing between balances in different currencies.
- Minor bug fixes.
- Update card.io library to 5.0.0.
- Improve handling of some server errors.
- Minor bug fixes.
- Update card.io library to 4.0.2.
- Prevent a rare crash. (paypal#220)
- Update card.io library to 4.0.1.
- Update
Paypal-Application-Correlation-Id
header toPayPal-Client-Metadata-Id
, and deprecate[PayPalMobile applicationCorrelationIDForEnvironment:]
in favor of[PayPalMobile clientMetadataID]
. - Update card.io library to 4.0.0.
- Minor bug fixes.
- Prevent two MORE potential "duplicate symbol" problems for apps that are also integrating with 1Password. Grr.
- Add support for Russian Rubles. issue #223
- Include public header files for card.io, which is contained inside the PayPal iOS SDK, for apps that use card.io directly. issue #219
- Minor improvements to Sample App.
- Prevent a few more potential "duplicate symbol" problems for apps that are also integrating with 1Password.
- Update card.io library to 3.10.1.
- Minor improvements relevant only to select partners.
- Allow login by users who have enabled two-factor authentication on their PayPal accounts.
- Streamline Profile Sharing for cases where a user has previously authorized sharing.
- Prevent a "duplicate symbol" problem for apps that are also integrating with 1Password.
- Minor bug fixes.
- NOTE: version 2.5.0 requires Xcode 6 and iOS 8 SDK. If you are still using Xcode 5, please use version 2.3.2 of this SDK.
- Add
presentingInPopover
property toPayPalConfiguration
. - Add a new optional delegate method for each of our view controllers, to allow your app to talk with your server while our activity indicator is still visible.
- Fix an iOS 6 crash. issue #202
- Update card.io library to 3.10.0.
- NOTE: version 2.4.2 requires Xcode 6 and iOS 8 SDK. If you are still using Xcode 5, please use version 2.3.2 of this SDK.
- Correct the number of expected decimal places for the HUF and TWD currencies. issue #191
- Update card.io library to 3.9.0.
- NOTE: version 2.4.1 requires Xcode 6 and iOS 8 SDK. If you are still using Xcode 5, please use version 2.3.2 of this SDK.
- Fix a bug where user selection of Shipping Address (for a Single Payment) sometimes did not work correctly.
- NOTE 1: version 2.4.0 requires Xcode 6 and iOS 8 SDK. If you are still using Xcode 5, please use version 2.3.2 of this SDK.
- NOTE 2: in the
Link Binary With Libraries
section of your project target's Build Phases, add:AudioToolbox.framework
CoreMedia.framework
MobileCoreServices.framework
- Official release for iOS 8, built with Xcode 6 GM seed.
- Support use of the iOS 8 1Password Extension for PayPal logins.
- Update Sample App icons.
- Update card.io library to 3.8.6.
- Improve mSDK behavior when presented within a popover.
- Update some localized strings.
- Minor bug fixes.
- Fix version reporting
- Update some localized strings.
- Add support for
order
payments. - Add
invoiceNumber
,custom
, andsoftDescriptor
as optional properties onPayPalPayment
. - For Single Payments, an individual
PayPalItem
price
may now be negative (for coupons, etc). issue #162
- Minor bug fixes.
- Add Profile Sharing feature. (See
PayPalProfileSharingViewController.h
.) - For PayPal single payments, allow user to choose from app-provided and/or PayPal-account-provided Shipping Address.
- For PayPal single payments, user will now automatically be offered a choice of funding options (when appropriate).
- Fix a bug in the
clearAllUserData
method ofPayPalMobile
. (Credit card not being cleared while app remains in memory.)
- Minor bug fixes.
- Fix a very rare problem involving the app caches directory getting cleared. issue #163
- Fix some localization issues. issue #164
- Update card.io library to 3.8.2.
- Fix a crash involving PayPal accounts that have enabled two-factor authentication.
- Fix an iOS 8 crash.
- Make the HK dialect of Traditional Chinese the default dialect. (zh-Hant_TW remains available as well.)
- Update card.io library to 3.8.0.
- Fix a bug involving the format of
PayPalItem
price
in server requests. (The bug affected items whose fractional price was a multiple of 0.10)
- Add translations for Thai.
- Update card.io library to 3.7.1.
- Allow hyphens or underscores within the optional Build Notation code ("BN code").
- Add support for Multiple Items per payment.
- Add
clearAllUserData
method toPayPalMobile
. - If app provides
defaultUserEmail
,defaultUserPhoneCountryCode
, and/ordefaultUserPhoneNumber
, these will now be overridden by the user's most recent PayPal login. - Update PayPal logo.
- Update card.io library to 3.7.0.
- Update a Spanish translation. issue #139
- Eliminate remaining references to IDFA (Advertising ID) to prevent potential issues for app approvals.
- For payments using
PayPalPaymentIntentAuthorize
, thePayPalPayment.confirmation
now includesauthorization_id
. issue #125 - Correct the handling of currencies HKD, HUF, and TWD. issue #130
- Add full support for device rotation.
- Add translations for Arabic and Malay.
- Update card.io library to 3.6.4.
- A few very minor fixes:
- Correct the version string returned by the SDK.
- Tidy up some messages in the console log.
- Improve handling of iOS 7 dialects such as "British English."
- Users can now authorize future payments with PayPal.
- Reorganize API, for both single-payment and future-payment use cases:
- Use the
PayPalMobile
class to initialize the SDK with Client IDs for Production and Sandbox. - Use a
PayPalConfiguration
object for common configuration across both single-payment and future-payment use cases. - Allow an optional
PayPalPaymentDetails
object to specify Shipping, Subtotal, and Tax amounts. - Allow an optional Build Notation code ("BN code") for each payment.
- Add a
PayPalPaymentViewController
parameter to the methods ofPayPalPaymentDelegate
. - Introduce
PayPalFuturePaymentViewController
and associatedPayPalFuturePaymentDelegate
.
- Use the
- Single payments now include an
intent
property, to distinguish between:- immediate payment processing
- payment authorization only, with subsequent capture by your server.
- For API errors, the console log will now provide additional information, including a PayPal Debug-ID for MTS investigations.
- The SDK now uses PayPal's new REST APIs exclusively.
- Update card.io library to 3.4.4, fixes Issue #83: Crashes when card.io doesn't detect number
- Fix a bug that caused "duplicated symbol" errors when an app used the -all_load linker flag.
- Fix a bug that arose when
hideCreditCardButton
is set. - Update card.io library to 3.4.3
- Improve the handling of right-to-left languages (e.g., Hebrew).
- Update card.io library to 3.4.2
- Fix issue #66
- Fix issue #60
- Fix a problem with the 64-bit library
- Make 64-bit compatible
- Require iOS 6.0 or greater
- Update card.io library to 3.4.0
- Fix a problem with repeat purchase resulting in 52003 error on Sandbox
- Fix a problem with accepting American Express cards.
- Official release for iOS 7, built with Xcode 5 GM seed.
- Modify header comments to support Xcode 5 Quick Help.
- Update card.io library to 3.2.4.
- Better reposting of 1.3.1-beta
- Fix issue #39.
- Add support for iOS 7.
- Library built with Xcode 5 DP 5.
- The SDK is still compatible with iOS 5 and 6, as well as Xcode 4.
- Update UI across all supported versions of iOS.
- The confirm view has been merged into the payment selection view.
- Support all currencies that are currently accepted by the REST APIs. See README for details.
- Eliminate the final "Complete" screen.
- Your app's payPalPaymentDidComplete: method will now be called as soon as the payment has completed.
- The PayPalTransactionDidSucceedNotification is no longer necessary and has been deprecated.
- Additional localization: ko (Korean)
- Update card.io library to 3.2.3
- Additional localizations: es_MX, pt_BR
- Update card.io library to 3.2.1
- Fix small bugs.
- Update the required C++ Standard Library from
libstdc++
tolibc++
- NOTE: this will probably require a corresponding change to your app's
Other Linker Flags
, from-lstdc++
to-lc++
. - (If you still need
libstdc++
for a component other than card.io, you should be able to specify BOTH-lstdc++
AND-lc++
.)
- NOTE: this will probably require a corresponding change to your app's
- Add a new dependency: include SystemConfiguration.framework in your app's required libraries.
- Add translations of all strings into ~20 languages, in addition to American English.
- Translation choice is controlled by a new
languageOrLocale
property ofPayPalPaymentViewController
. - NOTE: Default language, if not set by your app, will now be based upon the device's current language setting.
- Translation choice is controlled by a new
- Clarify library behavior if you pass
nil
forpayerId
. (SeePayPalPaymentViewController.h
for details.) - Update card.io library to 3.2.0
- Fix small bugs.
- Fix issue #18.
- New properties of
PayPalPaymentViewController
:disableBlurWhenBackgrounding
- blur screen when app is backgrounded, for security purposes. Enabled by default.state
- for optional key-value-observing.
- Update card.io library to 3.1.1.
- Fix small bugs.
PayPalPaymentViewController
now only acceptsPayPalPayment
instances that areprocessable
. Fixes bug reported in comment in issue #7.- The
prepareForPaymentUsingClientId:
call is now actually optional (and still recommended). Fixes issue reported on StackOverflow.
- Update card.io library to 3.0.9.
- Fixes issue #10 in which the scanned card image obscured manual entry fields on iPad in landscape.
- Add
PayPalPayment
convenience contructor. - Fix small bugs.
- Add BSD license.
- Bugfixes.
- Minor Sample App UI improvements.
- Bugfixes and minor enhancements.
- Update card.io to 3.0.8.
- Hello world! Add support for paying with PayPal or a credit card in a native iOS app.