react-native-payengine 1.0.5

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 (114) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +152 -0
  3. package/android/.gradle/5.6.4/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
  5. package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/5.6.4/gc.properties +0 -0
  7. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  9. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/.idea/compiler.xml +6 -0
  12. package/android/.idea/gradle.xml +18 -0
  13. package/android/.idea/jarRepositories.xml +35 -0
  14. package/android/.idea/misc.xml +10 -0
  15. package/android/.idea/vcs.xml +6 -0
  16. package/android/build.gradle +147 -0
  17. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  18. package/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  19. package/android/gradle.properties +5 -0
  20. package/android/gradlew +172 -0
  21. package/android/gradlew.bat +84 -0
  22. package/android/local.properties +8 -0
  23. package/android/src/main/AndroidManifest.xml +4 -0
  24. package/android/src/main/java/com/reactnativepayengine/PayengineModule.java +33 -0
  25. package/android/src/main/java/com/reactnativepayengine/PayenginePackage.java +64 -0
  26. package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectModule.java +148 -0
  27. package/android/src/main/java/com/reactnativepayengine/collect/VGSCollectOnCreateViewInstanceListener.java +6 -0
  28. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCVCField.java +67 -0
  29. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardHolderNameField.java +53 -0
  30. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSCardNumberField.java +57 -0
  31. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSExpDateField.java +54 -0
  32. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSTextField.java +57 -0
  33. package/android/src/main/java/com/reactnativepayengine/collect/fields/VGSZipCodeField.java +62 -0
  34. package/android/src/main/java/com/reactnativepayengine/util/JSONObjectUtil.java +138 -0
  35. package/android/src/main/java/com/reactnativepayengine/util/ResourceUtil.java +14 -0
  36. package/android/vgscollect-1.7.2-debug.aar +0 -0
  37. package/ios/Payengine-Bridging-Header.h +2 -0
  38. package/ios/Payengine.m +55 -0
  39. package/ios/Payengine.swift +637 -0
  40. package/ios/Payengine.xcodeproj/project.pbxproj +317 -0
  41. package/ios/Payengine.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  42. package/ios/Payengine.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  43. package/ios/Payengine.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +34 -0
  44. package/ios/Payengine.xcodeproj/project.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  45. package/ios/Payengine.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +24 -0
  46. package/ios/Payengine.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  47. package/ios/Payengine.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  48. package/ios/Payengine.xcworkspace/xcuserdata/tringuyen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  49. package/ios/Pods/Pods.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcschemes/Pods-Payengine.xcscheme +58 -0
  50. package/ios/Pods/Pods.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcschemes/VGSCollectSDK-CardIcon.xcscheme +58 -0
  51. package/ios/Pods/Pods.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcschemes/VGSCollectSDK.xcscheme +58 -0
  52. package/ios/Pods/Pods.xcodeproj/xcuserdata/tringuyen.xcuserdatad/xcschemes/xcschememanagement.plist +32 -0
  53. package/lib/commonjs/components/LoadingIndicator.js +42 -0
  54. package/lib/commonjs/components/LoadingIndicator.js.map +1 -0
  55. package/lib/commonjs/components/PayEngine.js +141 -0
  56. package/lib/commonjs/components/PayEngine.js.map +1 -0
  57. package/lib/commonjs/components/SecureFields/VGS/CVCField.js +26 -0
  58. package/lib/commonjs/components/SecureFields/VGS/CVCField.js.map +1 -0
  59. package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js +26 -0
  60. package/lib/commonjs/components/SecureFields/VGS/CardHolderNameField.js.map +1 -0
  61. package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js +26 -0
  62. package/lib/commonjs/components/SecureFields/VGS/CardNumberField.js.map +1 -0
  63. package/lib/commonjs/components/SecureFields/VGS/CollectManager.js +65 -0
  64. package/lib/commonjs/components/SecureFields/VGS/CollectManager.js.map +1 -0
  65. package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js +26 -0
  66. package/lib/commonjs/components/SecureFields/VGS/ExpDateField.js.map +1 -0
  67. package/lib/commonjs/components/SecureFields/VGS/TextField.js +30 -0
  68. package/lib/commonjs/components/SecureFields/VGS/TextField.js.map +1 -0
  69. package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js +26 -0
  70. package/lib/commonjs/components/SecureFields/VGS/ZipCodeField.js.map +1 -0
  71. package/lib/commonjs/components/SecureFields/index.js +34 -0
  72. package/lib/commonjs/components/SecureFields/index.js.map +1 -0
  73. package/lib/commonjs/index.js +42 -0
  74. package/lib/commonjs/index.js.map +1 -0
  75. package/lib/commonjs/utils/index.js +112 -0
  76. package/lib/commonjs/utils/index.js.map +1 -0
  77. package/lib/module/components/LoadingIndicator.js +28 -0
  78. package/lib/module/components/LoadingIndicator.js.map +1 -0
  79. package/lib/module/components/PayEngine.js +124 -0
  80. package/lib/module/components/PayEngine.js.map +1 -0
  81. package/lib/module/components/SecureFields/VGS/CVCField.js +14 -0
  82. package/lib/module/components/SecureFields/VGS/CVCField.js.map +1 -0
  83. package/lib/module/components/SecureFields/VGS/CardHolderNameField.js +14 -0
  84. package/lib/module/components/SecureFields/VGS/CardHolderNameField.js.map +1 -0
  85. package/lib/module/components/SecureFields/VGS/CardNumberField.js +14 -0
  86. package/lib/module/components/SecureFields/VGS/CardNumberField.js.map +1 -0
  87. package/lib/module/components/SecureFields/VGS/CollectManager.js +50 -0
  88. package/lib/module/components/SecureFields/VGS/CollectManager.js.map +1 -0
  89. package/lib/module/components/SecureFields/VGS/ExpDateField.js +14 -0
  90. package/lib/module/components/SecureFields/VGS/ExpDateField.js.map +1 -0
  91. package/lib/module/components/SecureFields/VGS/TextField.js +17 -0
  92. package/lib/module/components/SecureFields/VGS/TextField.js.map +1 -0
  93. package/lib/module/components/SecureFields/VGS/ZipCodeField.js +14 -0
  94. package/lib/module/components/SecureFields/VGS/ZipCodeField.js.map +1 -0
  95. package/lib/module/components/SecureFields/index.js +17 -0
  96. package/lib/module/components/SecureFields/index.js.map +1 -0
  97. package/lib/module/index.js +18 -0
  98. package/lib/module/index.js.map +1 -0
  99. package/lib/module/utils/index.js +96 -0
  100. package/lib/module/utils/index.js.map +1 -0
  101. package/lib/typescript/components/LoadingIndicator.d.ts +2 -0
  102. package/lib/typescript/components/PayEngine.d.ts +15 -0
  103. package/lib/typescript/components/SecureFields/VGS/CVCField.d.ts +10 -0
  104. package/lib/typescript/components/SecureFields/VGS/CardHolderNameField.d.ts +10 -0
  105. package/lib/typescript/components/SecureFields/VGS/CardNumberField.d.ts +10 -0
  106. package/lib/typescript/components/SecureFields/VGS/CollectManager.d.ts +12 -0
  107. package/lib/typescript/components/SecureFields/VGS/ExpDateField.d.ts +10 -0
  108. package/lib/typescript/components/SecureFields/VGS/TextField.d.ts +14 -0
  109. package/lib/typescript/components/SecureFields/VGS/ZipCodeField.d.ts +10 -0
  110. package/lib/typescript/components/SecureFields/index.d.ts +16 -0
  111. package/lib/typescript/index.d.ts +5 -0
  112. package/lib/typescript/utils/index.d.ts +45 -0
  113. package/package.json +154 -0
  114. package/react-native-payengine.podspec +38 -0
@@ -0,0 +1,62 @@
1
+ package com.reactnativepayengine.collect.fields;
2
+
3
+ import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
5
+
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.uimanager.SimpleViewManager;
8
+ import com.facebook.react.uimanager.ThemedReactContext;
9
+ import com.facebook.react.uimanager.annotations.ReactProp;
10
+ import com.reactnativepayengine.collect.VGSCollectOnCreateViewInstanceListener;
11
+ import com.verygoodsecurity.vgscollect.view.card.validation.rules.VGSInfoRule;
12
+ import com.verygoodsecurity.vgscollect.widget.ExpirationDateEditText;
13
+ import com.verygoodsecurity.vgscollect.widget.VGSEditText;
14
+ import com.verygoodsecurity.vgscollect.widget.VGSTextInputLayout;
15
+
16
+ public class VGSZipCodeField extends SimpleViewManager<VGSTextInputLayout> {
17
+ private final VGSCollectOnCreateViewInstanceListener listener;
18
+
19
+ private VGSEditText editText;
20
+ private VGSTextInputLayout vgsTextInputLayout;
21
+
22
+ ReactApplicationContext mCallerContext;
23
+
24
+ public VGSZipCodeField(VGSCollectOnCreateViewInstanceListener listener, ReactApplicationContext reactContext) {
25
+ this.listener = listener;
26
+ mCallerContext = reactContext;
27
+ }
28
+
29
+ @Override
30
+ public String getName() {
31
+ return "VGSZipCodeField";
32
+ }
33
+
34
+ @NonNull
35
+ @Override
36
+ protected VGSTextInputLayout createViewInstance(@NonNull ThemedReactContext reactContext) {
37
+ vgsTextInputLayout = new VGSTextInputLayout(reactContext);
38
+ vgsTextInputLayout.setHint("Zip code");
39
+ editText = new VGSEditText(reactContext);
40
+ editText.setIsRequired(true);
41
+ editText.setFieldName("address_zip");
42
+ VGSInfoRule rule = new VGSInfoRule.ValidationBuilder()
43
+ .setRegex("^(\\d{5}(-\\d{4})?|[a-z]\\d[a-z][- ]*\\d[a-z]\\d)$")
44
+ .setAllowableMinLength(1)
45
+ .setAllowableMaxLength(8)
46
+ .build();
47
+ editText.setRule(rule);
48
+ editText.enableValidation(true);
49
+ editText.setPadding(10, 0, 10, 0);
50
+
51
+ vgsTextInputLayout.addView(editText);
52
+
53
+ this.listener.onCreateViewInstance(editText);
54
+ return vgsTextInputLayout;
55
+ }
56
+
57
+ @ReactProp(name = "placeholder")
58
+ public void setPlaceholder(VGSTextInputLayout view, @Nullable String placeholder) {
59
+ vgsTextInputLayout.setHint(placeholder);
60
+ }
61
+ }
62
+
@@ -0,0 +1,138 @@
1
+ package com.reactnativepayengine.util;
2
+
3
+ import static com.facebook.react.bridge.ReadableType.Array;
4
+
5
+ import com.facebook.react.bridge.ReadableArray;
6
+ import com.facebook.react.bridge.ReadableMap;
7
+ import com.facebook.react.bridge.ReadableMapKeySetIterator;
8
+ import com.facebook.react.bridge.WritableArray;
9
+ import com.facebook.react.bridge.WritableMap;
10
+ import com.facebook.react.bridge.WritableNativeArray;
11
+ import com.facebook.react.bridge.WritableNativeMap;
12
+
13
+ import org.json.JSONArray;
14
+ import org.json.JSONObject;
15
+ import org.json.JSONException;
16
+
17
+ import java.util.Iterator;
18
+
19
+ public class JSONObjectUtil {
20
+
21
+ public static String getValue(String bodyStr, String key) {
22
+ try {
23
+ JSONObject body = new JSONObject(bodyStr);
24
+ if (body.has("json") && body.getJSONObject("json").has(key)) {
25
+ return body.getJSONObject("json").getString(key);
26
+ }
27
+ } catch (JSONException e) {
28
+ e.printStackTrace();
29
+ }
30
+ return "";
31
+ }
32
+
33
+ public static WritableMap convertJsonToMap(JSONObject jsonObject) throws JSONException {
34
+ WritableMap map = new WritableNativeMap();
35
+
36
+ Iterator<String> iterator = jsonObject.keys();
37
+ while (iterator.hasNext()) {
38
+ String key = iterator.next();
39
+ Object value = jsonObject.get(key);
40
+ if (value instanceof JSONObject) {
41
+ map.putMap(key, convertJsonToMap((JSONObject) value));
42
+ } else if (value instanceof JSONArray) {
43
+ map.putArray(key, convertJsonToArray((JSONArray) value));
44
+ } else if (value instanceof Boolean) {
45
+ map.putBoolean(key, (Boolean) value);
46
+ } else if (value instanceof Integer) {
47
+ map.putInt(key, (Integer) value);
48
+ } else if (value instanceof Double) {
49
+ map.putDouble(key, (Double) value);
50
+ } else if (value instanceof String) {
51
+ map.putString(key, (String) value);
52
+ } else {
53
+ map.putString(key, value.toString());
54
+ }
55
+ }
56
+ return map;
57
+ }
58
+
59
+ public static WritableArray convertJsonToArray(JSONArray jsonArray) throws JSONException {
60
+ WritableArray array = new WritableNativeArray();
61
+
62
+ for (int i = 0; i < jsonArray.length(); i++) {
63
+ Object value = jsonArray.get(i);
64
+ if (value instanceof JSONObject) {
65
+ array.pushMap(convertJsonToMap((JSONObject) value));
66
+ } else if (value instanceof JSONArray) {
67
+ array.pushArray(convertJsonToArray((JSONArray) value));
68
+ } else if (value instanceof Boolean) {
69
+ array.pushBoolean((Boolean) value);
70
+ } else if (value instanceof Integer) {
71
+ array.pushInt((Integer) value);
72
+ } else if (value instanceof Double) {
73
+ array.pushDouble((Double) value);
74
+ } else if (value instanceof String) {
75
+ array.pushString((String) value);
76
+ } else {
77
+ array.pushString(value.toString());
78
+ }
79
+ }
80
+ return array;
81
+ }
82
+
83
+ public static JSONObject convertMapToJson(ReadableMap readableMap) throws JSONException {
84
+ JSONObject object = new JSONObject();
85
+ ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
86
+ while (iterator.hasNextKey()) {
87
+ String key = iterator.nextKey();
88
+ switch (readableMap.getType(key)) {
89
+ case Null:
90
+ object.put(key, JSONObject.NULL);
91
+ break;
92
+ case Boolean:
93
+ object.put(key, readableMap.getBoolean(key));
94
+ break;
95
+ case Number:
96
+ object.put(key, readableMap.getDouble(key));
97
+ break;
98
+ case String:
99
+ object.put(key, readableMap.getString(key));
100
+ break;
101
+ case Map:
102
+ object.put(key, convertMapToJson(readableMap.getMap(key)));
103
+ break;
104
+ case Array:
105
+ object.put(key, convertArrayToJson(readableMap.getArray(key)));
106
+ break;
107
+ }
108
+ }
109
+ return object;
110
+ }
111
+
112
+ public static JSONArray convertArrayToJson(ReadableArray readableArray) throws JSONException {
113
+ JSONArray array = new JSONArray();
114
+ for (int i = 0; i < readableArray.size(); i++) {
115
+ switch (readableArray.getType(i)) {
116
+ case Null:
117
+ break;
118
+ case Boolean:
119
+ array.put(readableArray.getBoolean(i));
120
+ break;
121
+ case Number:
122
+ array.put(readableArray.getDouble(i));
123
+ break;
124
+ case String:
125
+ array.put(readableArray.getString(i));
126
+ break;
127
+ case Map:
128
+ array.put(convertMapToJson(readableArray.getMap(i)));
129
+ break;
130
+ case Array:
131
+ array.put(convertArrayToJson(readableArray.getArray(i)));
132
+ break;
133
+ }
134
+ }
135
+ return array;
136
+ }
137
+
138
+ }
@@ -0,0 +1,14 @@
1
+ package com.reactnativepayengine.util;
2
+
3
+ import android.util.DisplayMetrics;
4
+ import android.content.Context;
5
+ import android.util.TypedValue;
6
+
7
+ public class ResourceUtil {
8
+
9
+ public static int convertPxToDp(Context context, int dip) {
10
+ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
11
+ return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, displayMetrics);
12
+ }
13
+
14
+ }
@@ -0,0 +1,2 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTViewManager.h>
@@ -0,0 +1,55 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <Foundation/Foundation.h>
3
+ #import <React/RCTViewManager.h>
4
+
5
+ @interface RCT_EXTERN_MODULE(Payengine, NSObject)
6
+
7
+ RCT_EXTERN_METHOD(multiply:(float)a withB:(float)b
8
+ withResolver:(RCTPromiseResolveBlock)resolve
9
+ withRejecter:(RCTPromiseRejectBlock)reject)
10
+
11
+ + (BOOL)requiresMainQueueSetup
12
+ {
13
+ return NO;
14
+ }
15
+
16
+ @end
17
+
18
+ @interface RCT_EXTERN_MODULE(VGSCollectManager, RCTViewManager)
19
+
20
+ RCT_EXTERN_METHOD(setConfiguration: (NSString *)vaultId environment:(NSString *)environment hostname:(NSString *)hostname satellitePort:(NSInteger *)satellitePort);
21
+
22
+ RCT_EXTERN_METHOD(createCard: (NSString *)merchantId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject);
23
+ RCT_EXTERN_METHOD(createBankAccount: (NSString *)merchantId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject);
24
+
25
+ @end
26
+
27
+
28
+ @interface RCT_EXTERN_MODULE(VGSCardNumberFieldManager, RCTViewManager)
29
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
30
+ @end
31
+
32
+ @interface RCT_EXTERN_MODULE(VGSExpDateFieldManager, RCTViewManager)
33
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
34
+ @end
35
+
36
+ @interface RCT_EXTERN_MODULE(VGSCVCFieldManager, RCTViewManager)
37
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
38
+ @end
39
+
40
+ @interface RCT_EXTERN_MODULE(VGSCardHolderNameFieldManager, RCTViewManager)
41
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
42
+ @end
43
+
44
+ @interface RCT_EXTERN_MODULE(VGSZipCodeFieldManager, RCTViewManager)
45
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
46
+ @end
47
+
48
+
49
+ @interface RCT_EXTERN_MODULE(VGSTextFieldManager, RCTViewManager)
50
+ RCT_EXPORT_VIEW_PROPERTY(placeholder, NSString)
51
+ RCT_EXPORT_VIEW_PROPERTY(name, NSString)
52
+ RCT_EXPORT_VIEW_PROPERTY(pattern, NSString)
53
+ RCT_EXPORT_VIEW_PROPERTY(maxlength, NSNumber)
54
+ @end
55
+