react-native-iap 14.5.0 → 14.5.1-rc.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.
Files changed (66) hide show
  1. package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +47 -7
  2. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  3. package/ios/reactnativeiap.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  4. package/lib/module/types.js +35 -0
  5. package/lib/module/types.js.map +1 -1
  6. package/lib/module/utils/type-bridge.js +2 -1
  7. package/lib/module/utils/type-bridge.js.map +1 -1
  8. package/lib/typescript/src/specs/RnIap.nitro.d.ts +54 -1
  9. package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
  10. package/lib/typescript/src/types.d.ts +127 -14
  11. package/lib/typescript/src/types.d.ts.map +1 -1
  12. package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
  13. package/nitrogen/generated/android/c++/JFunc_void_NitroProduct.hpp +13 -0
  14. package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +24 -0
  15. package/nitrogen/generated/android/c++/JNitroDiscountAmountAndroid.hpp +61 -0
  16. package/nitrogen/generated/android/c++/JNitroDiscountDisplayInfoAndroid.hpp +64 -0
  17. package/nitrogen/generated/android/c++/JNitroLimitedQuantityInfoAndroid.hpp +61 -0
  18. package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +70 -3
  19. package/nitrogen/generated/android/c++/JNitroPreorderDetailsAndroid.hpp +61 -0
  20. package/nitrogen/generated/android/c++/JNitroProduct.hpp +35 -5
  21. package/nitrogen/generated/android/c++/JNitroPurchase.hpp +7 -3
  22. package/nitrogen/generated/android/c++/JNitroRentalDetailsAndroid.hpp +62 -0
  23. package/nitrogen/generated/android/c++/JNitroValidTimeWindowAndroid.hpp +61 -0
  24. package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +5 -1
  25. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountAmountAndroid.kt +39 -0
  26. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroDiscountDisplayInfoAndroid.kt +39 -0
  27. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLimitedQuantityInfoAndroid.kt +39 -0
  28. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +30 -3
  29. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPreorderDetailsAndroid.kt +39 -0
  30. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +2 -2
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroPurchase.kt +6 -3
  32. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRentalDetailsAndroid.kt +39 -0
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroValidTimeWindowAndroid.kt +39 -0
  34. package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +5 -2
  35. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +137 -18
  36. package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +18 -0
  37. package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +18 -0
  38. package/nitrogen/generated/ios/swift/NitroDiscountAmountAndroid.swift +46 -0
  39. package/nitrogen/generated/ios/swift/NitroDiscountDisplayInfoAndroid.swift +70 -0
  40. package/nitrogen/generated/ios/swift/NitroLimitedQuantityInfoAndroid.swift +46 -0
  41. package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +211 -2
  42. package/nitrogen/generated/ios/swift/NitroPreorderDetailsAndroid.swift +46 -0
  43. package/nitrogen/generated/ios/swift/NitroProduct.swift +26 -7
  44. package/nitrogen/generated/ios/swift/NitroPurchase.swift +31 -1
  45. package/nitrogen/generated/ios/swift/NitroRentalDetailsAndroid.swift +65 -0
  46. package/nitrogen/generated/ios/swift/NitroValidTimeWindowAndroid.swift +46 -0
  47. package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +32 -2
  48. package/nitrogen/generated/shared/c++/NitroDiscountAmountAndroid.hpp +79 -0
  49. package/nitrogen/generated/shared/c++/NitroDiscountDisplayInfoAndroid.hpp +81 -0
  50. package/nitrogen/generated/shared/c++/NitroLimitedQuantityInfoAndroid.hpp +79 -0
  51. package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +55 -3
  52. package/nitrogen/generated/shared/c++/NitroPreorderDetailsAndroid.hpp +79 -0
  53. package/nitrogen/generated/shared/c++/NitroProduct.hpp +6 -5
  54. package/nitrogen/generated/shared/c++/NitroPurchase.hpp +6 -2
  55. package/nitrogen/generated/shared/c++/NitroRentalDetailsAndroid.hpp +80 -0
  56. package/nitrogen/generated/shared/c++/NitroValidTimeWindowAndroid.hpp +79 -0
  57. package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +5 -1
  58. package/openiap-versions.json +2 -2
  59. package/package.json +1 -1
  60. package/plugin/build/src/withIAP.d.ts +3 -0
  61. package/plugin/build/src/withIAP.js +81 -0
  62. package/plugin/build/tsconfig.tsbuildinfo +1 -0
  63. package/plugin/tsconfig.tsbuildinfo +1 -1
  64. package/src/specs/RnIap.nitro.ts +60 -1
  65. package/src/types.ts +133 -14
  66. package/src/utils/type-bridge.ts +1 -0
@@ -122,6 +122,8 @@ namespace margelo::nitro::iap {
122
122
  jni::local_ref<jni::JString> obfuscatedProfileIdAndroid = this->getFieldValue(fieldObfuscatedProfileIdAndroid);
123
123
  static const auto fieldDeveloperPayloadAndroid = clazz->getField<jni::JString>("developerPayloadAndroid");
124
124
  jni::local_ref<jni::JString> developerPayloadAndroid = this->getFieldValue(fieldDeveloperPayloadAndroid);
125
+ static const auto fieldIsSuspendedAndroid = clazz->getField<jni::JBoolean>("isSuspendedAndroid");
126
+ jni::local_ref<jni::JBoolean> isSuspendedAndroid = this->getFieldValue(fieldIsSuspendedAndroid);
125
127
  return NitroPurchase(
126
128
  id->toStdString(),
127
129
  productId->toStdString(),
@@ -163,7 +165,8 @@ namespace margelo::nitro::iap {
163
165
  packageNameAndroid != nullptr ? std::make_optional(packageNameAndroid->toStdString()) : std::nullopt,
164
166
  obfuscatedAccountIdAndroid != nullptr ? std::make_optional(obfuscatedAccountIdAndroid->toStdString()) : std::nullopt,
165
167
  obfuscatedProfileIdAndroid != nullptr ? std::make_optional(obfuscatedProfileIdAndroid->toStdString()) : std::nullopt,
166
- developerPayloadAndroid != nullptr ? std::make_optional(developerPayloadAndroid->toStdString()) : std::nullopt
168
+ developerPayloadAndroid != nullptr ? std::make_optional(developerPayloadAndroid->toStdString()) : std::nullopt,
169
+ isSuspendedAndroid != nullptr ? std::make_optional(static_cast<bool>(isSuspendedAndroid->value())) : std::nullopt
167
170
  );
168
171
  }
169
172
 
@@ -173,7 +176,7 @@ namespace margelo::nitro::iap {
173
176
  */
174
177
  [[maybe_unused]]
175
178
  static jni::local_ref<JNitroPurchase::javaobject> fromCpp(const NitroPurchase& value) {
176
- using JSignature = JNitroPurchase(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<JIapPlatform>, jni::alias_ref<JIapStore>, double, jni::alias_ref<JPurchaseState>, jboolean, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JNitroRenewalInfoIOS>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
179
+ using JSignature = JNitroPurchase(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<JIapPlatform>, jni::alias_ref<JIapStore>, double, jni::alias_ref<JPurchaseState>, jboolean, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JNitroRenewalInfoIOS>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JDouble>, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JBoolean>);
177
180
  static const auto clazz = javaClassStatic();
178
181
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
179
182
  return create(
@@ -218,7 +221,8 @@ namespace margelo::nitro::iap {
218
221
  value.packageNameAndroid.has_value() ? jni::make_jstring(value.packageNameAndroid.value()) : nullptr,
219
222
  value.obfuscatedAccountIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedAccountIdAndroid.value()) : nullptr,
220
223
  value.obfuscatedProfileIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedProfileIdAndroid.value()) : nullptr,
221
- value.developerPayloadAndroid.has_value() ? jni::make_jstring(value.developerPayloadAndroid.value()) : nullptr
224
+ value.developerPayloadAndroid.has_value() ? jni::make_jstring(value.developerPayloadAndroid.value()) : nullptr,
225
+ value.isSuspendedAndroid.has_value() ? jni::JBoolean::valueOf(value.isSuspendedAndroid.value()) : nullptr
222
226
  );
223
227
  }
224
228
  };
@@ -0,0 +1,62 @@
1
+ ///
2
+ /// JNitroRentalDetailsAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroRentalDetailsAndroid.hpp"
12
+
13
+ #include <optional>
14
+ #include <string>
15
+
16
+ namespace margelo::nitro::iap {
17
+
18
+ using namespace facebook;
19
+
20
+ /**
21
+ * The C++ JNI bridge between the C++ struct "NitroRentalDetailsAndroid" and the the Kotlin data class "NitroRentalDetailsAndroid".
22
+ */
23
+ struct JNitroRentalDetailsAndroid final: public jni::JavaClass<JNitroRentalDetailsAndroid> {
24
+ public:
25
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroRentalDetailsAndroid;";
26
+
27
+ public:
28
+ /**
29
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroRentalDetailsAndroid by copying all values to C++.
30
+ */
31
+ [[maybe_unused]]
32
+ [[nodiscard]]
33
+ NitroRentalDetailsAndroid toCpp() const {
34
+ static const auto clazz = javaClassStatic();
35
+ static const auto fieldRentalExpirationPeriod = clazz->getField<jni::JString>("rentalExpirationPeriod");
36
+ jni::local_ref<jni::JString> rentalExpirationPeriod = this->getFieldValue(fieldRentalExpirationPeriod);
37
+ static const auto fieldRentalPeriod = clazz->getField<jni::JString>("rentalPeriod");
38
+ jni::local_ref<jni::JString> rentalPeriod = this->getFieldValue(fieldRentalPeriod);
39
+ return NitroRentalDetailsAndroid(
40
+ rentalExpirationPeriod != nullptr ? std::make_optional(rentalExpirationPeriod->toStdString()) : std::nullopt,
41
+ rentalPeriod->toStdString()
42
+ );
43
+ }
44
+
45
+ public:
46
+ /**
47
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
48
+ */
49
+ [[maybe_unused]]
50
+ static jni::local_ref<JNitroRentalDetailsAndroid::javaobject> fromCpp(const NitroRentalDetailsAndroid& value) {
51
+ using JSignature = JNitroRentalDetailsAndroid(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
52
+ static const auto clazz = javaClassStatic();
53
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
54
+ return create(
55
+ clazz,
56
+ value.rentalExpirationPeriod.has_value() ? jni::make_jstring(value.rentalExpirationPeriod.value()) : nullptr,
57
+ jni::make_jstring(value.rentalPeriod)
58
+ );
59
+ }
60
+ };
61
+
62
+ } // namespace margelo::nitro::iap
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// JNitroValidTimeWindowAndroid.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "NitroValidTimeWindowAndroid.hpp"
12
+
13
+ #include <string>
14
+
15
+ namespace margelo::nitro::iap {
16
+
17
+ using namespace facebook;
18
+
19
+ /**
20
+ * The C++ JNI bridge between the C++ struct "NitroValidTimeWindowAndroid" and the the Kotlin data class "NitroValidTimeWindowAndroid".
21
+ */
22
+ struct JNitroValidTimeWindowAndroid final: public jni::JavaClass<JNitroValidTimeWindowAndroid> {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroValidTimeWindowAndroid;";
25
+
26
+ public:
27
+ /**
28
+ * Convert this Java/Kotlin-based struct to the C++ struct NitroValidTimeWindowAndroid by copying all values to C++.
29
+ */
30
+ [[maybe_unused]]
31
+ [[nodiscard]]
32
+ NitroValidTimeWindowAndroid toCpp() const {
33
+ static const auto clazz = javaClassStatic();
34
+ static const auto fieldEndTimeMillis = clazz->getField<jni::JString>("endTimeMillis");
35
+ jni::local_ref<jni::JString> endTimeMillis = this->getFieldValue(fieldEndTimeMillis);
36
+ static const auto fieldStartTimeMillis = clazz->getField<jni::JString>("startTimeMillis");
37
+ jni::local_ref<jni::JString> startTimeMillis = this->getFieldValue(fieldStartTimeMillis);
38
+ return NitroValidTimeWindowAndroid(
39
+ endTimeMillis->toStdString(),
40
+ startTimeMillis->toStdString()
41
+ );
42
+ }
43
+
44
+ public:
45
+ /**
46
+ * Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
47
+ */
48
+ [[maybe_unused]]
49
+ static jni::local_ref<JNitroValidTimeWindowAndroid::javaobject> fromCpp(const NitroValidTimeWindowAndroid& value) {
50
+ using JSignature = JNitroValidTimeWindowAndroid(jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>);
51
+ static const auto clazz = javaClassStatic();
52
+ static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
53
+ return create(
54
+ clazz,
55
+ jni::make_jstring(value.endTimeMillis),
56
+ jni::make_jstring(value.startTimeMillis)
57
+ );
58
+ }
59
+ };
60
+
61
+ } // namespace margelo::nitro::iap
@@ -55,6 +55,8 @@ namespace margelo::nitro::iap {
55
55
  jni::local_ref<jni::JBoolean> isAcknowledgedAndroid = this->getFieldValue(fieldIsAcknowledgedAndroid);
56
56
  static const auto fieldIsAutoRenewing = clazz->getField<jboolean>("isAutoRenewing");
57
57
  jboolean isAutoRenewing = this->getFieldValue(fieldIsAutoRenewing);
58
+ static const auto fieldIsSuspendedAndroid = clazz->getField<jni::JBoolean>("isSuspendedAndroid");
59
+ jni::local_ref<jni::JBoolean> isSuspendedAndroid = this->getFieldValue(fieldIsSuspendedAndroid);
58
60
  static const auto fieldObfuscatedAccountIdAndroid = clazz->getField<jni::JString>("obfuscatedAccountIdAndroid");
59
61
  jni::local_ref<jni::JString> obfuscatedAccountIdAndroid = this->getFieldValue(fieldObfuscatedAccountIdAndroid);
60
62
  static const auto fieldObfuscatedProfileIdAndroid = clazz->getField<jni::JString>("obfuscatedProfileIdAndroid");
@@ -97,6 +99,7 @@ namespace margelo::nitro::iap {
97
99
  }()) : std::nullopt,
98
100
  isAcknowledgedAndroid != nullptr ? std::make_optional(static_cast<bool>(isAcknowledgedAndroid->value())) : std::nullopt,
99
101
  static_cast<bool>(isAutoRenewing),
102
+ isSuspendedAndroid != nullptr ? std::make_optional(static_cast<bool>(isSuspendedAndroid->value())) : std::nullopt,
100
103
  obfuscatedAccountIdAndroid != nullptr ? std::make_optional(obfuscatedAccountIdAndroid->toStdString()) : std::nullopt,
101
104
  obfuscatedProfileIdAndroid != nullptr ? std::make_optional(obfuscatedProfileIdAndroid->toStdString()) : std::nullopt,
102
105
  packageNameAndroid != nullptr ? std::make_optional(packageNameAndroid->toStdString()) : std::nullopt,
@@ -118,7 +121,7 @@ namespace margelo::nitro::iap {
118
121
  */
119
122
  [[maybe_unused]]
120
123
  static jni::local_ref<JPurchaseAndroid::javaobject> fromCpp(const PurchaseAndroid& value) {
121
- using JSignature = JPurchaseAndroid(jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JBoolean>, jboolean, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JIapPlatform>, jni::alias_ref<jni::JString>, jni::alias_ref<JPurchaseState>, jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<JIapStore>, double, jni::alias_ref<jni::JString>);
124
+ using JSignature = JPurchaseAndroid(jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JArrayClass<jni::JString>>, jni::alias_ref<jni::JBoolean>, jboolean, jni::alias_ref<jni::JBoolean>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<jni::JString>, jni::alias_ref<JIapPlatform>, jni::alias_ref<jni::JString>, jni::alias_ref<JPurchaseState>, jni::alias_ref<jni::JString>, double, jni::alias_ref<jni::JString>, jni::alias_ref<JIapStore>, double, jni::alias_ref<jni::JString>);
122
125
  static const auto clazz = javaClassStatic();
123
126
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
124
127
  return create(
@@ -139,6 +142,7 @@ namespace margelo::nitro::iap {
139
142
  }() : nullptr,
140
143
  value.isAcknowledgedAndroid.has_value() ? jni::JBoolean::valueOf(value.isAcknowledgedAndroid.value()) : nullptr,
141
144
  value.isAutoRenewing,
145
+ value.isSuspendedAndroid.has_value() ? jni::JBoolean::valueOf(value.isSuspendedAndroid.value()) : nullptr,
142
146
  value.obfuscatedAccountIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedAccountIdAndroid.value()) : nullptr,
143
147
  value.obfuscatedProfileIdAndroid.has_value() ? jni::make_jstring(value.obfuscatedProfileIdAndroid.value()) : nullptr,
144
148
  value.packageNameAndroid.has_value() ? jni::make_jstring(value.packageNameAndroid.value()) : nullptr,
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroDiscountAmountAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroDiscountAmountAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroDiscountAmountAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val discountAmountMicros: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val formattedDiscountAmount: String
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(discountAmountMicros: String, formattedDiscountAmount: String): NitroDiscountAmountAndroid {
36
+ return NitroDiscountAmountAndroid(discountAmountMicros, formattedDiscountAmount)
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroDiscountDisplayInfoAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroDiscountDisplayInfoAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroDiscountDisplayInfoAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val discountAmount: NitroDiscountAmountAndroid?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val percentageDiscount: Double?
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(discountAmount: NitroDiscountAmountAndroid?, percentageDiscount: Double?): NitroDiscountDisplayInfoAndroid {
36
+ return NitroDiscountDisplayInfoAndroid(discountAmount, percentageDiscount)
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroLimitedQuantityInfoAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroLimitedQuantityInfoAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroLimitedQuantityInfoAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val maximumQuantity: Double,
23
+ @DoNotStrip
24
+ @Keep
25
+ val remainingQuantity: Double
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(maximumQuantity: Double, remainingQuantity: Double): NitroLimitedQuantityInfoAndroid {
36
+ return NitroLimitedQuantityInfoAndroid(maximumQuantity, remainingQuantity)
37
+ }
38
+ }
39
+ }
@@ -17,15 +17,42 @@ import com.facebook.proguard.annotations.DoNotStrip
17
17
  @DoNotStrip
18
18
  @Keep
19
19
  data class NitroOneTimePurchaseOfferDetail(
20
+ @DoNotStrip
21
+ @Keep
22
+ val discountDisplayInfo: NitroDiscountDisplayInfoAndroid?,
20
23
  @DoNotStrip
21
24
  @Keep
22
25
  val formattedPrice: String,
23
26
  @DoNotStrip
24
27
  @Keep
28
+ val fullPriceMicros: String?,
29
+ @DoNotStrip
30
+ @Keep
31
+ val limitedQuantityInfo: NitroLimitedQuantityInfoAndroid?,
32
+ @DoNotStrip
33
+ @Keep
34
+ val offerId: String?,
35
+ @DoNotStrip
36
+ @Keep
37
+ val offerTags: Array<String>,
38
+ @DoNotStrip
39
+ @Keep
40
+ val offerToken: String,
41
+ @DoNotStrip
42
+ @Keep
43
+ val preorderDetailsAndroid: NitroPreorderDetailsAndroid?,
44
+ @DoNotStrip
45
+ @Keep
25
46
  val priceAmountMicros: String,
26
47
  @DoNotStrip
27
48
  @Keep
28
- val priceCurrencyCode: String
49
+ val priceCurrencyCode: String,
50
+ @DoNotStrip
51
+ @Keep
52
+ val rentalDetailsAndroid: NitroRentalDetailsAndroid?,
53
+ @DoNotStrip
54
+ @Keep
55
+ val validTimeWindow: NitroValidTimeWindowAndroid?
29
56
  ) {
30
57
  private companion object {
31
58
  /**
@@ -35,8 +62,8 @@ data class NitroOneTimePurchaseOfferDetail(
35
62
  @Keep
36
63
  @Suppress("unused")
37
64
  @JvmStatic
38
- private fun fromCpp(formattedPrice: String, priceAmountMicros: String, priceCurrencyCode: String): NitroOneTimePurchaseOfferDetail {
39
- return NitroOneTimePurchaseOfferDetail(formattedPrice, priceAmountMicros, priceCurrencyCode)
65
+ private fun fromCpp(discountDisplayInfo: NitroDiscountDisplayInfoAndroid?, formattedPrice: String, fullPriceMicros: String?, limitedQuantityInfo: NitroLimitedQuantityInfoAndroid?, offerId: String?, offerTags: Array<String>, offerToken: String, preorderDetailsAndroid: NitroPreorderDetailsAndroid?, priceAmountMicros: String, priceCurrencyCode: String, rentalDetailsAndroid: NitroRentalDetailsAndroid?, validTimeWindow: NitroValidTimeWindowAndroid?): NitroOneTimePurchaseOfferDetail {
66
+ return NitroOneTimePurchaseOfferDetail(discountDisplayInfo, formattedPrice, fullPriceMicros, limitedQuantityInfo, offerId, offerTags, offerToken, preorderDetailsAndroid, priceAmountMicros, priceCurrencyCode, rentalDetailsAndroid, validTimeWindow)
40
67
  }
41
68
  }
42
69
  }
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroPreorderDetailsAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroPreorderDetailsAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroPreorderDetailsAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val preorderPresaleEndTimeMillis: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val preorderReleaseTimeMillis: String
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(preorderPresaleEndTimeMillis: String, preorderReleaseTimeMillis: String): NitroPreorderDetailsAndroid {
36
+ return NitroPreorderDetailsAndroid(preorderPresaleEndTimeMillis, preorderReleaseTimeMillis)
37
+ }
38
+ }
39
+ }
@@ -106,7 +106,7 @@ data class NitroProduct(
106
106
  val subscriptionOfferDetailsAndroid: String?,
107
107
  @DoNotStrip
108
108
  @Keep
109
- val oneTimePurchaseOfferDetailsAndroid: NitroOneTimePurchaseOfferDetail?
109
+ val oneTimePurchaseOfferDetailsAndroid: Array<NitroOneTimePurchaseOfferDetail>?
110
110
  ) {
111
111
  private companion object {
112
112
  /**
@@ -116,7 +116,7 @@ data class NitroProduct(
116
116
  @Keep
117
117
  @Suppress("unused")
118
118
  @JvmStatic
119
- private fun fromCpp(id: String, title: String, description: String, type: String, displayName: String?, displayPrice: String?, currency: String?, price: Double?, platform: IapPlatform, typeIOS: String?, isFamilyShareableIOS: Boolean?, jsonRepresentationIOS: String?, discountsIOS: String?, introductoryPriceIOS: String?, introductoryPriceAsAmountIOS: Double?, introductoryPriceNumberOfPeriodsIOS: Double?, introductoryPricePaymentModeIOS: PaymentModeIOS, introductoryPriceSubscriptionPeriodIOS: String?, subscriptionPeriodNumberIOS: Double?, subscriptionPeriodUnitIOS: String?, nameAndroid: String?, originalPriceAndroid: String?, originalPriceAmountMicrosAndroid: Double?, introductoryPriceCyclesAndroid: Double?, introductoryPricePeriodAndroid: String?, introductoryPriceValueAndroid: Double?, subscriptionPeriodAndroid: String?, freeTrialPeriodAndroid: String?, subscriptionOfferDetailsAndroid: String?, oneTimePurchaseOfferDetailsAndroid: NitroOneTimePurchaseOfferDetail?): NitroProduct {
119
+ private fun fromCpp(id: String, title: String, description: String, type: String, displayName: String?, displayPrice: String?, currency: String?, price: Double?, platform: IapPlatform, typeIOS: String?, isFamilyShareableIOS: Boolean?, jsonRepresentationIOS: String?, discountsIOS: String?, introductoryPriceIOS: String?, introductoryPriceAsAmountIOS: Double?, introductoryPriceNumberOfPeriodsIOS: Double?, introductoryPricePaymentModeIOS: PaymentModeIOS, introductoryPriceSubscriptionPeriodIOS: String?, subscriptionPeriodNumberIOS: Double?, subscriptionPeriodUnitIOS: String?, nameAndroid: String?, originalPriceAndroid: String?, originalPriceAmountMicrosAndroid: Double?, introductoryPriceCyclesAndroid: Double?, introductoryPricePeriodAndroid: String?, introductoryPriceValueAndroid: Double?, subscriptionPeriodAndroid: String?, freeTrialPeriodAndroid: String?, subscriptionOfferDetailsAndroid: String?, oneTimePurchaseOfferDetailsAndroid: Array<NitroOneTimePurchaseOfferDetail>?): NitroProduct {
120
120
  return NitroProduct(id, title, description, type, displayName, displayPrice, currency, price, platform, typeIOS, isFamilyShareableIOS, jsonRepresentationIOS, discountsIOS, introductoryPriceIOS, introductoryPriceAsAmountIOS, introductoryPriceNumberOfPeriodsIOS, introductoryPricePaymentModeIOS, introductoryPriceSubscriptionPeriodIOS, subscriptionPeriodNumberIOS, subscriptionPeriodUnitIOS, nameAndroid, originalPriceAndroid, originalPriceAmountMicrosAndroid, introductoryPriceCyclesAndroid, introductoryPricePeriodAndroid, introductoryPriceValueAndroid, subscriptionPeriodAndroid, freeTrialPeriodAndroid, subscriptionOfferDetailsAndroid, oneTimePurchaseOfferDetailsAndroid)
121
121
  }
122
122
  }
@@ -139,7 +139,10 @@ data class NitroPurchase(
139
139
  val obfuscatedProfileIdAndroid: String?,
140
140
  @DoNotStrip
141
141
  @Keep
142
- val developerPayloadAndroid: String?
142
+ val developerPayloadAndroid: String?,
143
+ @DoNotStrip
144
+ @Keep
145
+ val isSuspendedAndroid: Boolean?
143
146
  ) {
144
147
  private companion object {
145
148
  /**
@@ -149,8 +152,8 @@ data class NitroPurchase(
149
152
  @Keep
150
153
  @Suppress("unused")
151
154
  @JvmStatic
152
- private fun fromCpp(id: String, productId: String, transactionDate: Double, purchaseToken: String?, platform: IapPlatform, store: IapStore, quantity: Double, purchaseState: PurchaseState, isAutoRenewing: Boolean, quantityIOS: Double?, originalTransactionDateIOS: Double?, originalTransactionIdentifierIOS: String?, appAccountToken: String?, appBundleIdIOS: String?, countryCodeIOS: String?, currencyCodeIOS: String?, currencySymbolIOS: String?, environmentIOS: String?, expirationDateIOS: Double?, isUpgradedIOS: Boolean?, offerIOS: String?, ownershipTypeIOS: String?, reasonIOS: String?, reasonStringRepresentationIOS: String?, revocationDateIOS: Double?, revocationReasonIOS: String?, storefrontCountryCodeIOS: String?, subscriptionGroupIdIOS: String?, transactionReasonIOS: String?, webOrderLineItemIdIOS: String?, renewalInfoIOS: NitroRenewalInfoIOS?, purchaseTokenAndroid: String?, dataAndroid: String?, signatureAndroid: String?, autoRenewingAndroid: Boolean?, purchaseStateAndroid: Double?, isAcknowledgedAndroid: Boolean?, packageNameAndroid: String?, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, developerPayloadAndroid: String?): NitroPurchase {
153
- return NitroPurchase(id, productId, transactionDate, purchaseToken, platform, store, quantity, purchaseState, isAutoRenewing, quantityIOS, originalTransactionDateIOS, originalTransactionIdentifierIOS, appAccountToken, appBundleIdIOS, countryCodeIOS, currencyCodeIOS, currencySymbolIOS, environmentIOS, expirationDateIOS, isUpgradedIOS, offerIOS, ownershipTypeIOS, reasonIOS, reasonStringRepresentationIOS, revocationDateIOS, revocationReasonIOS, storefrontCountryCodeIOS, subscriptionGroupIdIOS, transactionReasonIOS, webOrderLineItemIdIOS, renewalInfoIOS, purchaseTokenAndroid, dataAndroid, signatureAndroid, autoRenewingAndroid, purchaseStateAndroid, isAcknowledgedAndroid, packageNameAndroid, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, developerPayloadAndroid)
155
+ private fun fromCpp(id: String, productId: String, transactionDate: Double, purchaseToken: String?, platform: IapPlatform, store: IapStore, quantity: Double, purchaseState: PurchaseState, isAutoRenewing: Boolean, quantityIOS: Double?, originalTransactionDateIOS: Double?, originalTransactionIdentifierIOS: String?, appAccountToken: String?, appBundleIdIOS: String?, countryCodeIOS: String?, currencyCodeIOS: String?, currencySymbolIOS: String?, environmentIOS: String?, expirationDateIOS: Double?, isUpgradedIOS: Boolean?, offerIOS: String?, ownershipTypeIOS: String?, reasonIOS: String?, reasonStringRepresentationIOS: String?, revocationDateIOS: Double?, revocationReasonIOS: String?, storefrontCountryCodeIOS: String?, subscriptionGroupIdIOS: String?, transactionReasonIOS: String?, webOrderLineItemIdIOS: String?, renewalInfoIOS: NitroRenewalInfoIOS?, purchaseTokenAndroid: String?, dataAndroid: String?, signatureAndroid: String?, autoRenewingAndroid: Boolean?, purchaseStateAndroid: Double?, isAcknowledgedAndroid: Boolean?, packageNameAndroid: String?, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, developerPayloadAndroid: String?, isSuspendedAndroid: Boolean?): NitroPurchase {
156
+ return NitroPurchase(id, productId, transactionDate, purchaseToken, platform, store, quantity, purchaseState, isAutoRenewing, quantityIOS, originalTransactionDateIOS, originalTransactionIdentifierIOS, appAccountToken, appBundleIdIOS, countryCodeIOS, currencyCodeIOS, currencySymbolIOS, environmentIOS, expirationDateIOS, isUpgradedIOS, offerIOS, ownershipTypeIOS, reasonIOS, reasonStringRepresentationIOS, revocationDateIOS, revocationReasonIOS, storefrontCountryCodeIOS, subscriptionGroupIdIOS, transactionReasonIOS, webOrderLineItemIdIOS, renewalInfoIOS, purchaseTokenAndroid, dataAndroid, signatureAndroid, autoRenewingAndroid, purchaseStateAndroid, isAcknowledgedAndroid, packageNameAndroid, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, developerPayloadAndroid, isSuspendedAndroid)
154
157
  }
155
158
  }
156
159
  }
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroRentalDetailsAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroRentalDetailsAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroRentalDetailsAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val rentalExpirationPeriod: String?,
23
+ @DoNotStrip
24
+ @Keep
25
+ val rentalPeriod: String
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(rentalExpirationPeriod: String?, rentalPeriod: String): NitroRentalDetailsAndroid {
36
+ return NitroRentalDetailsAndroid(rentalExpirationPeriod, rentalPeriod)
37
+ }
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ ///
2
+ /// NitroValidTimeWindowAndroid.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.iap
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.proguard.annotations.DoNotStrip
12
+
13
+
14
+ /**
15
+ * Represents the JavaScript object/struct "NitroValidTimeWindowAndroid".
16
+ */
17
+ @DoNotStrip
18
+ @Keep
19
+ data class NitroValidTimeWindowAndroid(
20
+ @DoNotStrip
21
+ @Keep
22
+ val endTimeMillis: String,
23
+ @DoNotStrip
24
+ @Keep
25
+ val startTimeMillis: String
26
+ ) {
27
+ private companion object {
28
+ /**
29
+ * Constructor called from C++
30
+ */
31
+ @DoNotStrip
32
+ @Keep
33
+ @Suppress("unused")
34
+ @JvmStatic
35
+ private fun fromCpp(endTimeMillis: String, startTimeMillis: String): NitroValidTimeWindowAndroid {
36
+ return NitroValidTimeWindowAndroid(endTimeMillis, startTimeMillis)
37
+ }
38
+ }
39
+ }
@@ -43,6 +43,9 @@ data class PurchaseAndroid(
43
43
  val isAutoRenewing: Boolean,
44
44
  @DoNotStrip
45
45
  @Keep
46
+ val isSuspendedAndroid: Boolean?,
47
+ @DoNotStrip
48
+ @Keep
46
49
  val obfuscatedAccountIdAndroid: String?,
47
50
  @DoNotStrip
48
51
  @Keep
@@ -86,8 +89,8 @@ data class PurchaseAndroid(
86
89
  @Keep
87
90
  @Suppress("unused")
88
91
  @JvmStatic
89
- private fun fromCpp(autoRenewingAndroid: Boolean?, currentPlanId: String?, dataAndroid: String?, developerPayloadAndroid: String?, id: String, ids: Array<String>?, isAcknowledgedAndroid: Boolean?, isAutoRenewing: Boolean, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, packageNameAndroid: String?, platform: IapPlatform, productId: String, purchaseState: PurchaseState, purchaseToken: String?, quantity: Double, signatureAndroid: String?, store: IapStore, transactionDate: Double, transactionId: String?): PurchaseAndroid {
90
- return PurchaseAndroid(autoRenewingAndroid, currentPlanId, dataAndroid, developerPayloadAndroid, id, ids, isAcknowledgedAndroid, isAutoRenewing, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, packageNameAndroid, platform, productId, purchaseState, purchaseToken, quantity, signatureAndroid, store, transactionDate, transactionId)
92
+ private fun fromCpp(autoRenewingAndroid: Boolean?, currentPlanId: String?, dataAndroid: String?, developerPayloadAndroid: String?, id: String, ids: Array<String>?, isAcknowledgedAndroid: Boolean?, isAutoRenewing: Boolean, isSuspendedAndroid: Boolean?, obfuscatedAccountIdAndroid: String?, obfuscatedProfileIdAndroid: String?, packageNameAndroid: String?, platform: IapPlatform, productId: String, purchaseState: PurchaseState, purchaseToken: String?, quantity: Double, signatureAndroid: String?, store: IapStore, transactionDate: Double, transactionId: String?): PurchaseAndroid {
93
+ return PurchaseAndroid(autoRenewingAndroid, currentPlanId, dataAndroid, developerPayloadAndroid, id, ids, isAcknowledgedAndroid, isAutoRenewing, isSuspendedAndroid, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, packageNameAndroid, platform, productId, purchaseState, purchaseToken, quantity, signatureAndroid, store, transactionDate, transactionId)
91
94
  }
92
95
  }
93
96
  }