card-react-native 0.0.13 → 1.0.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 (31) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/cardsdkreactnative/CardSdkReactNativeViewManager.kt +26 -13
  3. package/card-react-native.podspec +2 -2
  4. package/ios/CardSdkReactNativeViewManager.m +2 -0
  5. package/ios/CardSdkReactNativeViewManager.swift +8 -0
  6. package/lib/commonjs/index.js +68 -68
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/models/config.js.map +1 -1
  9. package/lib/commonjs/models/enums/TapCurrencyCode.js +178 -2
  10. package/lib/commonjs/models/enums/TapCurrencyCode.js.map +1 -1
  11. package/lib/commonjs/models/enums/index.js.map +1 -1
  12. package/lib/commonjs/models/enums/sdkEnums.js +11 -22
  13. package/lib/commonjs/models/enums/sdkEnums.js.map +1 -1
  14. package/lib/commonjs/models/index.js.map +1 -1
  15. package/lib/commonjs/models/types.js.map +1 -1
  16. package/lib/module/index.js +65 -62
  17. package/lib/module/index.js.map +1 -1
  18. package/lib/module/models/config.js.map +1 -1
  19. package/lib/module/models/enums/TapCurrencyCode.js +177 -0
  20. package/lib/module/models/enums/TapCurrencyCode.js.map +1 -1
  21. package/lib/module/models/enums/index.js.map +1 -1
  22. package/lib/module/models/enums/sdkEnums.js.map +1 -1
  23. package/lib/module/models/index.js.map +1 -1
  24. package/lib/module/models/types.js.map +1 -1
  25. package/lib/typescript/src/index.d.ts +4 -0
  26. package/lib/typescript/src/index.d.ts.map +1 -1
  27. package/lib/typescript/src/models/config.d.ts +79 -12
  28. package/lib/typescript/src/models/config.d.ts.map +1 -1
  29. package/package.json +2 -2
  30. package/src/index.tsx +29 -20
  31. package/src/models/config.ts +81 -14
@@ -1,4 +1,4 @@
1
- import type { ColorStyle, Direction, Edges, Locale, Scope, SupportedSchemes, SupportedFundSource, SupportedPaymentAuthentications, TapCurrencyCode, Theme, Purpose } from './enums';
1
+ import type { ColorStyle, Direction, Edges, Locale, SupportedSchemes, SupportedFundSource, SupportedPaymentAuthentications, TapCurrencyCode, Theme } from './enums';
2
2
  export type Merchant = {
3
3
  id: String;
4
4
  };
@@ -93,19 +93,86 @@ export type Features = {
93
93
  };
94
94
  };
95
95
  export type Config = {
96
- merchant?: Merchant;
97
- order: Order;
98
- invoice?: Invoice;
99
- post?: Post;
96
+ order: {
97
+ description: string;
98
+ id: string;
99
+ amount: number;
100
+ currency: string;
101
+ reference: string;
102
+ metadata: {
103
+ [key: string]: string;
104
+ };
105
+ };
106
+ purpose: string;
107
+ scope: string;
108
+ post: {
109
+ url: string;
110
+ };
111
+ features: {
112
+ customerCards: {
113
+ autoSaveCard: boolean;
114
+ saveCard: boolean;
115
+ };
116
+ alternativeCardInputs: {
117
+ cardScanner: boolean;
118
+ };
119
+ acceptanceBadge: boolean;
120
+ };
121
+ customer: {
122
+ contact: {
123
+ email: string;
124
+ phone: {
125
+ countryCode: string;
126
+ number: string;
127
+ };
128
+ };
129
+ name: Array<{
130
+ lang: string;
131
+ first: string;
132
+ middle: string;
133
+ last: string;
134
+ }>;
135
+ nameOnCard: string;
136
+ id: string;
137
+ editable: boolean;
138
+ };
139
+ acceptance: {
140
+ supportedSchemes: string[];
141
+ supportedFundSource: string[];
142
+ supportedPaymentAuthentications: string[];
143
+ };
100
144
  operator: {
101
145
  publicKey: string;
102
146
  };
103
- purpose?: Purpose;
104
- fieldVisibility?: Fields;
105
- acceptance?: Acceptance;
106
- interface?: InterfaceConfig;
107
- scope: Scope;
108
- customer: Customer;
109
- features?: Features;
147
+ fieldVisibility: {
148
+ card: {
149
+ cvv: boolean;
150
+ cardHolder: boolean;
151
+ };
152
+ };
153
+ merchant: {
154
+ id: string;
155
+ };
156
+ invoice: {
157
+ id: string;
158
+ };
159
+ transaction: {
160
+ paymentAgreement: {
161
+ id: string;
162
+ contract: {
163
+ id: string;
164
+ };
165
+ };
166
+ reference: string;
167
+ };
168
+ interface: {
169
+ powered: boolean;
170
+ loader: boolean;
171
+ theme: string;
172
+ cardDirection: string;
173
+ colorStyle: string;
174
+ edges: string;
175
+ locale: string;
176
+ };
110
177
  };
111
178
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/models/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/models/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "card-react-native",
3
- "version": "0.0.13",
3
+ "version": "1.0.1",
4
4
  "description": "Tap Card SDK Wrapper",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -31,7 +31,7 @@
31
31
  "typecheck": "tsc --noEmit",
32
32
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
33
  "prepack": "bob build",
34
- "release": "release-it",
34
+ "release": "release-it patch",
35
35
  "example": "yarn --cwd example",
36
36
  "build:android": "cd example/android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a",
37
37
  "build:ios": "cd example/ios && xcodebuild -workspace CardSdkReactNativeExample.xcworkspace -scheme CardSdkReactNativeExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO",
package/src/index.tsx CHANGED
@@ -53,6 +53,7 @@ export interface ITapCardViewProps {
53
53
  onBinIdentification: (binIdentification: Object) => void;
54
54
  onInvalidInput: (invalid: boolean) => void;
55
55
  onError: (error: object) => void;
56
+ onChangeSaveCard: (saveCard: boolean) => void;
56
57
  }
57
58
 
58
59
  export interface ITapCardViewNativeProps {
@@ -76,6 +77,9 @@ export interface ITapCardViewNativeProps {
76
77
  onError: ({
77
78
  nativeEvent: { data },
78
79
  }: NativeSyntheticEvent<{ data: Object }>) => void;
80
+ onChangeSaveCard: ({
81
+ nativeEvent: { data },
82
+ }: NativeSyntheticEvent<{ data: boolean }>) => void;
79
83
  }
80
84
 
81
85
  // UIManager.setLayoutAnimationEnabledExperimental &&
@@ -92,6 +96,7 @@ function TapCardView(
92
96
  onBinIdentification,
93
97
  onInvalidInput,
94
98
  onError,
99
+ onChangeSaveCard,
95
100
  }: ITapCardViewProps,
96
101
  ref: TapCardViewInputRef
97
102
  ) {
@@ -162,27 +167,30 @@ function TapCardView(
162
167
  onError(data);
163
168
  };
164
169
 
170
+ const handleOnChangeSaveCard = ({
171
+ nativeEvent: { data },
172
+ }: NativeSyntheticEvent<{ data: boolean }>) => {
173
+ onChangeSaveCard(data);
174
+ };
175
+
165
176
  const iosConfig = useMemo(() => {
166
- if (config?.features?.alternativeCardInputs.cardNFC !== undefined) {
167
- return {
168
- ...config,
169
- features: {
170
- ...config.features,
171
- alternativeCardInputs: {
172
- ...(config.features.alternativeCardInputs ?? {
173
- cardNFC: false,
174
- cardScanner: false,
175
- }),
176
- cardNFC:
177
- Platform.OS === 'ios'
178
- ? false
179
- : config.features.alternativeCardInputs.cardNFC ?? false,
180
- },
181
- },
182
- };
183
- } else {
184
- return { ...config };
185
- }
177
+ // if (config?.features?.alternativeCardInputs.cardNFC !== undefined) {
178
+ // return {
179
+ // ...config,
180
+ // features: {
181
+ // ...config.features,
182
+ // alternativeCardInputs: {
183
+ // ...(config.features.alternativeCardInputs ?? {
184
+ // cardNFC: false,
185
+ // cardScanner: false,
186
+ // }),
187
+ // cardNFC: false,
188
+ // },
189
+ // },
190
+ // };
191
+ // } else {
192
+ return { ...config };
193
+ // }
186
194
  }, [config]);
187
195
 
188
196
  return (
@@ -203,6 +211,7 @@ function TapCardView(
203
211
  onHeightChange={handleOnHeightChange}
204
212
  onBinIdentification={handleOnBinIdentification}
205
213
  onInvalidInput={handleOnInvalidInput}
214
+ onChangeSaveCard={handleOnChangeSaveCard}
206
215
  onError={handleOnError}
207
216
  />
208
217
  </View>
@@ -3,13 +3,11 @@ import type {
3
3
  Direction,
4
4
  Edges,
5
5
  Locale,
6
- Scope,
7
6
  SupportedSchemes,
8
7
  SupportedFundSource,
9
8
  SupportedPaymentAuthentications,
10
9
  TapCurrencyCode,
11
10
  Theme,
12
- Purpose,
13
11
  } from './enums';
14
12
 
15
13
  export type Merchant = { id: String };
@@ -105,16 +103,85 @@ export type Features = {
105
103
  };
106
104
  };
107
105
  export type Config = {
108
- merchant?: Merchant;
109
- order: Order;
110
- invoice?: Invoice;
111
- post?: Post;
112
- operator: { publicKey: string };
113
- purpose?: Purpose;
114
- fieldVisibility?: Fields;
115
- acceptance?: Acceptance;
116
- interface?: InterfaceConfig;
117
- scope: Scope;
118
- customer: Customer;
119
- features?: Features;
106
+ order: {
107
+ description: string;
108
+ id: string;
109
+ amount: number;
110
+ currency: string;
111
+ reference: string;
112
+ metadata: {
113
+ [key: string]: string;
114
+ };
115
+ };
116
+ purpose: string;
117
+ scope: string;
118
+ post: {
119
+ url: string;
120
+ };
121
+ features: {
122
+ customerCards: {
123
+ autoSaveCard: boolean;
124
+ saveCard: boolean;
125
+ };
126
+ alternativeCardInputs: {
127
+ cardScanner: boolean;
128
+ };
129
+ acceptanceBadge: boolean;
130
+ };
131
+ customer: {
132
+ contact: {
133
+ email: string;
134
+ phone: {
135
+ countryCode: string;
136
+ number: string;
137
+ };
138
+ };
139
+ name: Array<{
140
+ lang: string;
141
+ first: string;
142
+ middle: string;
143
+ last: string;
144
+ }>;
145
+ nameOnCard: string;
146
+ id: string;
147
+ editable: boolean;
148
+ };
149
+ acceptance: {
150
+ supportedSchemes: string[];
151
+ supportedFundSource: string[];
152
+ supportedPaymentAuthentications: string[];
153
+ };
154
+ operator: {
155
+ publicKey: string;
156
+ };
157
+ fieldVisibility: {
158
+ card: {
159
+ cvv: boolean;
160
+ cardHolder: boolean;
161
+ };
162
+ };
163
+ merchant: {
164
+ id: string;
165
+ };
166
+ invoice: {
167
+ id: string;
168
+ };
169
+ transaction: {
170
+ paymentAgreement: {
171
+ id: string;
172
+ contract: {
173
+ id: string;
174
+ };
175
+ };
176
+ reference: string;
177
+ };
178
+ interface: {
179
+ powered: boolean;
180
+ loader: boolean;
181
+ theme: string;
182
+ cardDirection: string;
183
+ colorStyle: string;
184
+ edges: string;
185
+ locale: string;
186
+ };
120
187
  };