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
package/src/types.ts
CHANGED
|
@@ -143,7 +143,8 @@ export type BillingChoiceScreenTypeAndroid = 'unspecified' | 'developer-rendered
|
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* Billing program types for Google Play Billing Programs (Android)
|
|
146
|
-
* Available in Google Play Billing Library 8.2.0
|
|
146
|
+
* Available in Google Play Billing Library 8.2.0 (External Offer and External Content Link
|
|
147
|
+
* integrations require 8.2.1+), EXTERNAL_PAYMENTS added in 8.3.0,
|
|
147
148
|
* BILLING_CHOICE added in OpenIAP Spec 2.1.0 / openiap-google 2.3.0
|
|
148
149
|
* (requires Play Billing 9.1.0+).
|
|
149
150
|
*/
|
|
@@ -192,7 +193,8 @@ export interface BillingProgramReportingDetailsAndroid {
|
|
|
192
193
|
billingProgram: BillingProgramAndroid;
|
|
193
194
|
/**
|
|
194
195
|
* External transaction token used to report transactions made outside of Google Play Billing.
|
|
195
|
-
*
|
|
196
|
+
* Do not cache it for a later redirect session. For External Offer, the same token may report
|
|
197
|
+
* multiple purchases made during the session that generated it.
|
|
196
198
|
*/
|
|
197
199
|
externalTransactionToken: string;
|
|
198
200
|
}
|
|
@@ -297,7 +299,7 @@ export interface DeveloperProvidedBillingProductAndroid {
|
|
|
297
299
|
|
|
298
300
|
/**
|
|
299
301
|
* Discount amount details for one-time purchase offers (Android)
|
|
300
|
-
* Available in Google Play Billing Library
|
|
302
|
+
* Available in Google Play Billing Library 8.0+
|
|
301
303
|
*/
|
|
302
304
|
export interface DiscountAmountAndroid {
|
|
303
305
|
/** Discount amount in micro-units (1,000,000 = 1 unit of currency) */
|
|
@@ -308,7 +310,7 @@ export interface DiscountAmountAndroid {
|
|
|
308
310
|
|
|
309
311
|
/**
|
|
310
312
|
* Discount display information for one-time purchase offers (Android)
|
|
311
|
-
* Available in Google Play Billing Library
|
|
313
|
+
* Available in Google Play Billing Library 8.0+
|
|
312
314
|
*/
|
|
313
315
|
export interface DiscountDisplayInfoAndroid {
|
|
314
316
|
/**
|
|
@@ -343,7 +345,7 @@ export interface DiscountIOS {
|
|
|
343
345
|
* Standardized one-time product discount offer.
|
|
344
346
|
* Provides a unified interface for one-time purchase discounts across platforms.
|
|
345
347
|
*
|
|
346
|
-
* Currently supported on Android (Google Play Billing
|
|
348
|
+
* Currently supported on Android (Google Play Billing 8.0+).
|
|
347
349
|
* iOS does not support one-time purchase discounts in the same way.
|
|
348
350
|
*
|
|
349
351
|
* @see https://openiap.dev/docs/features/discount
|
|
@@ -399,7 +401,7 @@ export interface DiscountOffer {
|
|
|
399
401
|
/**
|
|
400
402
|
* [Android] Purchase option ID for this offer.
|
|
401
403
|
* Used to identify which purchase option the user selected.
|
|
402
|
-
* Available in Google Play Billing Library
|
|
404
|
+
* Available in Google Play Billing Library 8.0+
|
|
403
405
|
*/
|
|
404
406
|
purchaseOptionIdAndroid?: (string | null);
|
|
405
407
|
/** [Android] Rental details if this is a rental offer. */
|
|
@@ -501,7 +503,8 @@ export enum ErrorCode {
|
|
|
501
503
|
/**
|
|
502
504
|
* Launch mode for external link flow (Android)
|
|
503
505
|
* Determines how the external URL is launched
|
|
504
|
-
*
|
|
506
|
+
* Introduced in Google Play Billing Library 8.2.0. External Offer and External Content Link
|
|
507
|
+
* integrations require 8.2.1+ and fresh details immediately before every redirect session.
|
|
505
508
|
*/
|
|
506
509
|
export type ExternalLinkLaunchModeAndroid = 'unspecified' | 'launch-in-external-browser-or-app' | 'caller-will-launch-link';
|
|
507
510
|
|
|
@@ -676,8 +679,8 @@ export interface InitConnectionConfig {
|
|
|
676
679
|
* Enable a specific billing program for Android (7.0+)
|
|
677
680
|
* When set, enables the specified billing program for external transactions.
|
|
678
681
|
* - USER_CHOICE_BILLING: User can select between Google Play or alternative (7.0+)
|
|
679
|
-
* - EXTERNAL_CONTENT_LINK: Link to external content (8.2.0+)
|
|
680
|
-
* - EXTERNAL_OFFER: External offers for digital content (8.2.0+)
|
|
682
|
+
* - EXTERNAL_CONTENT_LINK: Link to external content (introduced in 8.2.0; use 8.2.1+)
|
|
683
|
+
* - EXTERNAL_OFFER: External offers for digital content (introduced in 8.2.0; use 8.2.1+)
|
|
681
684
|
* - EXTERNAL_PAYMENTS: Developer provided billing, Japan only (8.3.0+)
|
|
682
685
|
* - BILLING_CHOICE: Google-rendered or developer-rendered billing choice
|
|
683
686
|
* (OpenIAP Spec 2.1.0 / openiap-google 2.3.0; requires Play Billing 9.1.0+)
|
|
@@ -731,7 +734,7 @@ export interface LaunchExternalLinkParamsAndroid {
|
|
|
731
734
|
|
|
732
735
|
/**
|
|
733
736
|
* Limited quantity information for one-time purchase offers (Android)
|
|
734
|
-
* Available in Google Play Billing Library
|
|
737
|
+
* Available in Google Play Billing Library 8.0+
|
|
735
738
|
*/
|
|
736
739
|
export interface LimitedQuantityInfoAndroid {
|
|
737
740
|
/** Maximum quantity a user can purchase */
|
|
@@ -778,7 +781,11 @@ export interface Mutation {
|
|
|
778
781
|
*/
|
|
779
782
|
createAlternativeBillingTokenAndroid?: Promise<(string | null)>;
|
|
780
783
|
/**
|
|
781
|
-
* Create the reporting
|
|
784
|
+
* Create the reporting details and external transaction token required by a billing program.
|
|
785
|
+
* Introduced in Play Billing 8.2.0. External Offer and External Content Link integrations
|
|
786
|
+
* must use 8.2.1+ and create fresh details immediately before every redirect session;
|
|
787
|
+
* do not cache the token for a later redirect. The same token may report multiple purchases
|
|
788
|
+
* made during one External Offer session.
|
|
782
789
|
* Replaces the deprecated createExternalOfferReportingDetailsAsync API.
|
|
783
790
|
* Returns external transaction token needed for reporting external transactions.
|
|
784
791
|
* developerBillingType is optional. When program is BILLING_CHOICE and developerBillingType is omitted,
|
|
@@ -812,14 +819,16 @@ export interface Mutation {
|
|
|
812
819
|
/**
|
|
813
820
|
* Check whether a billing program (e.g., External Payments) is available for the current user.
|
|
814
821
|
* Replaces the deprecated isExternalOfferAvailableAsync API.
|
|
815
|
-
*
|
|
822
|
+
* Introduced in Google Play Billing Library 8.2.0. External Offer and External
|
|
823
|
+
* Content Link integrations must use 8.2.1+ because 8.2.1 fixes this API.
|
|
816
824
|
* Returns availability result with isAvailable flag.
|
|
817
825
|
* Throws OpenIapError.NotPrepared if billing client not ready.
|
|
818
826
|
* See: https://openiap.dev/docs/apis/android/is-billing-program-available-android
|
|
819
827
|
*/
|
|
820
828
|
isBillingProgramAvailableAndroid: Promise<BillingProgramAvailabilityResultAndroid>;
|
|
821
829
|
/**
|
|
822
|
-
* Launch an external content/offer link from inside the Billing Programs flow (
|
|
830
|
+
* Launch an external content/offer link from inside the Billing Programs flow (introduced in
|
|
831
|
+
* Play Billing 8.2.0; External Offer and External Content Link require 8.2.1+),
|
|
823
832
|
* including developer-rendered Billing Choice external-link flows.
|
|
824
833
|
* Billing Choice availability: OpenIAP Spec 2.1.0 / openiap-google 2.3.0
|
|
825
834
|
* (requires Play Billing 9.1.0+).
|
|
@@ -1067,7 +1076,7 @@ export interface ProductAndroid extends ProductCommon {
|
|
|
1067
1076
|
nameAndroid: string;
|
|
1068
1077
|
/**
|
|
1069
1078
|
* One-time purchase offer details including discounts (Android)
|
|
1070
|
-
* Returns all eligible offers. Available in Google Play Billing Library
|
|
1079
|
+
* Returns all eligible offers. Available in Google Play Billing Library 8.0+
|
|
1071
1080
|
* @deprecated Use discountOffers instead for cross-platform compatibility.
|
|
1072
1081
|
* @deprecated Use discountOffers instead
|
|
1073
1082
|
*/
|
|
@@ -1099,7 +1108,7 @@ export interface ProductAndroid extends ProductCommon {
|
|
|
1099
1108
|
|
|
1100
1109
|
/**
|
|
1101
1110
|
* One-time purchase offer details (Android).
|
|
1102
|
-
* Available in Google Play Billing Library
|
|
1111
|
+
* Available in Google Play Billing Library 8.0+
|
|
1103
1112
|
* @deprecated Use the standardized DiscountOffer type instead for cross-platform compatibility.
|
|
1104
1113
|
* @see https://openiap.dev/docs/types#discount-offer
|
|
1105
1114
|
*/
|
|
@@ -1133,7 +1142,7 @@ export interface ProductAndroidOneTimePurchaseOfferDetail {
|
|
|
1133
1142
|
/**
|
|
1134
1143
|
* Purchase option ID for this offer (Android)
|
|
1135
1144
|
* Used to identify which purchase option the user selected.
|
|
1136
|
-
* Available in Google Play Billing Library
|
|
1145
|
+
* Available in Google Play Billing Library 8.0+
|
|
1137
1146
|
*/
|
|
1138
1147
|
purchaseOptionId?: (string | null);
|
|
1139
1148
|
/** Rental details for rental offers */
|
|
@@ -1224,7 +1233,7 @@ export interface ProductSubscriptionAndroid extends ProductCommon {
|
|
|
1224
1233
|
nameAndroid: string;
|
|
1225
1234
|
/**
|
|
1226
1235
|
* One-time purchase offer details including discounts (Android)
|
|
1227
|
-
* Returns all eligible offers. Available in Google Play Billing Library
|
|
1236
|
+
* Returns all eligible offers. Available in Google Play Billing Library 8.0+
|
|
1228
1237
|
* @deprecated Use discountOffers instead for cross-platform compatibility.
|
|
1229
1238
|
* @deprecated Use discountOffers instead
|
|
1230
1239
|
*/
|
|
@@ -1417,6 +1426,7 @@ export interface PurchaseError {
|
|
|
1417
1426
|
productIds?: (string[] | null);
|
|
1418
1427
|
productType?: (string | null);
|
|
1419
1428
|
responseCode?: (number | null);
|
|
1429
|
+
subResponseCodeAndroid?: (SubResponseCodeAndroid | null);
|
|
1420
1430
|
}
|
|
1421
1431
|
|
|
1422
1432
|
export interface PurchaseIOS extends PurchaseCommon {
|
|
@@ -1528,7 +1538,7 @@ export interface Query {
|
|
|
1528
1538
|
getActiveSubscriptions: Promise<ActiveSubscription[]>;
|
|
1529
1539
|
/**
|
|
1530
1540
|
* List every StoreKit transaction (finished + unfinished) for the current user.
|
|
1531
|
-
* Requires the
|
|
1541
|
+
* Requires the SKIncludeConsumableInAppPurchaseHistory Info.plist key in the host app
|
|
1532
1542
|
* for finished consumables to be included (iOS 18+).
|
|
1533
1543
|
* Unlike getAvailablePurchases, always returns the iOS-specific PurchaseIOS shape.
|
|
1534
1544
|
* See: https://openiap.dev/docs/apis/ios/get-all-transactions-ios
|
|
@@ -1574,12 +1584,15 @@ export interface Query {
|
|
|
1574
1584
|
*/
|
|
1575
1585
|
getReceiptDataIOS?: Promise<(string | null)>;
|
|
1576
1586
|
/**
|
|
1577
|
-
* Return the
|
|
1587
|
+
* Return the store-authoritative country code: ISO 3166-1 alpha-3 on Apple
|
|
1588
|
+
* platforms and alpha-2 on Android. The operation fails when the store cannot
|
|
1589
|
+
* provide a value; implementations must not synthesize a locale fallback.
|
|
1578
1590
|
* See: https://openiap.dev/docs/apis/get-storefront
|
|
1579
1591
|
*/
|
|
1580
1592
|
getStorefront: Promise<string>;
|
|
1581
1593
|
/**
|
|
1582
|
-
* Deprecated. Get the current App Store storefront
|
|
1594
|
+
* Deprecated. Get the current App Store storefront ISO 3166-1 alpha-3 country
|
|
1595
|
+
* code — use cross-platform getStorefront instead.
|
|
1583
1596
|
* See: https://openiap.dev/docs/apis/ios/get-storefront-ios
|
|
1584
1597
|
* @deprecated Use getStorefront
|
|
1585
1598
|
*/
|
|
@@ -1693,7 +1706,7 @@ export interface RenewalInfoIOS {
|
|
|
1693
1706
|
gracePeriodExpirationDate?: (number | null);
|
|
1694
1707
|
/**
|
|
1695
1708
|
* True if subscription failed to renew due to billing issue and is retrying
|
|
1696
|
-
*
|
|
1709
|
+
* StoreKit exposes this directly as RenewalInfo.isInBillingRetry.
|
|
1697
1710
|
*/
|
|
1698
1711
|
isInBillingRetry?: (boolean | null);
|
|
1699
1712
|
jsonRepresentation?: (string | null);
|
|
@@ -1726,7 +1739,7 @@ export interface RenewalInfoIOS {
|
|
|
1726
1739
|
|
|
1727
1740
|
/**
|
|
1728
1741
|
* Rental details for one-time purchase products that can be rented (Android)
|
|
1729
|
-
* Available in Google Play Billing Library
|
|
1742
|
+
* Available in Google Play Billing Library 8.0+
|
|
1730
1743
|
*/
|
|
1731
1744
|
export interface RentalDetailsAndroid {
|
|
1732
1745
|
/**
|
|
@@ -1755,7 +1768,7 @@ export interface RequestPurchaseAndroidProps {
|
|
|
1755
1768
|
/** Obfuscated profile ID */
|
|
1756
1769
|
obfuscatedProfileId?: (string | null);
|
|
1757
1770
|
/**
|
|
1758
|
-
* Offer token for one-time purchase discounts (
|
|
1771
|
+
* Offer token for one-time purchase discounts (8.0+).
|
|
1759
1772
|
* Pass the offerToken from oneTimePurchaseOfferDetailsAndroid or discountOffers
|
|
1760
1773
|
* to apply a discount offer to the purchase.
|
|
1761
1774
|
*/
|
|
@@ -1861,6 +1874,9 @@ export interface RequestSubscriptionAndroidProps {
|
|
|
1861
1874
|
/**
|
|
1862
1875
|
* Product-level replacement parameters (8.1.0+)
|
|
1863
1876
|
* Use this instead of replacementMode for item-level replacement
|
|
1877
|
+
* This singular form requires skus to contain exactly one target product.
|
|
1878
|
+
* Multi-item subscription changes need a per-target replacement mapping and
|
|
1879
|
+
* are rejected rather than applying one oldProductId to multiple products.
|
|
1864
1880
|
*/
|
|
1865
1881
|
subscriptionProductReplacementParams?: (SubscriptionProductReplacementParamsAndroid | null);
|
|
1866
1882
|
}
|
|
@@ -2001,14 +2017,17 @@ export interface Subscription {
|
|
|
2001
2017
|
*/
|
|
2002
2018
|
purchaseUpdated: Purchase;
|
|
2003
2019
|
/**
|
|
2004
|
-
* Fires when
|
|
2020
|
+
* Fires when a subscription enters a billing-issue state that needs user action
|
|
2005
2021
|
* (payment method failed, card expired, etc.). Cross-platform unification:
|
|
2006
2022
|
*
|
|
2007
|
-
* - iOS
|
|
2023
|
+
* - iOS 16.4+ / Mac Catalyst 16.4+ / visionOS 1.0+: delivered via StoreKit 2
|
|
2024
|
+
* `Message.Reason.billingIssue`.
|
|
2008
2025
|
* - Android (Play flavor, Billing 8.1+): emitted when `isSuspended == true` is first detected
|
|
2009
2026
|
* on a previously healthy subscription. Requires Google Play Billing Library 8.1.0 or newer.
|
|
2010
2027
|
* - Android (Horizon flavor): NOT emitted. The Horizon Billing Compatibility SDK implements
|
|
2011
2028
|
* the Play Billing 7.0 API surface which does not expose a suspended-subscription signal.
|
|
2029
|
+
* - Android (Amazon flavor): NOT emitted. Amazon Appstore IAP does not expose an
|
|
2030
|
+
* equivalent subscription billing-issue signal.
|
|
2012
2031
|
*
|
|
2013
2032
|
* Listeners should not assume the event will fire on every store. Direct users to the
|
|
2014
2033
|
* platform subscription management UI (`deepLinkToSubscriptions`) to resolve the issue.
|
|
@@ -2206,13 +2225,26 @@ export interface TransactionCommitmentInfoIOS {
|
|
|
2206
2225
|
export interface UserChoiceBillingDetails {
|
|
2207
2226
|
/** Token that must be reported to Google Play within 24 hours */
|
|
2208
2227
|
externalTransactionToken: string;
|
|
2228
|
+
/**
|
|
2229
|
+
* External transaction ID of the originating subscription when the user is
|
|
2230
|
+
* upgrading or downgrading a developer-billed subscription. Available in
|
|
2231
|
+
* OpenIAP Spec 2.3.0 / openiap-google 2.3.1 (requires Play Billing 9.1+).
|
|
2232
|
+
*/
|
|
2233
|
+
originalExternalTransactionId?: (string | null);
|
|
2234
|
+
/**
|
|
2235
|
+
* Structured product details selected in the user-choice flow, including the
|
|
2236
|
+
* product type and offer token. Legacy payloads may omit this field; use
|
|
2237
|
+
* products as the product-ID fallback. Available in OpenIAP Spec 2.3.0 /
|
|
2238
|
+
* openiap-google 2.3.1 (requires Play Billing 9.1+).
|
|
2239
|
+
*/
|
|
2240
|
+
productDetailsAndroid?: (DeveloperProvidedBillingProductAndroid[] | null);
|
|
2209
2241
|
/** List of product IDs selected by the user */
|
|
2210
2242
|
products: string[];
|
|
2211
2243
|
}
|
|
2212
2244
|
|
|
2213
2245
|
/**
|
|
2214
2246
|
* Valid time window for when an offer is available (Android)
|
|
2215
|
-
* Available in Google Play Billing Library
|
|
2247
|
+
* Available in Google Play Billing Library 8.0+
|
|
2216
2248
|
*/
|
|
2217
2249
|
export interface ValidTimeWindowAndroid {
|
|
2218
2250
|
/** End time in milliseconds since epoch */
|
package/src/utils/error.ts
CHANGED
|
@@ -110,11 +110,11 @@ const parseNSErrorJsonPayload = (rawString: string): IapError | null => {
|
|
|
110
110
|
return null;
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
-
const parseStructuredError = (error:
|
|
114
|
-
const errorWithCode = error as
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
const parseStructuredError = (error: object): IapError | null => {
|
|
114
|
+
const errorWithCode = error as {code?: unknown; message?: unknown} & Record<
|
|
115
|
+
string,
|
|
116
|
+
unknown
|
|
117
|
+
>;
|
|
118
118
|
|
|
119
119
|
if (errorWithCode.code != null) {
|
|
120
120
|
const {code, message, ...extraFields} = errorWithCode;
|
|
@@ -122,7 +122,7 @@ const parseStructuredError = (error: Error): IapError | null => {
|
|
|
122
122
|
return {
|
|
123
123
|
...extraFields,
|
|
124
124
|
code: String(code),
|
|
125
|
-
message: typeof message === 'string' ? message : error
|
|
125
|
+
message: typeof message === 'string' ? message : 'Unknown error occurred',
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
|
|
@@ -143,13 +143,16 @@ const parseStructuredError = (error: Error): IapError | null => {
|
|
|
143
143
|
export function parseErrorStringToJsonObj(
|
|
144
144
|
errorString: string | Error | unknown,
|
|
145
145
|
): IapError {
|
|
146
|
-
//
|
|
147
|
-
if (errorString
|
|
146
|
+
// Nitro can reject with either Error instances or plain structured objects.
|
|
147
|
+
if (typeof errorString === 'object' && errorString !== null) {
|
|
148
148
|
const structuredError = parseStructuredError(errorString);
|
|
149
149
|
if (structuredError) {
|
|
150
150
|
return structuredError;
|
|
151
151
|
}
|
|
152
|
+
}
|
|
152
153
|
|
|
154
|
+
// Parse an Error's message after checking for attached structured fields.
|
|
155
|
+
if (errorString instanceof Error) {
|
|
153
156
|
errorString = errorString.message;
|
|
154
157
|
}
|
|
155
158
|
|
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* and constructing structured purchase errors.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
ErrorCode,
|
|
9
|
+
type IapPlatform,
|
|
10
|
+
type SubResponseCodeAndroid,
|
|
11
|
+
} from '../types';
|
|
8
12
|
|
|
9
13
|
/**
|
|
10
14
|
* Error code for duplicate purchase events detected on iOS.
|
|
@@ -54,6 +58,7 @@ export interface PurchaseErrorProps {
|
|
|
54
58
|
productIds?: string[];
|
|
55
59
|
productType?: string;
|
|
56
60
|
isEmptyProductList?: boolean;
|
|
61
|
+
subResponseCodeAndroid?: SubResponseCodeAndroid;
|
|
57
62
|
platform?: IapPlatform;
|
|
58
63
|
}
|
|
59
64
|
|
|
@@ -65,6 +70,7 @@ export interface PurchaseError extends Error {
|
|
|
65
70
|
productIds?: string[];
|
|
66
71
|
productType?: string;
|
|
67
72
|
isEmptyProductList?: boolean;
|
|
73
|
+
subResponseCodeAndroid?: SubResponseCodeAndroid;
|
|
68
74
|
platform?: IapPlatform;
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -146,6 +152,7 @@ export const createPurchaseError = (
|
|
|
146
152
|
error.productIds = props.productIds;
|
|
147
153
|
error.productType = props.productType;
|
|
148
154
|
error.isEmptyProductList = props.isEmptyProductList;
|
|
155
|
+
error.subResponseCodeAndroid = props.subResponseCodeAndroid;
|
|
149
156
|
error.platform = props.platform;
|
|
150
157
|
return error;
|
|
151
158
|
};
|
|
@@ -170,6 +177,7 @@ export const createPurchaseErrorFromPlatform = (
|
|
|
170
177
|
productIds: errorData.productIds,
|
|
171
178
|
productType: errorData.productType,
|
|
172
179
|
isEmptyProductList: errorData.isEmptyProductList,
|
|
180
|
+
subResponseCodeAndroid: errorData.subResponseCodeAndroid,
|
|
173
181
|
platform,
|
|
174
182
|
});
|
|
175
183
|
};
|
package/src/utils/type-bridge.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type {
|
|
9
9
|
NitroProduct,
|
|
10
10
|
NitroPurchase,
|
|
11
|
+
NitroRenewalInfoIOS,
|
|
11
12
|
NitroSubscriptionStatus,
|
|
12
13
|
} from '../specs/RnIap.nitro';
|
|
13
14
|
import type {
|
|
@@ -25,6 +26,7 @@ import type {
|
|
|
25
26
|
Purchase,
|
|
26
27
|
PurchaseAndroid,
|
|
27
28
|
PurchaseIOS,
|
|
29
|
+
RenewalInfoIOS,
|
|
28
30
|
SubscriptionStatusIOS,
|
|
29
31
|
} from '../types';
|
|
30
32
|
import {RnIapConsole} from './debug';
|
|
@@ -191,6 +193,30 @@ function toNullableBoolean(value: unknown): boolean | null {
|
|
|
191
193
|
return null;
|
|
192
194
|
}
|
|
193
195
|
|
|
196
|
+
function convertNitroRenewalInfoToRenewalInfoIOS(
|
|
197
|
+
renewalInfo: NitroRenewalInfoIOS,
|
|
198
|
+
): RenewalInfoIOS {
|
|
199
|
+
return {
|
|
200
|
+
autoRenewPreference: toNullableString(renewalInfo.autoRenewPreference),
|
|
201
|
+
commitmentInfo: renewalInfo.commitmentInfo ?? null,
|
|
202
|
+
expirationReason: toNullableString(renewalInfo.expirationReason),
|
|
203
|
+
gracePeriodExpirationDate: toNullableNumber(
|
|
204
|
+
renewalInfo.gracePeriodExpirationDate,
|
|
205
|
+
),
|
|
206
|
+
isInBillingRetry: toNullableBoolean(renewalInfo.isInBillingRetry),
|
|
207
|
+
jsonRepresentation: toNullableString(renewalInfo.jsonRepresentation),
|
|
208
|
+
pendingUpgradeProductId: toNullableString(
|
|
209
|
+
renewalInfo.pendingUpgradeProductId,
|
|
210
|
+
),
|
|
211
|
+
priceIncreaseStatus: toNullableString(renewalInfo.priceIncreaseStatus),
|
|
212
|
+
renewalBillingPlanType: renewalInfo.renewalBillingPlanType ?? null,
|
|
213
|
+
renewalDate: toNullableNumber(renewalInfo.renewalDate),
|
|
214
|
+
renewalOfferId: toNullableString(renewalInfo.renewalOfferId),
|
|
215
|
+
renewalOfferType: toNullableString(renewalInfo.renewalOfferType),
|
|
216
|
+
willAutoRenew: renewalInfo.willAutoRenew ?? false,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
|
|
194
220
|
function parseSubscriptionOffers(value?: Nullable<string> | any[]) {
|
|
195
221
|
if (!value) return undefined;
|
|
196
222
|
|
|
@@ -442,8 +468,13 @@ export function convertNitroPurchaseToPurchase(
|
|
|
442
468
|
quantity: nitroPurchase.quantity ?? 1,
|
|
443
469
|
purchaseState,
|
|
444
470
|
isAutoRenewing: Boolean(nitroPurchase.isAutoRenewing),
|
|
471
|
+
currentPlanId: toNullableString(nitroPurchase.currentPlanId),
|
|
472
|
+
ids: nitroPurchase.ids ?? null,
|
|
445
473
|
// PurchaseIOS requires both id and transactionId (they are the same value)
|
|
446
474
|
transactionId: nitroPurchase.id,
|
|
475
|
+
advancedCommerceInfoIOS: nitroPurchase.advancedCommerceInfoIOS ?? null,
|
|
476
|
+
billingPlanTypeIOS: nitroPurchase.billingPlanTypeIOS ?? null,
|
|
477
|
+
commitmentInfoIOS: nitroPurchase.commitmentInfoIOS ?? null,
|
|
447
478
|
quantityIOS: toNullableNumber(nitroPurchase.quantityIOS),
|
|
448
479
|
originalTransactionDateIOS: toNullableNumber(
|
|
449
480
|
nitroPurchase.originalTransactionDateIOS,
|
|
@@ -488,39 +519,7 @@ export function convertNitroPurchaseToPurchase(
|
|
|
488
519
|
nitroPurchase.webOrderLineItemIdIOS,
|
|
489
520
|
),
|
|
490
521
|
renewalInfoIOS: nitroPurchase.renewalInfoIOS
|
|
491
|
-
?
|
|
492
|
-
autoRenewPreference: toNullableString(
|
|
493
|
-
nitroPurchase.renewalInfoIOS.autoRenewPreference,
|
|
494
|
-
),
|
|
495
|
-
expirationReason: toNullableString(
|
|
496
|
-
nitroPurchase.renewalInfoIOS.expirationReason,
|
|
497
|
-
),
|
|
498
|
-
gracePeriodExpirationDate: toNullableNumber(
|
|
499
|
-
nitroPurchase.renewalInfoIOS.gracePeriodExpirationDate,
|
|
500
|
-
),
|
|
501
|
-
isInBillingRetry: toNullableBoolean(
|
|
502
|
-
nitroPurchase.renewalInfoIOS.isInBillingRetry,
|
|
503
|
-
),
|
|
504
|
-
jsonRepresentation: toNullableString(
|
|
505
|
-
nitroPurchase.renewalInfoIOS.jsonRepresentation,
|
|
506
|
-
),
|
|
507
|
-
pendingUpgradeProductId: toNullableString(
|
|
508
|
-
nitroPurchase.renewalInfoIOS.pendingUpgradeProductId,
|
|
509
|
-
),
|
|
510
|
-
priceIncreaseStatus: toNullableString(
|
|
511
|
-
nitroPurchase.renewalInfoIOS.priceIncreaseStatus,
|
|
512
|
-
),
|
|
513
|
-
renewalDate: toNullableNumber(
|
|
514
|
-
nitroPurchase.renewalInfoIOS.renewalDate,
|
|
515
|
-
),
|
|
516
|
-
renewalOfferId: toNullableString(
|
|
517
|
-
nitroPurchase.renewalInfoIOS.renewalOfferId,
|
|
518
|
-
),
|
|
519
|
-
renewalOfferType: toNullableString(
|
|
520
|
-
nitroPurchase.renewalInfoIOS.renewalOfferType,
|
|
521
|
-
),
|
|
522
|
-
willAutoRenew: nitroPurchase.renewalInfoIOS.willAutoRenew ?? false,
|
|
523
|
-
}
|
|
522
|
+
? convertNitroRenewalInfoToRenewalInfoIOS(nitroPurchase.renewalInfoIOS)
|
|
524
523
|
: null,
|
|
525
524
|
};
|
|
526
525
|
return iosPurchase;
|
|
@@ -537,6 +536,8 @@ export function convertNitroPurchaseToPurchase(
|
|
|
537
536
|
quantity: nitroPurchase.quantity ?? 1,
|
|
538
537
|
purchaseState,
|
|
539
538
|
isAutoRenewing: Boolean(nitroPurchase.isAutoRenewing),
|
|
539
|
+
currentPlanId: toNullableString(nitroPurchase.currentPlanId),
|
|
540
|
+
ids: nitroPurchase.ids ?? null,
|
|
540
541
|
// PurchaseAndroid has optional transactionId (may differ from id/orderId)
|
|
541
542
|
transactionId: toNullableString(nitroPurchase.id),
|
|
542
543
|
autoRenewingAndroid: toNullableBoolean(
|
|
@@ -558,6 +559,8 @@ export function convertNitroPurchaseToPurchase(
|
|
|
558
559
|
nitroPurchase.developerPayloadAndroid,
|
|
559
560
|
),
|
|
560
561
|
isSuspendedAndroid: toNullableBoolean(nitroPurchase.isSuspendedAndroid),
|
|
562
|
+
pendingPurchaseUpdateAndroid:
|
|
563
|
+
nitroPurchase.pendingPurchaseUpdateAndroid ?? null,
|
|
561
564
|
};
|
|
562
565
|
|
|
563
566
|
return androidPurchase;
|
|
@@ -572,13 +575,7 @@ export function convertNitroSubscriptionStatusToSubscriptionStatusIOS(
|
|
|
572
575
|
return {
|
|
573
576
|
state: String(nitro.state ?? ''),
|
|
574
577
|
renewalInfo: nitro.renewalInfo
|
|
575
|
-
?
|
|
576
|
-
autoRenewPreference: toNullableString(
|
|
577
|
-
nitro.renewalInfo.autoRenewPreference,
|
|
578
|
-
),
|
|
579
|
-
jsonRepresentation: JSON.stringify(nitro.renewalInfo),
|
|
580
|
-
willAutoRenew: Boolean(nitro.renewalInfo.autoRenewStatus),
|
|
581
|
-
}
|
|
578
|
+
? convertNitroRenewalInfoToRenewalInfoIOS(nitro.renewalInfo)
|
|
582
579
|
: undefined,
|
|
583
580
|
};
|
|
584
581
|
}
|
package/src/vega-adapter.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type {
|
|
|
9
9
|
RnIap,
|
|
10
10
|
} from './specs/RnIap.nitro';
|
|
11
11
|
import {ErrorCode} from './types';
|
|
12
|
+
import type {SubResponseCodeAndroid} from './types';
|
|
12
13
|
|
|
13
14
|
type ResponseOperation =
|
|
14
15
|
| 'product-data'
|
|
@@ -97,9 +98,13 @@ interface VegaUserDataRequest {
|
|
|
97
98
|
interface VegaError extends Error {
|
|
98
99
|
code?: ErrorCode;
|
|
99
100
|
debugMessage?: string;
|
|
101
|
+
isEmptyProductList?: boolean;
|
|
100
102
|
platform?: 'android';
|
|
101
103
|
productId?: string;
|
|
104
|
+
productIds?: string[];
|
|
105
|
+
productType?: string;
|
|
102
106
|
responseCode?: number;
|
|
107
|
+
subResponseCodeAndroid?: SubResponseCodeAndroid;
|
|
103
108
|
}
|
|
104
109
|
|
|
105
110
|
export interface VegaPurchasingService {
|
|
@@ -151,8 +156,12 @@ function parseVegaErrorPayload(error: unknown): Record<string, unknown> {
|
|
|
151
156
|
if (
|
|
152
157
|
vegaError.code != null ||
|
|
153
158
|
vegaError.debugMessage != null ||
|
|
159
|
+
vegaError.isEmptyProductList != null ||
|
|
154
160
|
vegaError.productId != null ||
|
|
155
|
-
vegaError.
|
|
161
|
+
vegaError.productIds != null ||
|
|
162
|
+
vegaError.productType != null ||
|
|
163
|
+
vegaError.responseCode != null ||
|
|
164
|
+
vegaError.subResponseCodeAndroid != null
|
|
156
165
|
) {
|
|
157
166
|
return {
|
|
158
167
|
code: vegaError.code,
|
|
@@ -160,6 +169,10 @@ function parseVegaErrorPayload(error: unknown): Record<string, unknown> {
|
|
|
160
169
|
responseCode: vegaError.responseCode,
|
|
161
170
|
debugMessage: vegaError.debugMessage,
|
|
162
171
|
productId: vegaError.productId,
|
|
172
|
+
productIds: vegaError.productIds,
|
|
173
|
+
productType: vegaError.productType,
|
|
174
|
+
isEmptyProductList: vegaError.isEmptyProductList,
|
|
175
|
+
subResponseCodeAndroid: vegaError.subResponseCodeAndroid,
|
|
163
176
|
platform: vegaError.platform,
|
|
164
177
|
};
|
|
165
178
|
}
|
|
@@ -176,9 +189,12 @@ function parseVegaErrorPayload(error: unknown): Record<string, unknown> {
|
|
|
176
189
|
function toPurchaseErrorResult(
|
|
177
190
|
error: unknown,
|
|
178
191
|
fallbackMessage: string,
|
|
192
|
+
productId?: string,
|
|
179
193
|
): NitroPurchaseResult {
|
|
180
194
|
const parsed = parseVegaErrorPayload(error);
|
|
181
195
|
const responseCode = parsed.responseCode;
|
|
196
|
+
const parsedProductIds = parsed.productIds;
|
|
197
|
+
const parsedSubResponseCode = parsed.subResponseCodeAndroid;
|
|
182
198
|
return {
|
|
183
199
|
responseCode: typeof responseCode === 'number' ? responseCode : -1,
|
|
184
200
|
code:
|
|
@@ -192,6 +208,23 @@ function toPurchaseErrorResult(
|
|
|
192
208
|
debugMessage:
|
|
193
209
|
typeof parsed.debugMessage === 'string' ? parsed.debugMessage : undefined,
|
|
194
210
|
purchaseToken: undefined,
|
|
211
|
+
productId:
|
|
212
|
+
typeof parsed.productId === 'string' ? parsed.productId : productId,
|
|
213
|
+
productIds: Array.isArray(parsedProductIds)
|
|
214
|
+
? parsedProductIds.filter(
|
|
215
|
+
(candidate): candidate is string => typeof candidate === 'string',
|
|
216
|
+
)
|
|
217
|
+
: undefined,
|
|
218
|
+
productType:
|
|
219
|
+
typeof parsed.productType === 'string' ? parsed.productType : undefined,
|
|
220
|
+
isEmptyProductList:
|
|
221
|
+
typeof parsed.isEmptyProductList === 'boolean'
|
|
222
|
+
? parsed.isEmptyProductList
|
|
223
|
+
: undefined,
|
|
224
|
+
subResponseCodeAndroid:
|
|
225
|
+
typeof parsedSubResponseCode === 'string'
|
|
226
|
+
? (parsedSubResponseCode as SubResponseCodeAndroid)
|
|
227
|
+
: undefined,
|
|
195
228
|
};
|
|
196
229
|
}
|
|
197
230
|
|
|
@@ -564,6 +597,8 @@ function mapReceipt(
|
|
|
564
597
|
productId,
|
|
565
598
|
transactionDate: toTimestamp(receipt.purchaseDate),
|
|
566
599
|
purchaseToken: receiptId,
|
|
600
|
+
currentPlanId: type === 'subs' ? productId : null,
|
|
601
|
+
ids: productId ? [productId] : [],
|
|
567
602
|
platform: 'android',
|
|
568
603
|
store: 'amazon',
|
|
569
604
|
quantity: 1,
|
|
@@ -719,8 +754,34 @@ export function createVegaIapModule(service: VegaPurchasingService): RnIap {
|
|
|
719
754
|
};
|
|
720
755
|
|
|
721
756
|
const getStorefront = async (): Promise<string> => {
|
|
722
|
-
|
|
723
|
-
|
|
757
|
+
try {
|
|
758
|
+
const userData = await getUserData();
|
|
759
|
+
const storefront = userData?.marketplace ?? userData?.countryCode;
|
|
760
|
+
if (typeof storefront !== 'string' || storefront.trim().length === 0) {
|
|
761
|
+
throw createVegaError(
|
|
762
|
+
ErrorCode.ServiceError,
|
|
763
|
+
'Amazon Vega storefront lookup returned no country code.',
|
|
764
|
+
);
|
|
765
|
+
}
|
|
766
|
+
return storefront;
|
|
767
|
+
} catch (error) {
|
|
768
|
+
const errorCode =
|
|
769
|
+
error instanceof Error
|
|
770
|
+
? (error as Error & {code?: unknown}).code
|
|
771
|
+
: undefined;
|
|
772
|
+
if (
|
|
773
|
+
typeof errorCode === 'string' &&
|
|
774
|
+
Object.values(ErrorCode).includes(errorCode as ErrorCode)
|
|
775
|
+
) {
|
|
776
|
+
throw error;
|
|
777
|
+
}
|
|
778
|
+
throw createVegaError(
|
|
779
|
+
ErrorCode.ServiceError,
|
|
780
|
+
`Failed to get Amazon Vega storefront: ${
|
|
781
|
+
error instanceof Error ? error.message : String(error)
|
|
782
|
+
}`,
|
|
783
|
+
);
|
|
784
|
+
}
|
|
724
785
|
};
|
|
725
786
|
|
|
726
787
|
const getPurchaseUpdateReceipts = async (): Promise<VegaReceipt[]> => {
|
|
@@ -1322,6 +1383,7 @@ export function createVegaIapModule(service: VegaPurchasingService): RnIap {
|
|
|
1322
1383
|
toPurchaseErrorResult(
|
|
1323
1384
|
error,
|
|
1324
1385
|
'Failed to complete Amazon Vega purchase',
|
|
1386
|
+
sku,
|
|
1325
1387
|
),
|
|
1326
1388
|
);
|
|
1327
1389
|
throw error;
|
|
@@ -1401,7 +1463,7 @@ export function createVegaIapModule(service: VegaPurchasingService): RnIap {
|
|
|
1401
1463
|
async getPromotedProductIOS(): Promise<null> {
|
|
1402
1464
|
return throwUnsupportedFeature('getPromotedProductIOS');
|
|
1403
1465
|
},
|
|
1404
|
-
async buyPromotedProductIOS(): Promise<
|
|
1466
|
+
async buyPromotedProductIOS(): Promise<boolean> {
|
|
1405
1467
|
return throwUnsupportedFeature('buyPromotedProductIOS');
|
|
1406
1468
|
},
|
|
1407
1469
|
async presentCodeRedemptionSheetIOS(): Promise<boolean> {
|