@gmisoftware/react-native-pay 0.0.4

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 (203) hide show
  1. package/NitroPay.podspec +31 -0
  2. package/README.md +455 -0
  3. package/android/CMakeLists.txt +29 -0
  4. package/android/build.gradle +144 -0
  5. package/android/fix-prefab.gradle +51 -0
  6. package/android/gradle.properties +8 -0
  7. package/android/src/main/AndroidManifest.xml +2 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/pay/Constants.kt +49 -0
  10. package/android/src/main/java/com/margelo/nitro/pay/GooglePayButtonFactory.kt +95 -0
  11. package/android/src/main/java/com/margelo/nitro/pay/GooglePayRequestBuilder.kt +170 -0
  12. package/android/src/main/java/com/margelo/nitro/pay/HybridGooglePayButton.kt +146 -0
  13. package/android/src/main/java/com/margelo/nitro/pay/HybridPaymentHandler.kt +184 -0
  14. package/android/src/main/java/com/margelo/nitro/pay/NitroPayPackage.kt +26 -0
  15. package/android/src/main/java/com/margelo/nitro/pay/PaymentMapper.kt +89 -0
  16. package/app.plugin.js +1 -0
  17. package/ios/ApplePayButtonFactory.swift +53 -0
  18. package/ios/Bridge.h +8 -0
  19. package/ios/HybridApplePayButton.swift +60 -0
  20. package/ios/HybridPaymentHandler.swift +248 -0
  21. package/ios/PassKitTypeMapper.swift +192 -0
  22. package/lib/hooks/index.d.ts +7 -0
  23. package/lib/hooks/index.js +10 -0
  24. package/lib/hooks/usePaymentCheckout.d.ts +95 -0
  25. package/lib/hooks/usePaymentCheckout.js +183 -0
  26. package/lib/index.d.ts +10 -0
  27. package/lib/index.js +29 -0
  28. package/lib/plugin/index.d.ts +4 -0
  29. package/lib/plugin/index.js +10 -0
  30. package/lib/plugin/type.d.ts +4 -0
  31. package/lib/plugin/type.js +2 -0
  32. package/lib/plugin/withApplePay.d.ts +4 -0
  33. package/lib/plugin/withApplePay.js +32 -0
  34. package/lib/plugin/withGooglePay.d.ts +4 -0
  35. package/lib/plugin/withGooglePay.js +24 -0
  36. package/lib/specs/ApplePayButton.nitro.d.ts +13 -0
  37. package/lib/specs/ApplePayButton.nitro.js +2 -0
  38. package/lib/specs/GooglePayButton.nitro.d.ts +14 -0
  39. package/lib/specs/GooglePayButton.nitro.js +2 -0
  40. package/lib/specs/PaymentHandler.nitro.d.ts +10 -0
  41. package/lib/specs/PaymentHandler.nitro.js +2 -0
  42. package/lib/types/Contact.d.ts +51 -0
  43. package/lib/types/Contact.js +6 -0
  44. package/lib/types/Payment.d.ts +67 -0
  45. package/lib/types/Payment.js +6 -0
  46. package/lib/types/index.d.ts +2 -0
  47. package/lib/types/index.js +18 -0
  48. package/lib/utils/index.d.ts +4 -0
  49. package/lib/utils/index.js +20 -0
  50. package/lib/utils/paymentHelpers.d.ts +144 -0
  51. package/lib/utils/paymentHelpers.js +190 -0
  52. package/nitro.json +30 -0
  53. package/nitrogen/generated/.gitattributes +1 -0
  54. package/nitrogen/generated/android/NitroPay+autolinking.cmake +87 -0
  55. package/nitrogen/generated/android/NitroPay+autolinking.gradle +27 -0
  56. package/nitrogen/generated/android/NitroPayOnLoad.cpp +58 -0
  57. package/nitrogen/generated/android/NitroPayOnLoad.hpp +25 -0
  58. package/nitrogen/generated/android/c++/JCNContact.hpp +202 -0
  59. package/nitrogen/generated/android/c++/JCNContactType.hpp +59 -0
  60. package/nitrogen/generated/android/c++/JCNLabeledEmailAddress.hpp +62 -0
  61. package/nitrogen/generated/android/c++/JCNLabeledPhoneNumber.hpp +64 -0
  62. package/nitrogen/generated/android/c++/JCNLabeledPostalAddress.hpp +64 -0
  63. package/nitrogen/generated/android/c++/JCNPhoneNumber.hpp +57 -0
  64. package/nitrogen/generated/android/c++/JCNPostalAddress.hpp +78 -0
  65. package/nitrogen/generated/android/c++/JFunc_void.hpp +74 -0
  66. package/nitrogen/generated/android/c++/JGooglePayButtonTheme.hpp +59 -0
  67. package/nitrogen/generated/android/c++/JGooglePayButtonType.hpp +77 -0
  68. package/nitrogen/generated/android/c++/JGooglePayEnvironment.hpp +59 -0
  69. package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.cpp +96 -0
  70. package/nitrogen/generated/android/c++/JHybridGooglePayButtonSpec.hpp +71 -0
  71. package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.cpp +154 -0
  72. package/nitrogen/generated/android/c++/JHybridPaymentHandlerSpec.hpp +66 -0
  73. package/nitrogen/generated/android/c++/JPKSecureElementPass.hpp +96 -0
  74. package/nitrogen/generated/android/c++/JPassActivationState.hpp +68 -0
  75. package/nitrogen/generated/android/c++/JPayServiceStatus.hpp +61 -0
  76. package/nitrogen/generated/android/c++/JPaymentItem.hpp +67 -0
  77. package/nitrogen/generated/android/c++/JPaymentItemType.hpp +59 -0
  78. package/nitrogen/generated/android/c++/JPaymentMethod.hpp +97 -0
  79. package/nitrogen/generated/android/c++/JPaymentMethodType.hpp +68 -0
  80. package/nitrogen/generated/android/c++/JPaymentNetwork.hpp +86 -0
  81. package/nitrogen/generated/android/c++/JPaymentRequest.hpp +181 -0
  82. package/nitrogen/generated/android/c++/JPaymentResult.hpp +97 -0
  83. package/nitrogen/generated/android/c++/JPaymentToken.hpp +91 -0
  84. package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.cpp +68 -0
  85. package/nitrogen/generated/android/c++/views/JHybridGooglePayButtonStateUpdater.hpp +49 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContact.kt +96 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNContactType.kt +21 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledEmailAddress.kt +39 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPhoneNumber.kt +39 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNLabeledPostalAddress.kt +39 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPhoneNumber.kt +36 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/CNPostalAddress.kt +51 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/Func_void.kt +80 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonTheme.kt +21 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayButtonType.kt +27 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/GooglePayEnvironment.kt +21 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridGooglePayButtonSpec.kt +80 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/HybridPaymentHandlerSpec.kt +61 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/NitroPayOnLoad.kt +35 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PKSecureElementPass.kt +63 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PassActivationState.kt +24 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PayServiceStatus.kt +39 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItem.kt +42 -0
  104. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentItemType.kt +21 -0
  105. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethod.kt +48 -0
  106. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentMethodType.kt +24 -0
  107. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentNetwork.kt +30 -0
  108. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentRequest.kt +72 -0
  109. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentResult.kt +45 -0
  110. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/PaymentToken.kt +42 -0
  111. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonManager.kt +50 -0
  112. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pay/views/HybridGooglePayButtonStateUpdater.kt +23 -0
  113. package/nitrogen/generated/ios/NitroPay+autolinking.rb +60 -0
  114. package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.cpp +73 -0
  115. package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Bridge.hpp +415 -0
  116. package/nitrogen/generated/ios/NitroPay-Swift-Cxx-Umbrella.hpp +116 -0
  117. package/nitrogen/generated/ios/NitroPayAutolinking.mm +41 -0
  118. package/nitrogen/generated/ios/NitroPayAutolinking.swift +40 -0
  119. package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.cpp +11 -0
  120. package/nitrogen/generated/ios/c++/HybridApplePayButtonSpecSwift.hpp +92 -0
  121. package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.cpp +11 -0
  122. package/nitrogen/generated/ios/c++/HybridPaymentHandlerSpecSwift.hpp +148 -0
  123. package/nitrogen/generated/ios/c++/views/HybridApplePayButtonComponent.mm +106 -0
  124. package/nitrogen/generated/ios/swift/ApplePayButtonStyle.swift +44 -0
  125. package/nitrogen/generated/ios/swift/ApplePayButtonType.swift +84 -0
  126. package/nitrogen/generated/ios/swift/CNContact.swift +329 -0
  127. package/nitrogen/generated/ios/swift/CNContactType.swift +40 -0
  128. package/nitrogen/generated/ios/swift/CNLabeledEmailAddress.swift +65 -0
  129. package/nitrogen/generated/ios/swift/CNLabeledPhoneNumber.swift +65 -0
  130. package/nitrogen/generated/ios/swift/CNLabeledPostalAddress.swift +65 -0
  131. package/nitrogen/generated/ios/swift/CNPhoneNumber.swift +35 -0
  132. package/nitrogen/generated/ios/swift/CNPostalAddress.swift +204 -0
  133. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  134. package/nitrogen/generated/ios/swift/Func_void_PaymentResult.swift +47 -0
  135. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  136. package/nitrogen/generated/ios/swift/GooglePayEnvironment.swift +40 -0
  137. package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec.swift +51 -0
  138. package/nitrogen/generated/ios/swift/HybridApplePayButtonSpec_cxx.swift +175 -0
  139. package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec.swift +52 -0
  140. package/nitrogen/generated/ios/swift/HybridPaymentHandlerSpec_cxx.swift +155 -0
  141. package/nitrogen/generated/ios/swift/PKSecureElementPass.swift +191 -0
  142. package/nitrogen/generated/ios/swift/PassActivationState.swift +52 -0
  143. package/nitrogen/generated/ios/swift/PayServiceStatus.swift +46 -0
  144. package/nitrogen/generated/ios/swift/PaymentItem.swift +57 -0
  145. package/nitrogen/generated/ios/swift/PaymentItemType.swift +40 -0
  146. package/nitrogen/generated/ios/swift/PaymentMethod.swift +134 -0
  147. package/nitrogen/generated/ios/swift/PaymentMethodType.swift +52 -0
  148. package/nitrogen/generated/ios/swift/PaymentNetwork.swift +76 -0
  149. package/nitrogen/generated/ios/swift/PaymentRequest.swift +341 -0
  150. package/nitrogen/generated/ios/swift/PaymentResult.swift +118 -0
  151. package/nitrogen/generated/ios/swift/PaymentToken.swift +57 -0
  152. package/nitrogen/generated/shared/c++/ApplePayButtonStyle.hpp +80 -0
  153. package/nitrogen/generated/shared/c++/ApplePayButtonType.hpp +120 -0
  154. package/nitrogen/generated/shared/c++/CNContact.hpp +168 -0
  155. package/nitrogen/generated/shared/c++/CNContactType.hpp +76 -0
  156. package/nitrogen/generated/shared/c++/CNLabeledEmailAddress.hpp +80 -0
  157. package/nitrogen/generated/shared/c++/CNLabeledPhoneNumber.hpp +82 -0
  158. package/nitrogen/generated/shared/c++/CNLabeledPostalAddress.hpp +82 -0
  159. package/nitrogen/generated/shared/c++/CNPhoneNumber.hpp +75 -0
  160. package/nitrogen/generated/shared/c++/CNPostalAddress.hpp +96 -0
  161. package/nitrogen/generated/shared/c++/GooglePayButtonTheme.hpp +76 -0
  162. package/nitrogen/generated/shared/c++/GooglePayButtonType.hpp +100 -0
  163. package/nitrogen/generated/shared/c++/GooglePayEnvironment.hpp +76 -0
  164. package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.cpp +26 -0
  165. package/nitrogen/generated/shared/c++/HybridApplePayButtonSpec.hpp +73 -0
  166. package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.cpp +28 -0
  167. package/nitrogen/generated/shared/c++/HybridGooglePayButtonSpec.hpp +75 -0
  168. package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.cpp +23 -0
  169. package/nitrogen/generated/shared/c++/HybridPaymentHandlerSpec.hpp +74 -0
  170. package/nitrogen/generated/shared/c++/PKSecureElementPass.hpp +114 -0
  171. package/nitrogen/generated/shared/c++/PassActivationState.hpp +88 -0
  172. package/nitrogen/generated/shared/c++/PayServiceStatus.hpp +79 -0
  173. package/nitrogen/generated/shared/c++/PaymentItem.hpp +85 -0
  174. package/nitrogen/generated/shared/c++/PaymentItemType.hpp +76 -0
  175. package/nitrogen/generated/shared/c++/PaymentMethod.hpp +103 -0
  176. package/nitrogen/generated/shared/c++/PaymentMethodType.hpp +88 -0
  177. package/nitrogen/generated/shared/c++/PaymentNetwork.hpp +112 -0
  178. package/nitrogen/generated/shared/c++/PaymentRequest.hpp +130 -0
  179. package/nitrogen/generated/shared/c++/PaymentResult.hpp +90 -0
  180. package/nitrogen/generated/shared/c++/PaymentToken.hpp +85 -0
  181. package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.cpp +111 -0
  182. package/nitrogen/generated/shared/c++/views/HybridApplePayButtonComponent.hpp +111 -0
  183. package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.cpp +123 -0
  184. package/nitrogen/generated/shared/c++/views/HybridGooglePayButtonComponent.hpp +112 -0
  185. package/nitrogen/generated/shared/json/ApplePayButtonConfig.json +12 -0
  186. package/nitrogen/generated/shared/json/GooglePayButtonConfig.json +13 -0
  187. package/package.json +116 -0
  188. package/react-native.config.js +16 -0
  189. package/src/hooks/index.ts +12 -0
  190. package/src/hooks/usePaymentCheckout.ts +281 -0
  191. package/src/index.ts +32 -0
  192. package/src/plugin/index.ts +17 -0
  193. package/src/plugin/type.ts +4 -0
  194. package/src/plugin/withApplePay.ts +44 -0
  195. package/src/plugin/withGooglePay.ts +41 -0
  196. package/src/specs/ApplePayButton.nitro.ts +37 -0
  197. package/src/specs/GooglePayButton.nitro.ts +34 -0
  198. package/src/specs/PaymentHandler.nitro.ts +13 -0
  199. package/src/types/Contact.ts +58 -0
  200. package/src/types/Payment.ts +104 -0
  201. package/src/types/index.ts +2 -0
  202. package/src/utils/index.ts +5 -0
  203. package/src/utils/paymentHelpers.ts +215 -0
@@ -0,0 +1,52 @@
1
+ ///
2
+ /// PaymentMethodType.swift
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
+ /**
9
+ * Represents the JS union `PaymentMethodType`, backed by a C++ enum.
10
+ */
11
+ public typealias PaymentMethodType = margelo.nitro.pay.PaymentMethodType
12
+
13
+ public extension PaymentMethodType {
14
+ /**
15
+ * Get a PaymentMethodType for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "unknown":
21
+ self = .unknown
22
+ case "debit":
23
+ self = .debit
24
+ case "credit":
25
+ self = .credit
26
+ case "prepaid":
27
+ self = .prepaid
28
+ case "store":
29
+ self = .store
30
+ default:
31
+ return nil
32
+ }
33
+ }
34
+
35
+ /**
36
+ * Get the String value this PaymentMethodType represents.
37
+ */
38
+ var stringValue: String {
39
+ switch self {
40
+ case .unknown:
41
+ return "unknown"
42
+ case .debit:
43
+ return "debit"
44
+ case .credit:
45
+ return "credit"
46
+ case .prepaid:
47
+ return "prepaid"
48
+ case .store:
49
+ return "store"
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,76 @@
1
+ ///
2
+ /// PaymentNetwork.swift
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
+ /**
9
+ * Represents the JS union `PaymentNetwork`, backed by a C++ enum.
10
+ */
11
+ public typealias PaymentNetwork = margelo.nitro.pay.PaymentNetwork
12
+
13
+ public extension PaymentNetwork {
14
+ /**
15
+ * Get a PaymentNetwork for the given String value, or
16
+ * return `nil` if the given value was invalid/unknown.
17
+ */
18
+ init?(fromString string: String) {
19
+ switch string {
20
+ case "visa":
21
+ self = .visa
22
+ case "mastercard":
23
+ self = .mastercard
24
+ case "amex":
25
+ self = .amex
26
+ case "discover":
27
+ self = .discover
28
+ case "jcb":
29
+ self = .jcb
30
+ case "maestro":
31
+ self = .maestro
32
+ case "electron":
33
+ self = .electron
34
+ case "elo":
35
+ self = .elo
36
+ case "idcredit":
37
+ self = .idcredit
38
+ case "interac":
39
+ self = .interac
40
+ case "privateLabel":
41
+ self = .privatelabel
42
+ default:
43
+ return nil
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Get the String value this PaymentNetwork represents.
49
+ */
50
+ var stringValue: String {
51
+ switch self {
52
+ case .visa:
53
+ return "visa"
54
+ case .mastercard:
55
+ return "mastercard"
56
+ case .amex:
57
+ return "amex"
58
+ case .discover:
59
+ return "discover"
60
+ case .jcb:
61
+ return "jcb"
62
+ case .maestro:
63
+ return "maestro"
64
+ case .electron:
65
+ return "electron"
66
+ case .elo:
67
+ return "elo"
68
+ case .idcredit:
69
+ return "idcredit"
70
+ case .interac:
71
+ return "interac"
72
+ case .privatelabel:
73
+ return "privateLabel"
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,341 @@
1
+ ///
2
+ /// PaymentRequest.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `PaymentRequest`, backed by a C++ struct.
12
+ */
13
+ public typealias PaymentRequest = margelo.nitro.pay.PaymentRequest
14
+
15
+ public extension PaymentRequest {
16
+ private typealias bridge = margelo.nitro.pay.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `PaymentRequest`.
20
+ */
21
+ init(merchantIdentifier: String, countryCode: String, currencyCode: String, paymentItems: [PaymentItem], merchantCapabilities: [String], supportedNetworks: [String], shippingType: String?, shippingMethods: [PaymentItem]?, billingContactRequired: Bool?, shippingContactRequired: Bool?, googlePayEnvironment: GooglePayEnvironment?, googlePayGateway: String?, googlePayGatewayMerchantId: String?) {
22
+ self.init(std.string(merchantIdentifier), std.string(countryCode), std.string(currencyCode), { () -> bridge.std__vector_PaymentItem_ in
23
+ var __vector = bridge.create_std__vector_PaymentItem_(paymentItems.count)
24
+ for __item in paymentItems {
25
+ __vector.push_back(__item)
26
+ }
27
+ return __vector
28
+ }(), { () -> bridge.std__vector_std__string_ in
29
+ var __vector = bridge.create_std__vector_std__string_(merchantCapabilities.count)
30
+ for __item in merchantCapabilities {
31
+ __vector.push_back(std.string(__item))
32
+ }
33
+ return __vector
34
+ }(), { () -> bridge.std__vector_std__string_ in
35
+ var __vector = bridge.create_std__vector_std__string_(supportedNetworks.count)
36
+ for __item in supportedNetworks {
37
+ __vector.push_back(std.string(__item))
38
+ }
39
+ return __vector
40
+ }(), { () -> bridge.std__optional_std__string_ in
41
+ if let __unwrappedValue = shippingType {
42
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
43
+ } else {
44
+ return .init()
45
+ }
46
+ }(), { () -> bridge.std__optional_std__vector_PaymentItem__ in
47
+ if let __unwrappedValue = shippingMethods {
48
+ return bridge.create_std__optional_std__vector_PaymentItem__({ () -> bridge.std__vector_PaymentItem_ in
49
+ var __vector = bridge.create_std__vector_PaymentItem_(__unwrappedValue.count)
50
+ for __item in __unwrappedValue {
51
+ __vector.push_back(__item)
52
+ }
53
+ return __vector
54
+ }())
55
+ } else {
56
+ return .init()
57
+ }
58
+ }(), { () -> bridge.std__optional_bool_ in
59
+ if let __unwrappedValue = billingContactRequired {
60
+ return bridge.create_std__optional_bool_(__unwrappedValue)
61
+ } else {
62
+ return .init()
63
+ }
64
+ }(), { () -> bridge.std__optional_bool_ in
65
+ if let __unwrappedValue = shippingContactRequired {
66
+ return bridge.create_std__optional_bool_(__unwrappedValue)
67
+ } else {
68
+ return .init()
69
+ }
70
+ }(), { () -> bridge.std__optional_GooglePayEnvironment_ in
71
+ if let __unwrappedValue = googlePayEnvironment {
72
+ return bridge.create_std__optional_GooglePayEnvironment_(__unwrappedValue)
73
+ } else {
74
+ return .init()
75
+ }
76
+ }(), { () -> bridge.std__optional_std__string_ in
77
+ if let __unwrappedValue = googlePayGateway {
78
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
79
+ } else {
80
+ return .init()
81
+ }
82
+ }(), { () -> bridge.std__optional_std__string_ in
83
+ if let __unwrappedValue = googlePayGatewayMerchantId {
84
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
85
+ } else {
86
+ return .init()
87
+ }
88
+ }())
89
+ }
90
+
91
+ var merchantIdentifier: String {
92
+ @inline(__always)
93
+ get {
94
+ return String(self.__merchantIdentifier)
95
+ }
96
+ @inline(__always)
97
+ set {
98
+ self.__merchantIdentifier = std.string(newValue)
99
+ }
100
+ }
101
+
102
+ var countryCode: String {
103
+ @inline(__always)
104
+ get {
105
+ return String(self.__countryCode)
106
+ }
107
+ @inline(__always)
108
+ set {
109
+ self.__countryCode = std.string(newValue)
110
+ }
111
+ }
112
+
113
+ var currencyCode: String {
114
+ @inline(__always)
115
+ get {
116
+ return String(self.__currencyCode)
117
+ }
118
+ @inline(__always)
119
+ set {
120
+ self.__currencyCode = std.string(newValue)
121
+ }
122
+ }
123
+
124
+ var paymentItems: [PaymentItem] {
125
+ @inline(__always)
126
+ get {
127
+ return self.__paymentItems.map({ __item in __item })
128
+ }
129
+ @inline(__always)
130
+ set {
131
+ self.__paymentItems = { () -> bridge.std__vector_PaymentItem_ in
132
+ var __vector = bridge.create_std__vector_PaymentItem_(newValue.count)
133
+ for __item in newValue {
134
+ __vector.push_back(__item)
135
+ }
136
+ return __vector
137
+ }()
138
+ }
139
+ }
140
+
141
+ var merchantCapabilities: [String] {
142
+ @inline(__always)
143
+ get {
144
+ return self.__merchantCapabilities.map({ __item in String(__item) })
145
+ }
146
+ @inline(__always)
147
+ set {
148
+ self.__merchantCapabilities = { () -> bridge.std__vector_std__string_ in
149
+ var __vector = bridge.create_std__vector_std__string_(newValue.count)
150
+ for __item in newValue {
151
+ __vector.push_back(std.string(__item))
152
+ }
153
+ return __vector
154
+ }()
155
+ }
156
+ }
157
+
158
+ var supportedNetworks: [String] {
159
+ @inline(__always)
160
+ get {
161
+ return self.__supportedNetworks.map({ __item in String(__item) })
162
+ }
163
+ @inline(__always)
164
+ set {
165
+ self.__supportedNetworks = { () -> bridge.std__vector_std__string_ in
166
+ var __vector = bridge.create_std__vector_std__string_(newValue.count)
167
+ for __item in newValue {
168
+ __vector.push_back(std.string(__item))
169
+ }
170
+ return __vector
171
+ }()
172
+ }
173
+ }
174
+
175
+ var shippingType: String? {
176
+ @inline(__always)
177
+ get {
178
+ return { () -> String? in
179
+ if bridge.has_value_std__optional_std__string_(self.__shippingType) {
180
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__shippingType)
181
+ return String(__unwrapped)
182
+ } else {
183
+ return nil
184
+ }
185
+ }()
186
+ }
187
+ @inline(__always)
188
+ set {
189
+ self.__shippingType = { () -> bridge.std__optional_std__string_ in
190
+ if let __unwrappedValue = newValue {
191
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
192
+ } else {
193
+ return .init()
194
+ }
195
+ }()
196
+ }
197
+ }
198
+
199
+ var shippingMethods: [PaymentItem]? {
200
+ @inline(__always)
201
+ get {
202
+ return { () -> [PaymentItem]? in
203
+ if bridge.has_value_std__optional_std__vector_PaymentItem__(self.__shippingMethods) {
204
+ let __unwrapped = bridge.get_std__optional_std__vector_PaymentItem__(self.__shippingMethods)
205
+ return __unwrapped.map({ __item in __item })
206
+ } else {
207
+ return nil
208
+ }
209
+ }()
210
+ }
211
+ @inline(__always)
212
+ set {
213
+ self.__shippingMethods = { () -> bridge.std__optional_std__vector_PaymentItem__ in
214
+ if let __unwrappedValue = newValue {
215
+ return bridge.create_std__optional_std__vector_PaymentItem__({ () -> bridge.std__vector_PaymentItem_ in
216
+ var __vector = bridge.create_std__vector_PaymentItem_(__unwrappedValue.count)
217
+ for __item in __unwrappedValue {
218
+ __vector.push_back(__item)
219
+ }
220
+ return __vector
221
+ }())
222
+ } else {
223
+ return .init()
224
+ }
225
+ }()
226
+ }
227
+ }
228
+
229
+ var billingContactRequired: Bool? {
230
+ @inline(__always)
231
+ get {
232
+ return { () -> Bool? in
233
+ if bridge.has_value_std__optional_bool_(self.__billingContactRequired) {
234
+ let __unwrapped = bridge.get_std__optional_bool_(self.__billingContactRequired)
235
+ return __unwrapped
236
+ } else {
237
+ return nil
238
+ }
239
+ }()
240
+ }
241
+ @inline(__always)
242
+ set {
243
+ self.__billingContactRequired = { () -> bridge.std__optional_bool_ in
244
+ if let __unwrappedValue = newValue {
245
+ return bridge.create_std__optional_bool_(__unwrappedValue)
246
+ } else {
247
+ return .init()
248
+ }
249
+ }()
250
+ }
251
+ }
252
+
253
+ var shippingContactRequired: Bool? {
254
+ @inline(__always)
255
+ get {
256
+ return { () -> Bool? in
257
+ if bridge.has_value_std__optional_bool_(self.__shippingContactRequired) {
258
+ let __unwrapped = bridge.get_std__optional_bool_(self.__shippingContactRequired)
259
+ return __unwrapped
260
+ } else {
261
+ return nil
262
+ }
263
+ }()
264
+ }
265
+ @inline(__always)
266
+ set {
267
+ self.__shippingContactRequired = { () -> bridge.std__optional_bool_ in
268
+ if let __unwrappedValue = newValue {
269
+ return bridge.create_std__optional_bool_(__unwrappedValue)
270
+ } else {
271
+ return .init()
272
+ }
273
+ }()
274
+ }
275
+ }
276
+
277
+ var googlePayEnvironment: GooglePayEnvironment? {
278
+ @inline(__always)
279
+ get {
280
+ return self.__googlePayEnvironment.value
281
+ }
282
+ @inline(__always)
283
+ set {
284
+ self.__googlePayEnvironment = { () -> bridge.std__optional_GooglePayEnvironment_ in
285
+ if let __unwrappedValue = newValue {
286
+ return bridge.create_std__optional_GooglePayEnvironment_(__unwrappedValue)
287
+ } else {
288
+ return .init()
289
+ }
290
+ }()
291
+ }
292
+ }
293
+
294
+ var googlePayGateway: String? {
295
+ @inline(__always)
296
+ get {
297
+ return { () -> String? in
298
+ if bridge.has_value_std__optional_std__string_(self.__googlePayGateway) {
299
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__googlePayGateway)
300
+ return String(__unwrapped)
301
+ } else {
302
+ return nil
303
+ }
304
+ }()
305
+ }
306
+ @inline(__always)
307
+ set {
308
+ self.__googlePayGateway = { () -> bridge.std__optional_std__string_ in
309
+ if let __unwrappedValue = newValue {
310
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
311
+ } else {
312
+ return .init()
313
+ }
314
+ }()
315
+ }
316
+ }
317
+
318
+ var googlePayGatewayMerchantId: String? {
319
+ @inline(__always)
320
+ get {
321
+ return { () -> String? in
322
+ if bridge.has_value_std__optional_std__string_(self.__googlePayGatewayMerchantId) {
323
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__googlePayGatewayMerchantId)
324
+ return String(__unwrapped)
325
+ } else {
326
+ return nil
327
+ }
328
+ }()
329
+ }
330
+ @inline(__always)
331
+ set {
332
+ self.__googlePayGatewayMerchantId = { () -> bridge.std__optional_std__string_ in
333
+ if let __unwrappedValue = newValue {
334
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
335
+ } else {
336
+ return .init()
337
+ }
338
+ }()
339
+ }
340
+ }
341
+ }
@@ -0,0 +1,118 @@
1
+ ///
2
+ /// PaymentResult.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `PaymentResult`, backed by a C++ struct.
12
+ */
13
+ public typealias PaymentResult = margelo.nitro.pay.PaymentResult
14
+
15
+ public extension PaymentResult {
16
+ private typealias bridge = margelo.nitro.pay.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `PaymentResult`.
20
+ */
21
+ init(success: Bool, transactionId: String?, token: PaymentToken?, error: String?) {
22
+ self.init(success, { () -> bridge.std__optional_std__string_ in
23
+ if let __unwrappedValue = transactionId {
24
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
25
+ } else {
26
+ return .init()
27
+ }
28
+ }(), { () -> bridge.std__optional_PaymentToken_ in
29
+ if let __unwrappedValue = token {
30
+ return bridge.create_std__optional_PaymentToken_(__unwrappedValue)
31
+ } else {
32
+ return .init()
33
+ }
34
+ }(), { () -> bridge.std__optional_std__string_ in
35
+ if let __unwrappedValue = error {
36
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
37
+ } else {
38
+ return .init()
39
+ }
40
+ }())
41
+ }
42
+
43
+ var success: Bool {
44
+ @inline(__always)
45
+ get {
46
+ return self.__success
47
+ }
48
+ @inline(__always)
49
+ set {
50
+ self.__success = newValue
51
+ }
52
+ }
53
+
54
+ var transactionId: String? {
55
+ @inline(__always)
56
+ get {
57
+ return { () -> String? in
58
+ if bridge.has_value_std__optional_std__string_(self.__transactionId) {
59
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__transactionId)
60
+ return String(__unwrapped)
61
+ } else {
62
+ return nil
63
+ }
64
+ }()
65
+ }
66
+ @inline(__always)
67
+ set {
68
+ self.__transactionId = { () -> bridge.std__optional_std__string_ in
69
+ if let __unwrappedValue = newValue {
70
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
71
+ } else {
72
+ return .init()
73
+ }
74
+ }()
75
+ }
76
+ }
77
+
78
+ var token: PaymentToken? {
79
+ @inline(__always)
80
+ get {
81
+ return self.__token.value
82
+ }
83
+ @inline(__always)
84
+ set {
85
+ self.__token = { () -> bridge.std__optional_PaymentToken_ in
86
+ if let __unwrappedValue = newValue {
87
+ return bridge.create_std__optional_PaymentToken_(__unwrappedValue)
88
+ } else {
89
+ return .init()
90
+ }
91
+ }()
92
+ }
93
+ }
94
+
95
+ var error: String? {
96
+ @inline(__always)
97
+ get {
98
+ return { () -> String? in
99
+ if bridge.has_value_std__optional_std__string_(self.__error) {
100
+ let __unwrapped = bridge.get_std__optional_std__string_(self.__error)
101
+ return String(__unwrapped)
102
+ } else {
103
+ return nil
104
+ }
105
+ }()
106
+ }
107
+ @inline(__always)
108
+ set {
109
+ self.__error = { () -> bridge.std__optional_std__string_ in
110
+ if let __unwrappedValue = newValue {
111
+ return bridge.create_std__optional_std__string_(std.string(__unwrappedValue))
112
+ } else {
113
+ return .init()
114
+ }
115
+ }()
116
+ }
117
+ }
118
+ }
@@ -0,0 +1,57 @@
1
+ ///
2
+ /// PaymentToken.swift
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
+ import NitroModules
9
+
10
+ /**
11
+ * Represents an instance of `PaymentToken`, backed by a C++ struct.
12
+ */
13
+ public typealias PaymentToken = margelo.nitro.pay.PaymentToken
14
+
15
+ public extension PaymentToken {
16
+ private typealias bridge = margelo.nitro.pay.bridge.swift
17
+
18
+ /**
19
+ * Create a new instance of `PaymentToken`.
20
+ */
21
+ init(paymentMethod: PaymentMethod, transactionIdentifier: String, paymentData: String) {
22
+ self.init(paymentMethod, std.string(transactionIdentifier), std.string(paymentData))
23
+ }
24
+
25
+ var paymentMethod: PaymentMethod {
26
+ @inline(__always)
27
+ get {
28
+ return self.__paymentMethod
29
+ }
30
+ @inline(__always)
31
+ set {
32
+ self.__paymentMethod = newValue
33
+ }
34
+ }
35
+
36
+ var transactionIdentifier: String {
37
+ @inline(__always)
38
+ get {
39
+ return String(self.__transactionIdentifier)
40
+ }
41
+ @inline(__always)
42
+ set {
43
+ self.__transactionIdentifier = std.string(newValue)
44
+ }
45
+ }
46
+
47
+ var paymentData: String {
48
+ @inline(__always)
49
+ get {
50
+ return String(self.__paymentData)
51
+ }
52
+ @inline(__always)
53
+ set {
54
+ self.__paymentData = std.string(newValue)
55
+ }
56
+ }
57
+ }