- [3.4.+]
- [3.3.+]
- [3.3.0]
- Fix #581 by allowing the user to manually call finishTransaction on iOS. Deprecates allowing RNIap to automatically call finishTransaction.
- Adds
finishTransactionIOS(transactionId)
which should be called after persisting a successful consumable transaction to disk or server. (Similar toconsumePurchaseAndroid
andacknowledgePurchaseAndroid
). - Deprecates using requestPurchase without setting
andDangerouslyFinishTransactionAutomatically
tofalse
on iOS. This will default to false in a future major release. - Sends any unfinished (iOS), unconsumed or unacknowledged (Android) purchases directly when the first
purchaseUpdatedListener
is added. This happens even if the app is relaunched and should be used to recover purchases that got charged through the store but were never delivered to the user. Be sure to finish, consume or acknowledge all purchases when you have delivered them.
- [3.2.+]
- Update readme.
- Fixed type.
- Fixes build for
ios
under target12.2
.
- [3.2.0]
- Support
acknowledgePurchaseAndroid
for breaking changes in android billing client2.0+
.
- Support
- [3.1.2]
- Remove
getOrderId
from PurchaseHistory #554
- Remove
- [3.1.1]
- Fix transanctionId in
onPurchaseUpdated
inandroid
#552
- Fix transanctionId in
- [3.1.0]
- Androidx migration #550
- Upgrade example project to
react-native@0.60.0-rc.2
- [3.0.1]
- Fixes for #546
- [3.0.0]
- Major migration and breaking changes done in #510
- Fixes crashing when
requestPurchase
in android #512 - Fix minor typing #514
- Add purchaseErrorListner to subscribe purchase error.
ios
warning fixed. Typings added. #517 - Resolve #315 by safely wrap promises with
ObjectAlreadyConsumedException
. - Fixed typo in
purchaseErrorListener
. - Fixed missing import for
ObjectAlreadyConsumedException
. - Update
podspec
to match the version. - Improved handling of receipts #521
- Fixes for #530
- Make ensureConnection always provide a valid BillingClient #539
- [2.5.+]
- [2.4.+]
- Add support for iOS In-App Purchase promotions #388.
- Implemented
addAdditionalSuccessPurchaseListenerIOS
to handle extra successed purchase event. Related to #307. - Attempt to fix crashing in
ensureConnection
for android. Related #315. - Fixed promise not resolving putting back
async
wrapper. - Fixed types for
addAdditionalSuccessPurchaseListenerIOS
. - Update
build.gradle
to match version in react-native0.58
. - Fix issue with promoted product event not firing on older devices #390.
- Add support for iOS In-App Purchase promotions.
- Add stable channel for pod #404.
- Add flow typed #431
- Prevent crashing from phones that doesn't have IAP feature #434
- Fixed types
flow
andts
#441 #449 - Move
jcenter
belowGoogle repo
#445 - Fetch correct number of periods from introductory price #454
- Support to iOS subscription offers #455
initConnection
return bool #459
- [2.3.23]
- Resolve #288.
- [2.3.21]
- Fixed npe when
getAvailablePurcase
in android.
- Fixed npe when
- [2.3.19]
- Additional catch for npe.
- [2.3.18]
- Resolve
true
rather thannull
in android with successful interaction.
- Resolve
- [2.3.17]
- Avoid iml file to be uploaded to npm repo that may fail from build in android.
- [2.3.16]
- Fixes not responding to successful purchase.
- [2.3.9]
- Fixes for unsafe getting originalJson when restoring item and Android.
- [2.3.6]
- Fixed
types
forbuySubscription
.
- Fixed
- [2.3.5]
- Fixed
transactionReceipt
field inandroid
.
- Fixed
- [2.3.4]
- Get originalJson in Android as a transanctionReceipt for validation #277.
- [2.3.3]
- Fixed regression in adding proration mode. #279.
- [2.3.2]
- Replace deprecated 'compile' gradle configuration with 'implementation' #282
- [2.3.1]
- Fixed breakings.
- [2.3.0]
- Add prorationMode.
- [2.2.2]
- Automatically handle connection initialization.
- [2.2.1]
- Added types for
clearTransaction
.
- Added types for
- [2.2.0]
- Added
clearTransaction
method which resolve #257.
- Added
- [2.1.3]
- Use mutable array in ios not to clear up the array each time products are fetched.
- [2.0.3]
- Properly setup new method
initConnection
and deprecateprepare
.
- Properly setup new method
- [2.0.0]
- Renamed the variables returned from the action getting item and purchasing item.
- Fixed some crashing.
- Typescript improvement.
- Dropped version < 54 for React Native (This only affects
validateReceiptIos
andvalidateReceiptAndroid
). - Improve receipt validation.
- nil check in
Introductory Price
in ios.
- [1.3.6]
- Upgraded android billing client to 1.1.
- [1.3.0]
- Better android build.gradle from PR.
- [1.2.6]
- Fixed invalid source in pod spec from PR.
- [1.2.5]
- Set android build version to that of
rootProject
's to prevent from build failing cause of mismatched version.
- Set android build version to that of
- [1.2.4]
- Implemented
canMakePayments
method in ios which is called inprepare
method in the module. Related issue.
- Implemented
- [1.2.2]
- Return an err when it failse to parse json in android related to issue.
- [1.2.0]
- Fixed example project to work again.
- [1.1.6]
- [1.1.3]
- Android reject when preparing not-ended billing client from PR.
- [1.1.2]
- Handle network error related to PR.
- [1.1.0]
- Rebased rejection code when purchase failed in android related to issue.
- [1.0.8]
- Put another conditional statement when buying product which crashes when purchase is null related to issue.
- [1.0.6]
- Add signature and original purchase data to transaction from PR
- [1.0.5]
- Prevent starting billing client in android when already called once related to issue.
- [1.0.4]
- [1.0.0]
- Renamed
refreshItems
toconsumeAllItems
for clear understanding. - Fixed critical bug in ios which products are recognized as
subs
only.
- Renamed
- [0.3.24]
- [existing iOS bug]
itemType
ofProduct
information always returnssub
. It is unnecessary in iOS and will be deprecated.
- [existing iOS bug]
- [0.3.21]
- Able to manage consumption in ios with
buyProductWithoutFinishTransaction
andfinishTransaction
.
- Able to manage consumption in ios with
- [0.3.19]
- Updated
validateReceiptIos
andvalidateReceiptAndroid
methods to support all RN version.
- Updated
- [0.3.17]
- Implemented receipt validation. See the
Receipt validation
section in the readme. Forandroid
, you should have your own backend to getaccess_token
fromgoogleapis
.
- Implemented receipt validation. See the
- [0.3.13]
- Implemented
refreshItems
in android. This is to consume all products in anroid to rebuy the item. Becareful to use this method because if will affect your history of playstore. Only use this when you don't care about the history in playstore. Use this method afterprepare
method.
- Implemented
- [0.3.10]
- Implemented
endConnection
in android.
- Implemented
- [0.3.9]
- [0.3.1]
- [0.3.0-alpha1]
- Methods names are fully renamed to avoid the confusion. Current methods are
prepare
,getProducts
,getSubscriptions
,getPurchaseHistory
,getAvailablePurchases
,buySubscription
,buyProduct
,consumeProduct
. Please compare these methods with your previous methods used in0.2.*
if you want to upgrade to0.3.0
.
- Methods names are fully renamed to avoid the confusion. Current methods are
- [0.2.17]
refreshAllItems
has changed name tofetchHistory
since android and ios had different functionality and fixed to fetching history of purchases.
- [0.2.16]
- Changed android package name
com.reactlibrary.RNIapPackage
tocom.dooboolab.RNIap.RNIapPackage
;.
- Changed android package name
- [0.2.15]
- Removed react dependency in pod(deprecated). Handle android
buySubscribeItem
callback.
- Removed react dependency in pod(deprecated). Handle android
- [0.2.14]
- Improve typings with JSDoc.
- [0.2.13]
- buyItem will now return object instead string. The receipt string will be result.data and signature is added in result.signature. Currently ios signature will be always empty string.
- [0.2.12]
- Added signiture to android purchase. From this version, the verification string for json string after purchasing will be receipt.data instead of receipt itself because of changes in here. We will apply this changes to ios too so you do not have to handle these two differently.
- [0.2.11]
- [0.2.9]
- Android catch error message when IAP service not prepared during refreshAllItems.
- [0.2.8]
homepage
now is mandatory attribute in cocoapods from pull request.
- [0.2.7]
- Android
buyItem
cancel callback.
- Android
- [0.2.6]
- Android buyItem method do not consume item right away from 0.2.6.
- [0.2.5]
- [0.2.3]
- Support annotations to hint while using our module.
- [0.2.0]
- Implemented senario for consumable and non-consumable item.
- Seperated methods that only exists in IOS and Android.
- prepareAndroid()
- refreshPurchaseItemsAndroid(type: string)
- getPurchasedItemsAndroid(type: string)
- consumeItemAndroid(token: string)
- Able to call prepareAndroid() function without any conditional statement like if (Platform.OS === 'android'). Just use it.
- Updated Readme.
- [0.1.10]
- Fixed potential bug relied on preparing IAP module in Android. Updated readme to see how to use it.