react-native-iap 15.4.0 → 15.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/margelo/nitro/iap/ConnectionLifecycleQueue.kt +113 -0
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +221 -87
- package/android/src/main/java/com/margelo/nitro/iap/RnIapLog.kt +23 -1
- package/ios/HybridRnIap.swift +211 -139
- package/ios/RnIapHelper.swift +150 -26
- package/ios/RnIapLog.swift +24 -1
- package/lib/module/hooks/useIAP.js +1 -1
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +47 -28
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +11 -9
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/error.js +7 -3
- package/lib/module/utils/error.js.map +1 -1
- package/lib/module/utils/errorMapping.js +2 -0
- package/lib/module/utils/errorMapping.js.map +1 -1
- package/lib/module/utils/type-bridge.js +28 -19
- package/lib/module/utils/type-bridge.js.map +1 -1
- package/lib/module/vega-adapter.js +31 -6
- package/lib/module/vega-adapter.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +3 -3
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +21 -19
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +58 -26
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/error.d.ts.map +1 -1
- package/lib/typescript/src/utils/errorMapping.d.ts +3 -1
- package/lib/typescript/src/utils/errorMapping.d.ts.map +1 -1
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
- package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
- package/nitro.json +8 -2
- package/nitrogen/generated/android/NitroIap+autolinking.cmake +1 -1
- package/nitrogen/generated/android/NitroIapOnLoad.cpp +2 -2
- package/nitrogen/generated/android/c++/JAdvancedCommerceInfoIOS.hpp +10 -10
- package/nitrogen/generated/android/c++/JAdvancedCommerceItemDetailsIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JAdvancedCommerceItemIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JAdvancedCommerceRefundIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JAlternativeBillingModeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JAndroidSubscriptionOfferInput.hpp +2 -2
- package/nitrogen/generated/android/c++/JBillingChoiceImageLayoutAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JBillingChoiceScreenTypeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JDeveloperBillingLaunchModeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JDeveloperBillingOptionParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JDeveloperBillingTypeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +10 -10
- package/nitrogen/generated/android/c++/JDeveloperProvidedBillingProductAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalLinkLaunchModeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalLinkTypeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeResultIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkNoticeTypeIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenResultIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseCustomLinkTokenTypeIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseLinkResultIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseNoticeAction.hpp +2 -2
- package/nitrogen/generated/android/c++/JExternalPurchaseNoticeResultIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchase.hpp +26 -2
- package/nitrogen/generated/android/c++/JFunc_void_NitroPurchaseResult.hpp +5 -2
- package/nitrogen/generated/android/c++/JFunc_void_UserChoiceBillingDetails.hpp +12 -2
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +51 -54
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +3 -3
- package/nitrogen/generated/android/c++/JIapPlatform.hpp +2 -2
- package/nitrogen/generated/android/c++/JIapStore.hpp +2 -2
- package/nitrogen/generated/android/c++/JIapkitPurchaseState.hpp +2 -2
- package/nitrogen/generated/android/c++/JInAppMessageCategoryAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JInAppMessageResponseCodeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroActiveSubscription.hpp +7 -2
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesAndroidType.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesIosOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroAvailablePurchasesOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroBillingChoiceInfoAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroBillingProgramInformationDialogParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroBillingProgramReportingDetailsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroBillingResultAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroDeepLinkOptionsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroDiscountAmountAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroDiscountDisplayInfoAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroFinishTransactionAndroidParams.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroFinishTransactionIosParams.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroFinishTransactionParams.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroGetBillingChoiceInfoParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroInAppMessageParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroInAppMessageResultAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroLimitedQuantityInfoAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +10 -10
- package/nitrogen/generated/android/c++/JNitroPreorderDetailsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroProduct.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroPurchase.hpp +53 -5
- package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroPurchaseResult.hpp +46 -5
- package/nitrogen/generated/android/c++/JNitroReceiptValidationAppleOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroReceiptValidationGoogleOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroReceiptValidationHorizonOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroReceiptValidationResultIOS.hpp +26 -2
- package/nitrogen/generated/android/c++/JNitroRenewalInfoIOS.hpp +16 -3
- package/nitrogen/generated/android/c++/JNitroRentalDetailsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +10 -10
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseIos.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroSubscriptionStatus.hpp +15 -9
- package/nitrogen/generated/android/c++/JNitroValidTimeWindowAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAmazonProps.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitAppleProps.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitGoogleProps.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitProps.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithIapkitResult.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderError.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderProps.hpp +2 -2
- package/nitrogen/generated/android/c++/JNitroVerifyPurchaseWithProviderResult.hpp +2 -2
- package/nitrogen/generated/android/c++/JPaymentModeIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JPendingPurchaseUpdateAndroid.hpp +10 -10
- package/nitrogen/generated/android/c++/JProductType.hpp +2 -2
- package/nitrogen/generated/android/c++/JPromotionalOfferJwsInputIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchase.hpp +3 -3
- package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchaseOfferIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchaseState.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchaseUpdatedListenerOptions.hpp +2 -2
- package/nitrogen/generated/android/c++/JPurchaseVerificationProvider.hpp +2 -2
- package/nitrogen/generated/android/c++/JRenewalCommitmentInfoIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JRenewalInfoIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JRequestPurchaseResult.cpp +4 -4
- package/nitrogen/generated/android/c++/JRequestPurchaseResult.hpp +9 -9
- package/nitrogen/generated/android/c++/JSubResponseCodeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JSubscriptionBillingPlanTypeIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JSubscriptionProductReplacementParamsAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JSubscriptionReplacementModeAndroid.hpp +2 -2
- package/nitrogen/generated/android/c++/JTransactionCommitmentInfoIOS.hpp +2 -2
- package/nitrogen/generated/android/c++/JUserChoiceBillingDetails.hpp +29 -11
- package/nitrogen/generated/android/c++/JVariant_Boolean_NitroPurchaseResult.hpp +6 -3
- package/nitrogen/generated/android/c++/JVariant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.hpp +27 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_AdvancedCommerceInfoIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_AdvancedCommerceItemDetailsIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_AdvancedCommerceRefundIOS_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_AdvancedCommerceRefundIOS_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_DeveloperProvidedBillingProductAndroid_.cpp +35 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_DeveloperProvidedBillingProductAndroid_.hpp +86 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroOneTimePurchaseOfferDetail_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroSubscriptionStatus_.hpp +16 -10
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_NitroVerifyPurchaseWithProviderError_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.cpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_String_.hpp +7 -7
- package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesAndroidOptions.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroAvailablePurchasesIosOptions.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountAmountAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroDiscountDisplayInfoAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionAndroidParams.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroFinishTransactionIosParams.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroLimitedQuantityInfoAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroPreorderDetailsAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroProduct.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroPurchase.hpp +27 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationAppleOptions.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationGoogleOptions.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroReceiptValidationHorizonOptions.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroRenewalInfoIOS.hpp +8 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroRentalDetailsAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseIos.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroValidTimeWindowAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitProps.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroVerifyPurchaseWithIapkitResult.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_PendingPurchaseUpdateAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_PromotionalOfferJwsInputIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_PurchaseOfferIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_RenewalCommitmentInfoIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_RenewalInfoIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_SubscriptionProductReplacementParamsAndroid.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_TransactionCommitmentInfoIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_NullType_WinBackOfferInputIOS.hpp +3 -3
- package/nitrogen/generated/android/c++/JWinBackOfferInputIOS.hpp +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceInfoIOS.kt +27 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceItemDetailsIOS.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceItemIOS.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AdvancedCommerceRefundIOS.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/AndroidSubscriptionOfferInput.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingOptionParamsAndroid.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkNoticeResultIOS.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseCustomLinkTokenResultIOS.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseLinkResultIOS.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalPurchaseNoticeResultIOS.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroActiveSubscription.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesAndroidOptions.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesIosOptions.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroAvailablePurchasesOptions.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingChoiceInfoAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingResultAndroid.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDeepLinkOptionsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountAmountAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountDisplayInfoAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionAndroidParams.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionIosParams.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroFinishTransactionParams.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageParamsAndroid.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageResultAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLimitedQuantityInfoAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +37 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPreorderDetailsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +85 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +128 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseRequest.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchaseResult.kt +49 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAppleOptions.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationGoogleOptions.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationHorizonOptions.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultAndroid.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationResultIOS.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRenewalInfoIOS.kt +45 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRentalDetailsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +33 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseIos.kt +31 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionStatus.kt +19 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroValidTimeWindowAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAmazonProps.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitAppleProps.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitGoogleProps.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitProps.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithIapkitResult.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderError.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderProps.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroVerifyPurchaseWithProviderResult.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PendingPurchaseUpdateAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PromotionalOfferJwsInputIOS.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Purchase.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +55 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +85 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseOfferIOS.kt +17 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseUpdatedListenerOptions.kt +13 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalCommitmentInfoIOS.kt +21 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RenewalInfoIOS.kt +37 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/RequestPurchaseResult.kt +20 -9
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubscriptionProductReplacementParamsAndroid.kt +15 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/TransactionCommitmentInfoIOS.kt +19 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/UserChoiceBillingDetails.kt +28 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_Boolean_NitroPurchaseResult.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_AdvancedCommerceInfoIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_AdvancedCommerceItemDetailsIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_AdvancedCommerceRefundIOS_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_AndroidSubscriptionOfferInput_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_DeveloperProvidedBillingProductAndroid_.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_InAppMessageCategoryAndroid_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroOneTimePurchaseOfferDetail_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroSubscriptionStatus_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_NitroVerifyPurchaseWithProviderError_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_String_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Boolean.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_DeveloperBillingOptionParamsAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Double.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_InitConnectionConfig.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Map_String__String_.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesAndroidOptions.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroAvailablePurchasesIosOptions.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountAmountAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroDiscountDisplayInfoAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionAndroidParams.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroFinishTransactionIosParams.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroInAppMessageParamsAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroLimitedQuantityInfoAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPreorderDetailsAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroProduct.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroPurchase.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationAppleOptions.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationGoogleOptions.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroReceiptValidationHorizonOptions.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRenewalInfoIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRentalDetailsAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroRequestPurchaseIos.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroValidTimeWindowAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PendingPurchaseUpdateAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PromotionalOfferJwsInputIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_PurchaseOfferIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_RenewalCommitmentInfoIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_RenewalInfoIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_String.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_SubscriptionProductReplacementParamsAndroid.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_TransactionCommitmentInfoIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_WinBackOfferInputIOS.kt +16 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/WinBackOfferInputIOS.kt +13 -0
- package/nitrogen/generated/ios/NitroIap+autolinking.rb +2 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +85 -73
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +0 -3
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +7 -10
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +1 -1
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +7 -7
- package/nitrogen/generated/ios/swift/NitroPurchase.swift +204 -2
- package/nitrogen/generated/ios/swift/NitroPurchaseResult.swift +90 -1
- package/nitrogen/generated/ios/swift/NitroRenewalInfoIOS.swift +49 -1
- package/nitrogen/generated/ios/swift/NitroSubscriptionStatus.swift +11 -11
- package/nitrogen/generated/ios/swift/Purchase.swift +12 -0
- package/nitrogen/generated/ios/swift/RequestPurchaseResult.swift +14 -0
- package/nitrogen/generated/ios/swift/UserChoiceBillingDetails.swift +82 -2
- package/nitrogen/generated/ios/swift/Variant_Bool_NitroPurchaseResult.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NitroReceiptValidationResultIOS_NitroReceiptValidationResultAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_AdvancedCommerceInfoIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_AdvancedCommerceItemDetailsIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DeveloperBillingOptionParamsAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_InitConnectionConfig.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesAndroidOptions.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroAvailablePurchasesIosOptions.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountAmountAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroDiscountDisplayInfoAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionAndroidParams.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroFinishTransactionIosParams.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroInAppMessageParamsAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroLimitedQuantityInfoAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroPreorderDetailsAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroProduct.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroPurchase.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationAppleOptions.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationGoogleOptions.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroReceiptValidationHorizonOptions.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroRenewalInfoIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroRentalDetailsAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroRequestPurchaseIos.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroValidTimeWindowAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitAmazonProps.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitAppleProps.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitGoogleProps.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitProps.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroVerifyPurchaseWithIapkitResult.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_PendingPurchaseUpdateAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_PromotionalOfferJwsInputIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_PurchaseOfferIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_RenewalCommitmentInfoIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_RenewalInfoIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_SubscriptionProductReplacementParamsAndroid.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_TransactionCommitmentInfoIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_WinBackOfferInputIOS.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__AdvancedCommerceRefundIOS_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__AndroidSubscriptionOfferInput_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__DeveloperProvidedBillingProductAndroid_.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__InAppMessageCategoryAndroid_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__NitroOneTimePurchaseOfferDetail_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__NitroSubscriptionStatus_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__NitroVerifyPurchaseWithProviderError_.swift +12 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__String_.swift +12 -0
- package/nitrogen/generated/shared/c++/AdvancedCommerceInfoIOS.hpp +1 -1
- package/nitrogen/generated/shared/c++/AdvancedCommerceItemIOS.hpp +1 -1
- package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroInAppMessageParamsAndroid.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroProduct.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroPurchase.hpp +40 -3
- package/nitrogen/generated/shared/c++/NitroPurchaseRequest.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroPurchaseResult.hpp +27 -4
- package/nitrogen/generated/shared/c++/NitroReceiptValidationResultIOS.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroRenewalInfoIOS.hpp +15 -2
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +1 -1
- package/nitrogen/generated/shared/c++/NitroSubscriptionStatus.hpp +8 -8
- package/nitrogen/generated/shared/c++/NitroVerifyPurchaseWithProviderResult.hpp +1 -1
- package/nitrogen/generated/shared/c++/PendingPurchaseUpdateAndroid.hpp +1 -1
- package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +1 -1
- package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +1 -1
- package/nitrogen/generated/shared/c++/UserChoiceBillingDetails.hpp +16 -3
- package/openiap-versions.json +3 -3
- package/package.json +8 -5
- package/src/hooks/useIAP.ts +7 -4
- package/src/index.ts +59 -39
- package/src/specs/RnIap.nitro.ts +25 -19
- package/src/types.ts +58 -26
- package/src/utils/error.ts +11 -8
- package/src/utils/errorMapping.ts +9 -1
- package/src/utils/type-bridge.ts +37 -40
- package/src/vega-adapter.ts +66 -4
- package/nitrogen/generated/android/c++/JNitroSubscriptionRenewalInfo.hpp +0 -83
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.cpp +0 -26
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroSubscriptionRenewalInfo.hpp +0 -75
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroSubscriptionRenewalInfo.kt +0 -53
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroSubscriptionRenewalInfo.kt +0 -53
- package/nitrogen/generated/ios/swift/NitroSubscriptionRenewalInfo.swift +0 -182
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroSubscriptionRenewalInfo.swift +0 -18
- package/nitrogen/generated/shared/c++/NitroSubscriptionRenewalInfo.hpp +0 -106
|
@@ -68,7 +68,7 @@ namespace margelo::nitro::iap {
|
|
|
68
68
|
explicit NitroRequestPurchaseAndroid(std::vector<std::string> skus, std::optional<std::variant<nitro::NullType, std::string>> obfuscatedAccountId, std::optional<std::variant<nitro::NullType, std::string>> obfuscatedProfileId, std::optional<std::variant<nitro::NullType, bool>> isOfferPersonalized, std::optional<std::variant<nitro::NullType, std::string>> offerToken, std::optional<std::variant<nitro::NullType, std::vector<AndroidSubscriptionOfferInput>>> subscriptionOffers, std::optional<std::variant<nitro::NullType, double>> replacementMode, std::optional<std::variant<nitro::NullType, std::string>> purchaseToken, std::optional<std::variant<nitro::NullType, std::string>> originalExternalTransactionId, std::optional<std::variant<nitro::NullType, DeveloperBillingOptionParamsAndroid>> developerBillingOption, std::optional<std::variant<nitro::NullType, SubscriptionProductReplacementParamsAndroid>> subscriptionProductReplacementParams): skus(skus), obfuscatedAccountId(obfuscatedAccountId), obfuscatedProfileId(obfuscatedProfileId), isOfferPersonalized(isOfferPersonalized), offerToken(offerToken), subscriptionOffers(subscriptionOffers), replacementMode(replacementMode), purchaseToken(purchaseToken), originalExternalTransactionId(originalExternalTransactionId), developerBillingOption(developerBillingOption), subscriptionProductReplacementParams(subscriptionProductReplacementParams) {}
|
|
69
69
|
|
|
70
70
|
public:
|
|
71
|
-
|
|
71
|
+
// NitroRequestPurchaseAndroid is not equatable because these properties are not equatable: skus, subscriptionOffers
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
} // namespace margelo::nitro::iap
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
|
-
// Forward declaration of `
|
|
32
|
-
namespace margelo::nitro::iap { struct
|
|
31
|
+
// Forward declaration of `NitroRenewalInfoIOS` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::iap { struct NitroRenewalInfoIOS; }
|
|
33
33
|
|
|
34
34
|
#include <string>
|
|
35
35
|
#include <NitroModules/Null.hpp>
|
|
36
|
-
#include "
|
|
36
|
+
#include "NitroRenewalInfoIOS.hpp"
|
|
37
37
|
#include <variant>
|
|
38
38
|
#include <optional>
|
|
39
39
|
|
|
@@ -46,11 +46,11 @@ namespace margelo::nitro::iap {
|
|
|
46
46
|
public:
|
|
47
47
|
double state SWIFT_PRIVATE;
|
|
48
48
|
std::string platform SWIFT_PRIVATE;
|
|
49
|
-
std::optional<std::variant<nitro::NullType,
|
|
49
|
+
std::optional<std::variant<nitro::NullType, NitroRenewalInfoIOS>> renewalInfo SWIFT_PRIVATE;
|
|
50
50
|
|
|
51
51
|
public:
|
|
52
52
|
NitroSubscriptionStatus() = default;
|
|
53
|
-
explicit NitroSubscriptionStatus(double state, std::string platform, std::optional<std::variant<nitro::NullType,
|
|
53
|
+
explicit NitroSubscriptionStatus(double state, std::string platform, std::optional<std::variant<nitro::NullType, NitroRenewalInfoIOS>> renewalInfo): state(state), platform(platform), renewalInfo(renewalInfo) {}
|
|
54
54
|
|
|
55
55
|
public:
|
|
56
56
|
friend bool operator==(const NitroSubscriptionStatus& lhs, const NitroSubscriptionStatus& rhs) = default;
|
|
@@ -68,14 +68,14 @@ namespace margelo::nitro {
|
|
|
68
68
|
return margelo::nitro::iap::NitroSubscriptionStatus(
|
|
69
69
|
JSIConverter<double>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state"))),
|
|
70
70
|
JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "platform"))),
|
|
71
|
-
JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::
|
|
71
|
+
JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::NitroRenewalInfoIOS>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "renewalInfo")))
|
|
72
72
|
);
|
|
73
73
|
}
|
|
74
74
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::NitroSubscriptionStatus& arg) {
|
|
75
75
|
jsi::Object obj(runtime);
|
|
76
76
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "state"), JSIConverter<double>::toJSI(runtime, arg.state));
|
|
77
77
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "platform"), JSIConverter<std::string>::toJSI(runtime, arg.platform));
|
|
78
|
-
obj.setProperty(runtime, PropNameIDCache::get(runtime, "renewalInfo"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::
|
|
78
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "renewalInfo"), JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::NitroRenewalInfoIOS>>>::toJSI(runtime, arg.renewalInfo));
|
|
79
79
|
return obj;
|
|
80
80
|
}
|
|
81
81
|
static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
|
|
@@ -88,7 +88,7 @@ namespace margelo::nitro {
|
|
|
88
88
|
}
|
|
89
89
|
if (!JSIConverter<double>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "state")))) return false;
|
|
90
90
|
if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "platform")))) return false;
|
|
91
|
-
if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::
|
|
91
|
+
if (!JSIConverter<std::optional<std::variant<nitro::NullType, margelo::nitro::iap::NitroRenewalInfoIOS>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "renewalInfo")))) return false;
|
|
92
92
|
return true;
|
|
93
93
|
}
|
|
94
94
|
};
|
|
@@ -59,7 +59,7 @@ namespace margelo::nitro::iap {
|
|
|
59
59
|
explicit NitroVerifyPurchaseWithProviderResult(std::optional<std::variant<nitro::NullType, NitroVerifyPurchaseWithIapkitResult>> iapkit, std::optional<std::variant<nitro::NullType, std::vector<NitroVerifyPurchaseWithProviderError>>> errors, PurchaseVerificationProvider provider): iapkit(iapkit), errors(errors), provider(provider) {}
|
|
60
60
|
|
|
61
61
|
public:
|
|
62
|
-
|
|
62
|
+
// NitroVerifyPurchaseWithProviderResult is not equatable because these properties are not equatable: errors
|
|
63
63
|
};
|
|
64
64
|
|
|
65
65
|
} // namespace margelo::nitro::iap
|
|
@@ -48,7 +48,7 @@ namespace margelo::nitro::iap {
|
|
|
48
48
|
explicit PendingPurchaseUpdateAndroid(std::vector<std::string> products, std::string purchaseToken): products(products), purchaseToken(purchaseToken) {}
|
|
49
49
|
|
|
50
50
|
public:
|
|
51
|
-
|
|
51
|
+
// PendingPurchaseUpdateAndroid is not equatable because these properties are not equatable: products
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
} // namespace margelo::nitro::iap
|
|
@@ -82,7 +82,7 @@ namespace margelo::nitro::iap {
|
|
|
82
82
|
explicit PurchaseAndroid(std::optional<std::variant<nitro::NullType, bool>> autoRenewingAndroid, std::optional<std::variant<nitro::NullType, std::string>> currentPlanId, std::optional<std::variant<nitro::NullType, std::string>> dataAndroid, std::optional<std::variant<nitro::NullType, std::string>> developerPayloadAndroid, std::string id, std::optional<std::variant<nitro::NullType, std::vector<std::string>>> ids, std::optional<std::variant<nitro::NullType, bool>> isAcknowledgedAndroid, bool isAutoRenewing, std::optional<std::variant<nitro::NullType, bool>> isSuspendedAndroid, std::optional<std::variant<nitro::NullType, std::string>> obfuscatedAccountIdAndroid, std::optional<std::variant<nitro::NullType, std::string>> obfuscatedProfileIdAndroid, std::optional<std::variant<nitro::NullType, std::string>> packageNameAndroid, std::optional<std::variant<nitro::NullType, PendingPurchaseUpdateAndroid>> pendingPurchaseUpdateAndroid, IapPlatform platform, std::string productId, PurchaseState purchaseState, std::optional<std::variant<nitro::NullType, std::string>> purchaseToken, double quantity, std::optional<std::variant<nitro::NullType, std::string>> signatureAndroid, IapStore store, double transactionDate, std::optional<std::variant<nitro::NullType, std::string>> transactionId): autoRenewingAndroid(autoRenewingAndroid), currentPlanId(currentPlanId), dataAndroid(dataAndroid), developerPayloadAndroid(developerPayloadAndroid), id(id), ids(ids), isAcknowledgedAndroid(isAcknowledgedAndroid), isAutoRenewing(isAutoRenewing), isSuspendedAndroid(isSuspendedAndroid), obfuscatedAccountIdAndroid(obfuscatedAccountIdAndroid), obfuscatedProfileIdAndroid(obfuscatedProfileIdAndroid), packageNameAndroid(packageNameAndroid), pendingPurchaseUpdateAndroid(pendingPurchaseUpdateAndroid), platform(platform), productId(productId), purchaseState(purchaseState), purchaseToken(purchaseToken), quantity(quantity), signatureAndroid(signatureAndroid), store(store), transactionDate(transactionDate), transactionId(transactionId) {}
|
|
83
83
|
|
|
84
84
|
public:
|
|
85
|
-
|
|
85
|
+
// PurchaseAndroid is not equatable because these properties are not equatable: ids, pendingPurchaseUpdateAndroid
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
} // namespace margelo::nitro::iap
|
|
@@ -109,7 +109,7 @@ namespace margelo::nitro::iap {
|
|
|
109
109
|
explicit PurchaseIOS(std::optional<std::variant<nitro::NullType, AdvancedCommerceInfoIOS>> advancedCommerceInfoIOS, std::optional<std::variant<nitro::NullType, std::string>> appAccountToken, std::optional<std::variant<nitro::NullType, std::string>> appBundleIdIOS, std::optional<SubscriptionBillingPlanTypeIOS> billingPlanTypeIOS, std::optional<std::variant<nitro::NullType, TransactionCommitmentInfoIOS>> commitmentInfoIOS, std::optional<std::variant<nitro::NullType, std::string>> countryCodeIOS, std::optional<std::variant<nitro::NullType, std::string>> currencyCodeIOS, std::optional<std::variant<nitro::NullType, std::string>> currencySymbolIOS, std::optional<std::variant<nitro::NullType, std::string>> currentPlanId, std::optional<std::variant<nitro::NullType, std::string>> environmentIOS, std::optional<std::variant<nitro::NullType, double>> expirationDateIOS, std::string id, std::optional<std::variant<nitro::NullType, std::vector<std::string>>> ids, bool isAutoRenewing, std::optional<std::variant<nitro::NullType, bool>> isUpgradedIOS, std::optional<std::variant<nitro::NullType, PurchaseOfferIOS>> offerIOS, std::optional<std::variant<nitro::NullType, double>> originalTransactionDateIOS, std::optional<std::variant<nitro::NullType, std::string>> originalTransactionIdentifierIOS, std::optional<std::variant<nitro::NullType, std::string>> ownershipTypeIOS, IapPlatform platform, std::string productId, PurchaseState purchaseState, std::optional<std::variant<nitro::NullType, std::string>> purchaseToken, double quantity, std::optional<std::variant<nitro::NullType, double>> quantityIOS, std::optional<std::variant<nitro::NullType, std::string>> reasonIOS, std::optional<std::variant<nitro::NullType, std::string>> reasonStringRepresentationIOS, std::optional<std::variant<nitro::NullType, RenewalInfoIOS>> renewalInfoIOS, std::optional<std::variant<nitro::NullType, double>> revocationDateIOS, std::optional<std::variant<nitro::NullType, std::string>> revocationReasonIOS, IapStore store, std::optional<std::variant<nitro::NullType, std::string>> storefrontCountryCodeIOS, std::optional<std::variant<nitro::NullType, std::string>> subscriptionGroupIdIOS, double transactionDate, std::string transactionId, std::optional<std::variant<nitro::NullType, std::string>> transactionReasonIOS, std::optional<std::variant<nitro::NullType, std::string>> webOrderLineItemIdIOS): advancedCommerceInfoIOS(advancedCommerceInfoIOS), appAccountToken(appAccountToken), appBundleIdIOS(appBundleIdIOS), billingPlanTypeIOS(billingPlanTypeIOS), commitmentInfoIOS(commitmentInfoIOS), countryCodeIOS(countryCodeIOS), currencyCodeIOS(currencyCodeIOS), currencySymbolIOS(currencySymbolIOS), currentPlanId(currentPlanId), environmentIOS(environmentIOS), expirationDateIOS(expirationDateIOS), id(id), ids(ids), isAutoRenewing(isAutoRenewing), isUpgradedIOS(isUpgradedIOS), offerIOS(offerIOS), originalTransactionDateIOS(originalTransactionDateIOS), originalTransactionIdentifierIOS(originalTransactionIdentifierIOS), ownershipTypeIOS(ownershipTypeIOS), platform(platform), productId(productId), purchaseState(purchaseState), purchaseToken(purchaseToken), quantity(quantity), quantityIOS(quantityIOS), reasonIOS(reasonIOS), reasonStringRepresentationIOS(reasonStringRepresentationIOS), renewalInfoIOS(renewalInfoIOS), revocationDateIOS(revocationDateIOS), revocationReasonIOS(revocationReasonIOS), store(store), storefrontCountryCodeIOS(storefrontCountryCodeIOS), subscriptionGroupIdIOS(subscriptionGroupIdIOS), transactionDate(transactionDate), transactionId(transactionId), transactionReasonIOS(transactionReasonIOS), webOrderLineItemIdIOS(webOrderLineItemIdIOS) {}
|
|
110
110
|
|
|
111
111
|
public:
|
|
112
|
-
|
|
112
|
+
// PurchaseIOS is not equatable because these properties are not equatable: advancedCommerceInfoIOS, ids
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
} // namespace margelo::nitro::iap
|
|
@@ -28,9 +28,14 @@
|
|
|
28
28
|
#error NitroModules cannot be found! Are you sure you installed NitroModules properly?
|
|
29
29
|
#endif
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
// Forward declaration of `DeveloperProvidedBillingProductAndroid` to properly resolve imports.
|
|
32
|
+
namespace margelo::nitro::iap { struct DeveloperProvidedBillingProductAndroid; }
|
|
32
33
|
|
|
33
34
|
#include <string>
|
|
35
|
+
#include <NitroModules/Null.hpp>
|
|
36
|
+
#include <variant>
|
|
37
|
+
#include <optional>
|
|
38
|
+
#include "DeveloperProvidedBillingProductAndroid.hpp"
|
|
34
39
|
#include <vector>
|
|
35
40
|
|
|
36
41
|
namespace margelo::nitro::iap {
|
|
@@ -41,14 +46,16 @@ namespace margelo::nitro::iap {
|
|
|
41
46
|
struct UserChoiceBillingDetails final {
|
|
42
47
|
public:
|
|
43
48
|
std::string externalTransactionToken SWIFT_PRIVATE;
|
|
49
|
+
std::optional<std::variant<nitro::NullType, std::string>> originalExternalTransactionId SWIFT_PRIVATE;
|
|
50
|
+
std::optional<std::variant<nitro::NullType, std::vector<DeveloperProvidedBillingProductAndroid>>> productDetailsAndroid SWIFT_PRIVATE;
|
|
44
51
|
std::vector<std::string> products SWIFT_PRIVATE;
|
|
45
52
|
|
|
46
53
|
public:
|
|
47
54
|
UserChoiceBillingDetails() = default;
|
|
48
|
-
explicit UserChoiceBillingDetails(std::string externalTransactionToken, std::vector<std::string> products): externalTransactionToken(externalTransactionToken), products(products) {}
|
|
55
|
+
explicit UserChoiceBillingDetails(std::string externalTransactionToken, std::optional<std::variant<nitro::NullType, std::string>> originalExternalTransactionId, std::optional<std::variant<nitro::NullType, std::vector<DeveloperProvidedBillingProductAndroid>>> productDetailsAndroid, std::vector<std::string> products): externalTransactionToken(externalTransactionToken), originalExternalTransactionId(originalExternalTransactionId), productDetailsAndroid(productDetailsAndroid), products(products) {}
|
|
49
56
|
|
|
50
57
|
public:
|
|
51
|
-
|
|
58
|
+
// UserChoiceBillingDetails is not equatable because these properties are not equatable: productDetailsAndroid, products
|
|
52
59
|
};
|
|
53
60
|
|
|
54
61
|
} // namespace margelo::nitro::iap
|
|
@@ -62,12 +69,16 @@ namespace margelo::nitro {
|
|
|
62
69
|
jsi::Object obj = arg.asObject(runtime);
|
|
63
70
|
return margelo::nitro::iap::UserChoiceBillingDetails(
|
|
64
71
|
JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"))),
|
|
72
|
+
JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId"))),
|
|
73
|
+
JSIConverter<std::optional<std::variant<nitro::NullType, std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "productDetailsAndroid"))),
|
|
65
74
|
JSIConverter<std::vector<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "products")))
|
|
66
75
|
);
|
|
67
76
|
}
|
|
68
77
|
static inline jsi::Value toJSI(jsi::Runtime& runtime, const margelo::nitro::iap::UserChoiceBillingDetails& arg) {
|
|
69
78
|
jsi::Object obj(runtime);
|
|
70
79
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken"), JSIConverter<std::string>::toJSI(runtime, arg.externalTransactionToken));
|
|
80
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId"), JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::toJSI(runtime, arg.originalExternalTransactionId));
|
|
81
|
+
obj.setProperty(runtime, PropNameIDCache::get(runtime, "productDetailsAndroid"), JSIConverter<std::optional<std::variant<nitro::NullType, std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>>>::toJSI(runtime, arg.productDetailsAndroid));
|
|
71
82
|
obj.setProperty(runtime, PropNameIDCache::get(runtime, "products"), JSIConverter<std::vector<std::string>>::toJSI(runtime, arg.products));
|
|
72
83
|
return obj;
|
|
73
84
|
}
|
|
@@ -80,6 +91,8 @@ namespace margelo::nitro {
|
|
|
80
91
|
return false;
|
|
81
92
|
}
|
|
82
93
|
if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "externalTransactionToken")))) return false;
|
|
94
|
+
if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "originalExternalTransactionId")))) return false;
|
|
95
|
+
if (!JSIConverter<std::optional<std::variant<nitro::NullType, std::vector<margelo::nitro::iap::DeveloperProvidedBillingProductAndroid>>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "productDetailsAndroid")))) return false;
|
|
83
96
|
if (!JSIConverter<std::vector<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "products")))) return false;
|
|
84
97
|
return true;
|
|
85
98
|
}
|
package/openiap-versions.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-iap",
|
|
3
|
-
"version": "15.4.
|
|
3
|
+
"version": "15.4.1",
|
|
4
4
|
"description": "React Native In-App Purchases module for iOS and Android using Nitro",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -105,12 +105,12 @@
|
|
|
105
105
|
"husky": "^8.0.3",
|
|
106
106
|
"jest": "^30.1.1",
|
|
107
107
|
"lint-staged": "^15.2.0",
|
|
108
|
-
"nitrogen": "^0.35.
|
|
108
|
+
"nitrogen": "^0.35.10",
|
|
109
109
|
"prettier": "^3.3.3",
|
|
110
110
|
"react": "19.1.0",
|
|
111
111
|
"react-native": "0.81.1",
|
|
112
112
|
"react-native-builder-bob": "^0.38.4",
|
|
113
|
-
"react-native-nitro-modules": "^0.35.
|
|
113
|
+
"react-native-nitro-modules": "^0.35.10",
|
|
114
114
|
"react-test-renderer": "^19.1.1",
|
|
115
115
|
"typescript": "^5.9.2"
|
|
116
116
|
},
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"@amazon-devices/package-manager-lib": "~1.0.1767254401",
|
|
120
120
|
"react": "*",
|
|
121
121
|
"react-native": "*",
|
|
122
|
-
"react-native-nitro-modules": "^0.35.
|
|
122
|
+
"react-native-nitro-modules": "^0.35.10"
|
|
123
123
|
},
|
|
124
124
|
"peerDependenciesMeta": {
|
|
125
125
|
"@amazon-devices/keplerscript-appstore-iap-lib": {
|
|
@@ -174,5 +174,8 @@
|
|
|
174
174
|
"prettier --write"
|
|
175
175
|
]
|
|
176
176
|
},
|
|
177
|
-
"packageManager": "yarn@3.6.1"
|
|
177
|
+
"packageManager": "yarn@3.6.1",
|
|
178
|
+
"resolutions": {
|
|
179
|
+
"nitrogen@^0.35.10": "patch:nitrogen@npm%3A0.35.10#./.yarn/patches/nitrogen-npm-0.35.10-ac6318648e.patch"
|
|
180
|
+
}
|
|
178
181
|
}
|
package/src/hooks/useIAP.ts
CHANGED
|
@@ -311,9 +311,9 @@ export interface UseIapOptions {
|
|
|
311
311
|
details: DeveloperProvidedBillingDetailsAndroid,
|
|
312
312
|
) => void;
|
|
313
313
|
/**
|
|
314
|
-
* Fires when
|
|
315
|
-
* (StoreKit 2 Message.billingIssue on iOS
|
|
316
|
-
* Play Billing 8.1+). Not invoked on Meta Horizon.
|
|
314
|
+
* Fires when a subscription enters a billing-issue state
|
|
315
|
+
* (StoreKit 2 Message.billingIssue on iOS / Mac Catalyst 16.4+ and visionOS 1.0+, Purchase.isSuspended on
|
|
316
|
+
* Play Billing 8.1+). Not invoked on Meta Horizon or Amazon Appstore.
|
|
317
317
|
*
|
|
318
318
|
* Recommended: call deepLinkToSubscriptions on the returned purchase so
|
|
319
319
|
* the user can update their payment method in the platform subscription
|
|
@@ -435,7 +435,10 @@ export function useIAP(options?: UseIapOptions): UseIap {
|
|
|
435
435
|
skus: params.skus,
|
|
436
436
|
type: requestType,
|
|
437
437
|
});
|
|
438
|
-
RnIapConsole.debug(
|
|
438
|
+
RnIapConsole.debug(
|
|
439
|
+
'[useIAP] fetchProducts count:',
|
|
440
|
+
result?.length ?? 0,
|
|
441
|
+
);
|
|
439
442
|
const items = (result ?? []) as (Product | ProductSubscription)[];
|
|
440
443
|
|
|
441
444
|
// fetchProducts already returns properly filtered results based on type
|
package/src/index.ts
CHANGED
|
@@ -314,13 +314,23 @@ const purchaseUpdateDuplicateNativeHandler: NitroPurchaseListener = (
|
|
|
314
314
|
const purchaseErrorJsListeners = new Set<(error: PurchaseError) => void>();
|
|
315
315
|
let purchaseErrorNativeAttached = false;
|
|
316
316
|
const purchaseErrorNativeHandler: NitroPurchaseErrorListener = (error) => {
|
|
317
|
+
const normalizedCode =
|
|
318
|
+
error.code === DUPLICATE_PURCHASE_CODE
|
|
319
|
+
? ErrorCode.DuplicatePurchase
|
|
320
|
+
: normalizeErrorCodeFromNative(error.code);
|
|
317
321
|
const normalized: PurchaseError = {
|
|
318
|
-
code:
|
|
319
|
-
error.code === DUPLICATE_PURCHASE_CODE
|
|
320
|
-
? ErrorCode.DuplicatePurchase
|
|
321
|
-
: normalizeErrorCodeFromNative(error.code),
|
|
322
|
+
code: normalizedCode,
|
|
322
323
|
message: error.message,
|
|
323
|
-
|
|
324
|
+
responseCode:
|
|
325
|
+
normalizedCode === ErrorCode.QueryProduct
|
|
326
|
+
? error.responseCode
|
|
327
|
+
: undefined,
|
|
328
|
+
debugMessage: error.debugMessage,
|
|
329
|
+
productId: error.productId,
|
|
330
|
+
productIds: error.productIds,
|
|
331
|
+
productType: error.productType,
|
|
332
|
+
isEmptyProductList: error.isEmptyProductList,
|
|
333
|
+
subResponseCodeAndroid: error.subResponseCodeAndroid,
|
|
324
334
|
};
|
|
325
335
|
for (const listener of purchaseErrorJsListeners) {
|
|
326
336
|
try {
|
|
@@ -712,8 +722,8 @@ export const developerProvidedBillingListenerAndroid = (
|
|
|
712
722
|
/**
|
|
713
723
|
* Listen for subscription billing-issue events (cross-platform).
|
|
714
724
|
*
|
|
715
|
-
* Fires when
|
|
716
|
-
* - iOS
|
|
725
|
+
* Fires when a subscription enters a billing-issue state:
|
|
726
|
+
* - iOS / Mac Catalyst 16.4+ and visionOS 1.0+: via StoreKit 2 `Message.Reason.billingIssue`.
|
|
717
727
|
* - Android (Play Billing 8.1+): when `isSuspendedAndroid === true` is observed.
|
|
718
728
|
* - Horizon / iOS 17 / older platforms: never fires.
|
|
719
729
|
*
|
|
@@ -854,7 +864,8 @@ export const fetchProducts: QueryField<'fetchProducts'> = async (request) => {
|
|
|
854
864
|
|
|
855
865
|
if (normalizedType === 'all') {
|
|
856
866
|
const converted = (await fetchAndConvert('all')) as (
|
|
857
|
-
|
|
867
|
+
| Product
|
|
868
|
+
| ProductSubscription
|
|
858
869
|
)[];
|
|
859
870
|
|
|
860
871
|
RnIapConsole.debug(
|
|
@@ -1108,6 +1119,12 @@ export const getStorefrontIOS: QueryField<'getStorefrontIOS'> = async () => {
|
|
|
1108
1119
|
|
|
1109
1120
|
try {
|
|
1110
1121
|
const storefront = await IAP.instance.getStorefrontIOS();
|
|
1122
|
+
if (typeof storefront !== 'string' || storefront.trim().length === 0) {
|
|
1123
|
+
throw createPurchaseError({
|
|
1124
|
+
code: ErrorCode.ServiceError,
|
|
1125
|
+
message: 'Storefront lookup returned no country code.',
|
|
1126
|
+
});
|
|
1127
|
+
}
|
|
1111
1128
|
return storefront;
|
|
1112
1129
|
} catch (error) {
|
|
1113
1130
|
RnIapConsole.error('Failed to get storefront:', error);
|
|
@@ -1122,35 +1139,50 @@ export const getStorefrontIOS: QueryField<'getStorefrontIOS'> = async () => {
|
|
|
1122
1139
|
*/
|
|
1123
1140
|
export const getStorefront: QueryField<'getStorefront'> = async () => {
|
|
1124
1141
|
if (Platform.OS !== 'ios' && !isAndroidStoreRuntime()) {
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1142
|
+
throw createPurchaseError({
|
|
1143
|
+
code: ErrorCode.FeatureNotSupported,
|
|
1144
|
+
message: `Storefront lookup is not supported on ${Platform.OS}.`,
|
|
1145
|
+
});
|
|
1129
1146
|
}
|
|
1130
1147
|
|
|
1131
1148
|
const hasUnifiedMethod = typeof IAP.instance.getStorefront === 'function';
|
|
1132
1149
|
|
|
1133
|
-
if (!hasUnifiedMethod && Platform.OS
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
'[getStorefront] Native getStorefront is not available on this build.',
|
|
1140
|
-
);
|
|
1141
|
-
return '';
|
|
1150
|
+
if (!hasUnifiedMethod && Platform.OS !== 'ios') {
|
|
1151
|
+
throw createPurchaseError({
|
|
1152
|
+
code: ErrorCode.FeatureNotSupported,
|
|
1153
|
+
message: 'Native getStorefront is not available on this build.',
|
|
1154
|
+
platform: 'android',
|
|
1155
|
+
});
|
|
1142
1156
|
}
|
|
1143
1157
|
|
|
1158
|
+
let storefront: string | null | undefined;
|
|
1144
1159
|
try {
|
|
1145
|
-
|
|
1146
|
-
|
|
1160
|
+
storefront = hasUnifiedMethod
|
|
1161
|
+
? await IAP.instance.getStorefront()
|
|
1162
|
+
: await getStorefrontIOS();
|
|
1147
1163
|
} catch (error) {
|
|
1148
|
-
|
|
1164
|
+
const parsedError = parseErrorAndLogIfNeeded(
|
|
1149
1165
|
`[getStorefront] Failed to get storefront on ${Platform.OS}:`,
|
|
1150
1166
|
error,
|
|
1151
1167
|
);
|
|
1152
|
-
throw
|
|
1168
|
+
throw createPurchaseError({
|
|
1169
|
+
code: parsedError.code,
|
|
1170
|
+
message: parsedError.message,
|
|
1171
|
+
responseCode: parsedError.responseCode,
|
|
1172
|
+
debugMessage: parsedError.debugMessage,
|
|
1173
|
+
platform: Platform.OS === 'ios' ? 'ios' : 'android',
|
|
1174
|
+
});
|
|
1153
1175
|
}
|
|
1176
|
+
|
|
1177
|
+
if (typeof storefront !== 'string' || storefront.trim().length === 0) {
|
|
1178
|
+
throw createPurchaseError({
|
|
1179
|
+
code: ErrorCode.ServiceError,
|
|
1180
|
+
message: 'Storefront lookup returned no country code.',
|
|
1181
|
+
platform: Platform.OS === 'ios' ? 'ios' : 'android',
|
|
1182
|
+
});
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
return storefront;
|
|
1154
1186
|
};
|
|
1155
1187
|
|
|
1156
1188
|
/**
|
|
@@ -1851,7 +1883,7 @@ export const requestPurchase: MutationField<'requestPurchase'> = async (
|
|
|
1851
1883
|
androidRequest.developerBillingOption;
|
|
1852
1884
|
}
|
|
1853
1885
|
|
|
1854
|
-
// One-time purchase offerToken (Android
|
|
1886
|
+
// One-time purchase offerToken (Android 8.0+)
|
|
1855
1887
|
if (!isSubs) {
|
|
1856
1888
|
const purchaseRequest = androidRequest as RequestPurchaseAndroidProps;
|
|
1857
1889
|
if (purchaseRequest.offerToken) {
|
|
@@ -2415,19 +2447,7 @@ export const requestPurchaseOnPromotedProductIOS: MutationField<
|
|
|
2415
2447
|
}
|
|
2416
2448
|
|
|
2417
2449
|
try {
|
|
2418
|
-
await IAP.instance.buyPromotedProductIOS();
|
|
2419
|
-
const pending = await IAP.instance.getPendingTransactionsIOS();
|
|
2420
|
-
const latest = pending.find((purchase) => purchase != null);
|
|
2421
|
-
if (!latest) {
|
|
2422
|
-
throw new Error('No promoted purchase available after request');
|
|
2423
|
-
}
|
|
2424
|
-
|
|
2425
|
-
const converted = convertNitroPurchaseToPurchase(latest);
|
|
2426
|
-
if (converted.platform !== 'ios') {
|
|
2427
|
-
throw new Error('Promoted purchase result not available for iOS');
|
|
2428
|
-
}
|
|
2429
|
-
|
|
2430
|
-
return true;
|
|
2450
|
+
return await IAP.instance.buyPromotedProductIOS();
|
|
2431
2451
|
} catch (error) {
|
|
2432
2452
|
const parsedError = parseErrorAndLogIfNeeded(
|
|
2433
2453
|
'[requestPurchaseOnPromotedProductIOS] Failed:',
|
package/src/specs/RnIap.nitro.ts
CHANGED
|
@@ -25,6 +25,7 @@ import type {HybridObject} from 'react-native-nitro-modules';
|
|
|
25
25
|
// removing the types entirely.
|
|
26
26
|
import type {
|
|
27
27
|
ActiveSubscription,
|
|
28
|
+
AdvancedCommerceInfoIOS,
|
|
28
29
|
AndroidSubscriptionOfferInput,
|
|
29
30
|
DeepLinkOptions,
|
|
30
31
|
InitConnectionConfig,
|
|
@@ -53,8 +54,12 @@ import type {
|
|
|
53
54
|
RequestSubscriptionIosProps,
|
|
54
55
|
UserChoiceBillingDetails,
|
|
55
56
|
PaymentModeIOS,
|
|
57
|
+
PendingPurchaseUpdateAndroid,
|
|
58
|
+
RenewalCommitmentInfoIOS,
|
|
59
|
+
SubscriptionBillingPlanTypeIOS,
|
|
56
60
|
SubscriptionProductReplacementParamsAndroid,
|
|
57
61
|
SubResponseCodeAndroid,
|
|
62
|
+
TransactionCommitmentInfoIOS,
|
|
58
63
|
WinBackOfferInputIOS,
|
|
59
64
|
} from '../types';
|
|
60
65
|
|
|
@@ -236,7 +241,7 @@ export interface NitroRequestPurchaseAndroid {
|
|
|
236
241
|
obfuscatedProfileId?: RequestSubscriptionAndroidProps['obfuscatedProfileId'];
|
|
237
242
|
isOfferPersonalized?: RequestSubscriptionAndroidProps['isOfferPersonalized'];
|
|
238
243
|
/**
|
|
239
|
-
* Offer token for one-time purchase discounts (
|
|
244
|
+
* Offer token for one-time purchase discounts (8.0+).
|
|
240
245
|
* Pass the offerToken from oneTimePurchaseOfferDetailsAndroid or discountOffers
|
|
241
246
|
* to apply a discount offer to the purchase.
|
|
242
247
|
*/
|
|
@@ -360,25 +365,13 @@ export interface NitroInAppMessageParamsAndroid {
|
|
|
360
365
|
// ║ TYPES ║
|
|
361
366
|
// ╚══════════════════════════════════════════════════════════════════════════╝
|
|
362
367
|
|
|
363
|
-
/**
|
|
364
|
-
* Subscription renewal information (iOS only)
|
|
365
|
-
*/
|
|
366
|
-
export interface NitroSubscriptionRenewalInfo {
|
|
367
|
-
autoRenewStatus: boolean;
|
|
368
|
-
autoRenewPreference?: string | null;
|
|
369
|
-
expirationReason?: number | null;
|
|
370
|
-
gracePeriodExpirationDate?: number | null;
|
|
371
|
-
currentProductID?: string | null;
|
|
372
|
-
platform: string;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
368
|
/**
|
|
376
369
|
* Subscription status information (iOS only)
|
|
377
370
|
*/
|
|
378
371
|
export interface NitroSubscriptionStatus {
|
|
379
372
|
state: number;
|
|
380
373
|
platform: string;
|
|
381
|
-
renewalInfo?:
|
|
374
|
+
renewalInfo?: NitroRenewalInfoIOS | null;
|
|
382
375
|
}
|
|
383
376
|
|
|
384
377
|
/**
|
|
@@ -390,6 +383,11 @@ export interface NitroPurchaseResult {
|
|
|
390
383
|
code: string;
|
|
391
384
|
message: string;
|
|
392
385
|
purchaseToken?: string;
|
|
386
|
+
productId?: string;
|
|
387
|
+
productIds?: string[];
|
|
388
|
+
productType?: string;
|
|
389
|
+
isEmptyProductList?: boolean;
|
|
390
|
+
subResponseCodeAndroid?: SubResponseCodeAndroid;
|
|
393
391
|
}
|
|
394
392
|
|
|
395
393
|
export interface NitroBillingResultAndroid {
|
|
@@ -560,7 +558,7 @@ export interface NitroValidTimeWindowAndroid {
|
|
|
560
558
|
|
|
561
559
|
/**
|
|
562
560
|
* Android one-time purchase offer details
|
|
563
|
-
* Available in Google Play Billing Library
|
|
561
|
+
* Available in Google Play Billing Library 8.0+
|
|
564
562
|
*/
|
|
565
563
|
export interface NitroOneTimePurchaseOfferDetail {
|
|
566
564
|
discountDisplayInfo?: NitroDiscountDisplayInfoAndroid | null;
|
|
@@ -583,6 +581,8 @@ export interface NitroPurchase {
|
|
|
583
581
|
productId: PurchaseCommon['productId'];
|
|
584
582
|
transactionDate: PurchaseCommon['transactionDate'];
|
|
585
583
|
purchaseToken?: PurchaseCommon['purchaseToken'];
|
|
584
|
+
currentPlanId?: PurchaseCommon['currentPlanId'];
|
|
585
|
+
ids?: PurchaseCommon['ids'];
|
|
586
586
|
/** @deprecated Use store instead */
|
|
587
587
|
platform: IapPlatform;
|
|
588
588
|
/** Store where purchase was made */
|
|
@@ -591,6 +591,9 @@ export interface NitroPurchase {
|
|
|
591
591
|
purchaseState: PurchaseCommon['purchaseState'];
|
|
592
592
|
isAutoRenewing: PurchaseCommon['isAutoRenewing'];
|
|
593
593
|
// iOS specific fields
|
|
594
|
+
advancedCommerceInfoIOS?: AdvancedCommerceInfoIOS | null;
|
|
595
|
+
billingPlanTypeIOS?: SubscriptionBillingPlanTypeIOS | null;
|
|
596
|
+
commitmentInfoIOS?: TransactionCommitmentInfoIOS | null;
|
|
594
597
|
quantityIOS?: number | null;
|
|
595
598
|
originalTransactionDateIOS?: number | null;
|
|
596
599
|
originalTransactionIdentifierIOS?: string | null;
|
|
@@ -625,6 +628,7 @@ export interface NitroPurchase {
|
|
|
625
628
|
obfuscatedProfileIdAndroid?: string | null;
|
|
626
629
|
developerPayloadAndroid?: string | null;
|
|
627
630
|
isSuspendedAndroid?: boolean | null;
|
|
631
|
+
pendingPurchaseUpdateAndroid?: PendingPurchaseUpdateAndroid | null;
|
|
628
632
|
}
|
|
629
633
|
|
|
630
634
|
/**
|
|
@@ -656,12 +660,14 @@ export interface NitroActiveSubscription {
|
|
|
656
660
|
export interface NitroRenewalInfoIOS {
|
|
657
661
|
willAutoRenew: boolean;
|
|
658
662
|
autoRenewPreference?: string | null;
|
|
663
|
+
commitmentInfo?: RenewalCommitmentInfoIOS | null;
|
|
659
664
|
pendingUpgradeProductId?: string | null;
|
|
660
665
|
renewalDate?: number | null;
|
|
661
666
|
expirationReason?: string | null;
|
|
662
667
|
isInBillingRetry?: boolean | null;
|
|
663
668
|
gracePeriodExpirationDate?: number | null;
|
|
664
669
|
priceIncreaseStatus?: string | null;
|
|
670
|
+
renewalBillingPlanType?: SubscriptionBillingPlanTypeIOS | null;
|
|
665
671
|
renewalOfferType?: string | null;
|
|
666
672
|
renewalOfferId?: string | null;
|
|
667
673
|
jsonRepresentation?: string | null;
|
|
@@ -880,10 +886,10 @@ export interface RnIap extends HybridObject<{ios: 'swift'; android: 'kotlin'}> {
|
|
|
880
886
|
|
|
881
887
|
/**
|
|
882
888
|
* Buy the promoted product from the App Store (iOS only)
|
|
883
|
-
* @returns Promise<
|
|
889
|
+
* @returns Promise<boolean> - Whether a promoted product was available and the request was initiated
|
|
884
890
|
* @platform iOS
|
|
885
891
|
*/
|
|
886
|
-
buyPromotedProductIOS(): Promise<
|
|
892
|
+
buyPromotedProductIOS(): Promise<boolean>;
|
|
887
893
|
|
|
888
894
|
/**
|
|
889
895
|
* Present the code redemption sheet for offer codes (iOS only)
|
|
@@ -940,7 +946,7 @@ export interface RnIap extends HybridObject<{ios: 'swift'; android: 'kotlin'}> {
|
|
|
940
946
|
|
|
941
947
|
/**
|
|
942
948
|
* Get the full StoreKit 2 transaction history as PurchaseIOS values.
|
|
943
|
-
* Requires
|
|
949
|
+
* Requires SKIncludeConsumableInAppPurchaseHistory Info.plist key for finished consumables (iOS 18+).
|
|
944
950
|
* @returns Promise<NitroPurchase[]> - Array of all transactions
|
|
945
951
|
* @platform iOS
|
|
946
952
|
*/
|
|
@@ -1188,7 +1194,7 @@ export interface RnIap extends HybridObject<{ios: 'swift'; android: 'kotlin'}> {
|
|
|
1188
1194
|
*
|
|
1189
1195
|
* Fires when a user's active subscription enters a state that needs attention
|
|
1190
1196
|
* (payment method failed, card expired, etc.). Unifies:
|
|
1191
|
-
* - StoreKit 2 `Message.Reason.billingIssue` (iOS
|
|
1197
|
+
* - StoreKit 2 `Message.Reason.billingIssue` (iOS / Mac Catalyst 16.4+, visionOS 1.0+)
|
|
1192
1198
|
* - Google Play Billing `Purchase.isSuspended` (Play Billing 8.1+)
|
|
1193
1199
|
*
|
|
1194
1200
|
* NOT fired on Meta Horizon (Billing 7.0 compat SDK lacks the suspended signal).
|