expo-openpay 0.1.0

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 (225) hide show
  1. package/.eslintrc.js +5 -0
  2. package/LICENSE +21 -0
  3. package/README.md +87 -0
  4. package/android/build.gradle +76 -0
  5. package/android/gradle.properties +2 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/java/expo/modules/openpay/ExpoOpenpayModule.kt +127 -0
  8. package/android/src/main/java/expo/modules/openpay/ExpoOpenpayView.kt +30 -0
  9. package/android/src/main/java/mx/openpay/android/BuildConfig.java +8 -0
  10. package/android/src/main/java/mx/openpay/android/DeviceCollectorDefaultImpl.java +70 -0
  11. package/android/src/main/java/mx/openpay/android/JavaScriptInterface.java +19 -0
  12. package/android/src/main/java/mx/openpay/android/OpCountry.java +24 -0
  13. package/android/src/main/java/mx/openpay/android/OpenPayResult.java +35 -0
  14. package/android/src/main/java/mx/openpay/android/Openpay.java +98 -0
  15. package/android/src/main/java/mx/openpay/android/OpenpayUrls.java +11 -0
  16. package/android/src/main/java/mx/openpay/android/OperationCallBack.java +13 -0
  17. package/android/src/main/java/mx/openpay/android/OperationResult.java +14 -0
  18. package/android/src/main/java/mx/openpay/android/exceptions/OpenpayServiceException.java +93 -0
  19. package/android/src/main/java/mx/openpay/android/exceptions/ServiceUnavailableException.java +23 -0
  20. package/android/src/main/java/mx/openpay/android/model/Address.java +123 -0
  21. package/android/src/main/java/mx/openpay/android/model/Card.java +219 -0
  22. package/android/src/main/java/mx/openpay/android/model/Token.java +43 -0
  23. package/android/src/main/java/mx/openpay/android/services/BaseService.java +93 -0
  24. package/android/src/main/java/mx/openpay/android/services/ServicesFactory.java +47 -0
  25. package/android/src/main/java/mx/openpay/android/services/TokenService.java +19 -0
  26. package/android/src/main/java/mx/openpay/android/validation/CardType.java +9 -0
  27. package/android/src/main/java/mx/openpay/android/validation/CardValidator.java +105 -0
  28. package/android/src/main/java/mx/openpay/android/validation/LuhnValidator.java +34 -0
  29. package/build/ExpoOpenpay.types.d.ts +42 -0
  30. package/build/ExpoOpenpay.types.d.ts.map +1 -0
  31. package/build/ExpoOpenpay.types.js +2 -0
  32. package/build/ExpoOpenpay.types.js.map +1 -0
  33. package/build/ExpoOpenpayModule.d.ts +10 -0
  34. package/build/ExpoOpenpayModule.d.ts.map +1 -0
  35. package/build/ExpoOpenpayModule.js +6 -0
  36. package/build/ExpoOpenpayModule.js.map +1 -0
  37. package/build/ExpoOpenpayModule.web.d.ts +10 -0
  38. package/build/ExpoOpenpayModule.web.d.ts.map +1 -0
  39. package/build/ExpoOpenpayModule.web.js +12 -0
  40. package/build/ExpoOpenpayModule.web.js.map +1 -0
  41. package/build/ExpoOpenpayView.d.ts +4 -0
  42. package/build/ExpoOpenpayView.d.ts.map +1 -0
  43. package/build/ExpoOpenpayView.js +7 -0
  44. package/build/ExpoOpenpayView.js.map +1 -0
  45. package/build/ExpoOpenpayView.web.d.ts +3 -0
  46. package/build/ExpoOpenpayView.web.d.ts.map +1 -0
  47. package/build/ExpoOpenpayView.web.js +5 -0
  48. package/build/ExpoOpenpayView.web.js.map +1 -0
  49. package/build/assets/AmexLogo.d.ts +4 -0
  50. package/build/assets/AmexLogo.d.ts.map +1 -0
  51. package/build/assets/AmexLogo.js +9 -0
  52. package/build/assets/AmexLogo.js.map +1 -0
  53. package/build/assets/MCLogo.d.ts +4 -0
  54. package/build/assets/MCLogo.d.ts.map +1 -0
  55. package/build/assets/MCLogo.js +9 -0
  56. package/build/assets/MCLogo.js.map +1 -0
  57. package/build/assets/VisaLogo.d.ts +4 -0
  58. package/build/assets/VisaLogo.d.ts.map +1 -0
  59. package/build/assets/VisaLogo.js +6 -0
  60. package/build/assets/VisaLogo.js.map +1 -0
  61. package/build/assets/index.d.ts +4 -0
  62. package/build/assets/index.d.ts.map +1 -0
  63. package/build/assets/index.js +4 -0
  64. package/build/assets/index.js.map +1 -0
  65. package/build/components/OPCardForm.d.ts +33 -0
  66. package/build/components/OPCardForm.d.ts.map +1 -0
  67. package/build/components/OPCardForm.js +120 -0
  68. package/build/components/OPCardForm.js.map +1 -0
  69. package/build/components/OPCardNumberInput.d.ts +17 -0
  70. package/build/components/OPCardNumberInput.d.ts.map +1 -0
  71. package/build/components/OPCardNumberInput.js +60 -0
  72. package/build/components/OPCardNumberInput.js.map +1 -0
  73. package/build/components/OPCvv2Input.d.ts +17 -0
  74. package/build/components/OPCvv2Input.d.ts.map +1 -0
  75. package/build/components/OPCvv2Input.js +13 -0
  76. package/build/components/OPCvv2Input.js.map +1 -0
  77. package/build/components/OPExpInput.d.ts +17 -0
  78. package/build/components/OPExpInput.d.ts.map +1 -0
  79. package/build/components/OPExpInput.js +22 -0
  80. package/build/components/OPExpInput.js.map +1 -0
  81. package/build/components/OPExpMonthInput.d.ts +17 -0
  82. package/build/components/OPExpMonthInput.d.ts.map +1 -0
  83. package/build/components/OPExpMonthInput.js +6 -0
  84. package/build/components/OPExpMonthInput.js.map +1 -0
  85. package/build/components/OPExpYearInput.d.ts +17 -0
  86. package/build/components/OPExpYearInput.d.ts.map +1 -0
  87. package/build/components/OPExpYearInput.js +6 -0
  88. package/build/components/OPExpYearInput.js.map +1 -0
  89. package/build/components/OPHolderNameInput.d.ts +17 -0
  90. package/build/components/OPHolderNameInput.d.ts.map +1 -0
  91. package/build/components/OPHolderNameInput.js +6 -0
  92. package/build/components/OPHolderNameInput.js.map +1 -0
  93. package/build/components/forms/ErrorMessage.d.ts +7 -0
  94. package/build/components/forms/ErrorMessage.d.ts.map +1 -0
  95. package/build/components/forms/ErrorMessage.js +12 -0
  96. package/build/components/forms/ErrorMessage.js.map +1 -0
  97. package/build/components/forms/FormField.d.ts +34 -0
  98. package/build/components/forms/FormField.d.ts.map +1 -0
  99. package/build/components/forms/FormField.js +33 -0
  100. package/build/components/forms/FormField.js.map +1 -0
  101. package/build/components/forms/SubmitButton.d.ts +11 -0
  102. package/build/components/forms/SubmitButton.d.ts.map +1 -0
  103. package/build/components/forms/SubmitButton.js +45 -0
  104. package/build/components/forms/SubmitButton.js.map +1 -0
  105. package/build/components/forms/Text.d.ts +7 -0
  106. package/build/components/forms/Text.d.ts.map +1 -0
  107. package/build/components/forms/Text.js +12 -0
  108. package/build/components/forms/Text.js.map +1 -0
  109. package/build/components/forms/TextInput.d.ts +30 -0
  110. package/build/components/forms/TextInput.d.ts.map +1 -0
  111. package/build/components/forms/TextInput.js +195 -0
  112. package/build/components/forms/TextInput.js.map +1 -0
  113. package/build/components/forms/index.d.ts +4 -0
  114. package/build/components/forms/index.d.ts.map +1 -0
  115. package/build/components/forms/index.js +5 -0
  116. package/build/components/forms/index.js.map +1 -0
  117. package/build/components/index.d.ts +8 -0
  118. package/build/components/index.d.ts.map +1 -0
  119. package/build/components/index.js +8 -0
  120. package/build/components/index.js.map +1 -0
  121. package/build/constants/Colors.d.ts +27 -0
  122. package/build/constants/Colors.d.ts.map +1 -0
  123. package/build/constants/Colors.js +27 -0
  124. package/build/constants/Colors.js.map +1 -0
  125. package/build/constants/Styles.d.ts +9 -0
  126. package/build/constants/Styles.d.ts.map +1 -0
  127. package/build/constants/Styles.js +9 -0
  128. package/build/constants/Styles.js.map +1 -0
  129. package/build/context/FormContext.d.ts +22 -0
  130. package/build/context/FormContext.d.ts.map +1 -0
  131. package/build/context/FormContext.js +63 -0
  132. package/build/context/FormContext.js.map +1 -0
  133. package/build/context/FormThemeContext.d.ts +20 -0
  134. package/build/context/FormThemeContext.d.ts.map +1 -0
  135. package/build/context/FormThemeContext.js +21 -0
  136. package/build/context/FormThemeContext.js.map +1 -0
  137. package/build/context/index.d.ts +4 -0
  138. package/build/context/index.d.ts.map +1 -0
  139. package/build/context/index.js +3 -0
  140. package/build/context/index.js.map +1 -0
  141. package/build/index.d.ts +6 -0
  142. package/build/index.d.ts.map +1 -0
  143. package/build/index.js +18 -0
  144. package/build/index.js.map +1 -0
  145. package/build/utility/cardBranding.d.ts +2 -0
  146. package/build/utility/cardBranding.d.ts.map +1 -0
  147. package/build/utility/cardBranding.js +2 -0
  148. package/build/utility/cardBranding.js.map +1 -0
  149. package/build/utility/formatting.d.ts +4 -0
  150. package/build/utility/formatting.d.ts.map +1 -0
  151. package/build/utility/formatting.js +20 -0
  152. package/build/utility/formatting.js.map +1 -0
  153. package/expo-module.config.json +9 -0
  154. package/ios/ExpoOpenpay.podspec +30 -0
  155. package/ios/Frameworks/OpenpayKit.xcframework/Info.plist +40 -0
  156. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Headers/OpenpayKit-Swift.h +274 -0
  157. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Info.plist +0 -0
  158. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios.abi.json +5179 -0
  159. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios.private.swiftinterface +127 -0
  160. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  161. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios.swiftinterface +127 -0
  162. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/Modules/module.modulemap +4 -0
  163. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/OpenpayKit +0 -0
  164. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/_CodeSignature/CodeResources +287 -0
  165. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/en.lproj/CardView.nib +0 -0
  166. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/en.lproj/Localizable.strings +0 -0
  167. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/es-MX.lproj/CardView.nib +0 -0
  168. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/es-MX.lproj/Localizable.strings +0 -0
  169. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/es.lproj/CardView.nib +0 -0
  170. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64/OpenpayKit.framework/es.lproj/Localizable.strings +0 -0
  171. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Headers/OpenpayKit-Swift.h +544 -0
  172. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Info.plist +0 -0
  173. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios-simulator.abi.json +5179 -0
  174. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +127 -0
  175. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  176. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +127 -0
  177. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +5179 -0
  178. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +127 -0
  179. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  180. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/OpenpayKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +127 -0
  181. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/Modules/module.modulemap +4 -0
  182. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/OpenpayKit +0 -0
  183. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/_CodeSignature/CodeResources +342 -0
  184. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/en.lproj/CardView.nib +0 -0
  185. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/en.lproj/Localizable.strings +0 -0
  186. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/es-MX.lproj/CardView.nib +0 -0
  187. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/es-MX.lproj/Localizable.strings +0 -0
  188. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/es.lproj/CardView.nib +0 -0
  189. package/ios/Frameworks/OpenpayKit.xcframework/ios-arm64_x86_64-simulator/OpenpayKit.framework/es.lproj/Localizable.strings +0 -0
  190. package/ios/src/ExpoOpenpayModule.swift +105 -0
  191. package/ios/src/ExpoOpenpayView.swift +38 -0
  192. package/package.json +46 -0
  193. package/src/ExpoOpenpay.types.ts +47 -0
  194. package/src/ExpoOpenpayModule.ts +29 -0
  195. package/src/ExpoOpenpayModule.web.ts +15 -0
  196. package/src/ExpoOpenpayView.tsx +11 -0
  197. package/src/ExpoOpenpayView.web.tsx +5 -0
  198. package/src/assets/AmexLogo.tsx +24 -0
  199. package/src/assets/MCLogo.tsx +19 -0
  200. package/src/assets/VisaLogo.tsx +11 -0
  201. package/src/assets/index.ts +3 -0
  202. package/src/assets/photos/discover_logo.png +0 -0
  203. package/src/components/OPCardForm.tsx +303 -0
  204. package/src/components/OPCardNumberInput.tsx +126 -0
  205. package/src/components/OPCvv2Input.tsx +62 -0
  206. package/src/components/OPExpInput.tsx +74 -0
  207. package/src/components/OPExpMonthInput.tsx +55 -0
  208. package/src/components/OPExpYearInput.tsx +55 -0
  209. package/src/components/OPHolderNameInput.tsx +53 -0
  210. package/src/components/forms/ErrorMessage.tsx +19 -0
  211. package/src/components/forms/FormField.tsx +96 -0
  212. package/src/components/forms/SubmitButton.tsx +81 -0
  213. package/src/components/forms/Text.tsx +20 -0
  214. package/src/components/forms/TextInput.tsx +329 -0
  215. package/src/components/forms/index.ts +4 -0
  216. package/src/components/index.ts +7 -0
  217. package/src/constants/Colors.ts +26 -0
  218. package/src/constants/Styles.ts +9 -0
  219. package/src/context/FormContext.tsx +109 -0
  220. package/src/context/FormThemeContext.tsx +55 -0
  221. package/src/context/index.ts +3 -0
  222. package/src/index.ts +19 -0
  223. package/src/utility/cardBranding.ts +0 -0
  224. package/src/utility/formatting.ts +23 -0
  225. package/tsconfig.json +9 -0
@@ -0,0 +1,93 @@
1
+ package mx.openpay.android.exceptions;
2
+
3
+ import android.annotation.TargetApi;
4
+ import com.google.api.client.util.Key;
5
+ import java.io.IOException;
6
+
7
+ /* loaded from: OpenpayServiceException.class */
8
+ public class OpenpayServiceException extends IOException {
9
+ private static final long serialVersionUID = -7388627000694002585L;
10
+
11
+ @Key
12
+ public String category;
13
+
14
+ @Key
15
+ public String description;
16
+
17
+ @Key("http_code")
18
+ public Integer httpCode;
19
+
20
+ @Key("error_code")
21
+ public Integer errorCode;
22
+
23
+ @Key("request_id")
24
+ public String requestId;
25
+
26
+ @Key
27
+ public String body;
28
+
29
+ public OpenpayServiceException() {
30
+ }
31
+
32
+ public OpenpayServiceException(final String message) {
33
+ super(message);
34
+ }
35
+
36
+ @TargetApi(9)
37
+ public OpenpayServiceException(final Throwable cause) {
38
+ super(cause);
39
+ }
40
+
41
+ @TargetApi(9)
42
+ public OpenpayServiceException(final String message, final Throwable cause) {
43
+ super(message, cause);
44
+ }
45
+
46
+ public String getCategory() {
47
+ return this.category;
48
+ }
49
+
50
+ public void setCategory(final String category) {
51
+ this.category = category;
52
+ }
53
+
54
+ public String getDescription() {
55
+ return this.description;
56
+ }
57
+
58
+ public void setDescription(final String description) {
59
+ this.description = description;
60
+ }
61
+
62
+ public Integer getHttpCode() {
63
+ return this.httpCode;
64
+ }
65
+
66
+ public void setHttpCode(final Integer httpCode) {
67
+ this.httpCode = httpCode;
68
+ }
69
+
70
+ public Integer getErrorCode() {
71
+ return this.errorCode;
72
+ }
73
+
74
+ public void setErrorCode(final Integer errorCode) {
75
+ this.errorCode = errorCode;
76
+ }
77
+
78
+ public String getRequestId() {
79
+ return this.requestId;
80
+ }
81
+
82
+ public void setRequestId(final String requestId) {
83
+ this.requestId = requestId;
84
+ }
85
+
86
+ public String getBody() {
87
+ return this.body;
88
+ }
89
+
90
+ public void setBody(final String body) {
91
+ this.body = body;
92
+ }
93
+ }
@@ -0,0 +1,23 @@
1
+ package mx.openpay.android.exceptions;
2
+
3
+ import android.annotation.TargetApi;
4
+ import java.io.IOException;
5
+
6
+ /* loaded from: ServiceUnavailableException.class */
7
+ public class ServiceUnavailableException extends IOException {
8
+ private static final long serialVersionUID = -7388627000694002585L;
9
+
10
+ public ServiceUnavailableException(final String message) {
11
+ super(message);
12
+ }
13
+
14
+ @TargetApi(26)
15
+ public ServiceUnavailableException(final Throwable cause) {
16
+ super(cause);
17
+ }
18
+
19
+ @TargetApi(26)
20
+ public ServiceUnavailableException(final String message, final Throwable cause) {
21
+ super(message, cause);
22
+ }
23
+ }
@@ -0,0 +1,123 @@
1
+ package mx.openpay.android.model;
2
+
3
+ import com.google.api.client.util.Key;
4
+
5
+ /* loaded from: Address.class */
6
+ public class Address {
7
+
8
+ @Key("postal_code")
9
+ private String postalCode;
10
+
11
+ @Key
12
+ private String line1;
13
+
14
+ @Key
15
+ private String line2;
16
+
17
+ @Key
18
+ private String line3;
19
+
20
+ @Key
21
+ private String city;
22
+
23
+ @Key
24
+ private String state;
25
+
26
+ @Key("country_code")
27
+ private String countryCode;
28
+
29
+ public String toString() {
30
+ return String.format("Address [postalCode=%s, line1=%s, line2=%s, line3=%s, city=%s, state=%s, countryCode=%s]", this.postalCode, this.line1, this.line2, this.line3, this.city, this.state, this.countryCode);
31
+ }
32
+
33
+ public Address postalCode(final String postalCode) {
34
+ this.postalCode = postalCode;
35
+ return this;
36
+ }
37
+
38
+ public Address line1(final String line1) {
39
+ this.line1 = line1;
40
+ return this;
41
+ }
42
+
43
+ public Address line2(final String line2) {
44
+ this.line2 = line2;
45
+ return this;
46
+ }
47
+
48
+ public Address line3(final String line3) {
49
+ this.line3 = line3;
50
+ return this;
51
+ }
52
+
53
+ public Address city(final String city) {
54
+ this.city = city;
55
+ return this;
56
+ }
57
+
58
+ public Address state(final String state) {
59
+ this.state = state;
60
+ return this;
61
+ }
62
+
63
+ public Address countryCode(final String countryCode) {
64
+ this.countryCode = countryCode;
65
+ return this;
66
+ }
67
+
68
+ public String getPostalCode() {
69
+ return this.postalCode;
70
+ }
71
+
72
+ public void setPostalCode(final String postalCode) {
73
+ this.postalCode = postalCode;
74
+ }
75
+
76
+ public String getLine1() {
77
+ return this.line1;
78
+ }
79
+
80
+ public void setLine1(final String line1) {
81
+ this.line1 = line1;
82
+ }
83
+
84
+ public String getLine2() {
85
+ return this.line2;
86
+ }
87
+
88
+ public void setLine2(final String line2) {
89
+ this.line2 = line2;
90
+ }
91
+
92
+ public String getLine3() {
93
+ return this.line3;
94
+ }
95
+
96
+ public void setLine3(final String line3) {
97
+ this.line3 = line3;
98
+ }
99
+
100
+ public String getCity() {
101
+ return this.city;
102
+ }
103
+
104
+ public void setCity(final String city) {
105
+ this.city = city;
106
+ }
107
+
108
+ public String getState() {
109
+ return this.state;
110
+ }
111
+
112
+ public void setState(final String state) {
113
+ this.state = state;
114
+ }
115
+
116
+ public String getCountryCode() {
117
+ return this.countryCode;
118
+ }
119
+
120
+ public void setCountryCode(final String countryCode) {
121
+ this.countryCode = countryCode;
122
+ }
123
+ }
@@ -0,0 +1,219 @@
1
+ package mx.openpay.android.model;
2
+
3
+ import android.annotation.SuppressLint;
4
+ import com.google.api.client.util.DateTime;
5
+ import com.google.api.client.util.Key;
6
+
7
+ @SuppressLint({"DefaultLocale"})
8
+ /* loaded from: Card.class */
9
+ public class Card {
10
+
11
+ @Key("creation_date")
12
+ private DateTime creationDate;
13
+
14
+ @Key
15
+ private String id;
16
+
17
+ @Key("bank_name")
18
+ private String bankName;
19
+
20
+ @Key("allows_payouts")
21
+ private Boolean allowsPayouts;
22
+
23
+ @Key("holder_name")
24
+ private String holderName;
25
+
26
+ @Key("expiration_month")
27
+ private String expirationMonth;
28
+
29
+ @Key("expiration_year")
30
+ private String expirationYear;
31
+
32
+ @Key
33
+ private Address address;
34
+
35
+ @Key("card_number")
36
+ private String cardNumber;
37
+
38
+ @Key
39
+ private String brand;
40
+
41
+ @Key("allows_charges")
42
+ private Boolean allowsCharges;
43
+
44
+ @Key("bank_code")
45
+ private String bankCode;
46
+
47
+ @Key
48
+ private String type;
49
+
50
+ @Key
51
+ private String cvv2;
52
+
53
+ public Card cardNumber(final String cardNumber) {
54
+ this.cardNumber = cardNumber;
55
+ return this;
56
+ }
57
+
58
+ public Card cvv2(final String cvv2) {
59
+ this.cvv2 = cvv2;
60
+ return this;
61
+ }
62
+
63
+ public Card expirationMonth(final Integer expirationMonth) {
64
+ this.expirationMonth = getTwoDigitString(expirationMonth);
65
+ return this;
66
+ }
67
+
68
+ public Card expirationYear(final Integer expirationYear) {
69
+ this.expirationYear = getTwoDigitString(expirationYear);
70
+ return this;
71
+ }
72
+
73
+ private String getTwoDigitString(final Integer number) {
74
+ if (number == null) {
75
+ return null;
76
+ }
77
+ return String.format("%02d", number);
78
+ }
79
+
80
+ public Card holderName(final String holderName) {
81
+ this.holderName = holderName;
82
+ return this;
83
+ }
84
+
85
+ public Card address(final Address address) {
86
+ this.address = address;
87
+ return this;
88
+ }
89
+
90
+ public Card bankCode(final Integer bankCode) {
91
+ if (bankCode == null) {
92
+ this.bankCode = null;
93
+ } else {
94
+ this.bankCode = String.format("%03d", bankCode);
95
+ }
96
+ return this;
97
+ }
98
+
99
+ public Card bankCode(final String bankCode) {
100
+ this.bankCode = bankCode;
101
+ return this;
102
+ }
103
+
104
+ public String toString() {
105
+ return String.format("Card [creationDate=%s, id=%s, bankName=%s, allowsPayouts=%s, holderName=%s, expirationMonth=%s, expirationYear=%s, address=%s, cardNumber=%s, brand=%s, allowsCharges=%s, bankCode=%s, type=%s, cvv2=%s]", this.creationDate, this.id, this.bankName, this.allowsPayouts, this.holderName, this.expirationMonth, this.expirationYear, this.address, this.cardNumber, this.brand, this.allowsCharges, this.bankCode, this.type, this.cvv2);
106
+ }
107
+
108
+ public DateTime getCreationDate() {
109
+ return this.creationDate;
110
+ }
111
+
112
+ public void setCreationDate(final DateTime creationDate) {
113
+ this.creationDate = creationDate;
114
+ }
115
+
116
+ public String getId() {
117
+ return this.id;
118
+ }
119
+
120
+ public void setId(final String id) {
121
+ this.id = id;
122
+ }
123
+
124
+ public String getBankName() {
125
+ return this.bankName;
126
+ }
127
+
128
+ public void setBankName(final String bankName) {
129
+ this.bankName = bankName;
130
+ }
131
+
132
+ public Boolean getAllowsPayouts() {
133
+ return this.allowsPayouts;
134
+ }
135
+
136
+ public void setAllowsPayouts(final Boolean allowsPayouts) {
137
+ this.allowsPayouts = allowsPayouts;
138
+ }
139
+
140
+ public String getHolderName() {
141
+ return this.holderName;
142
+ }
143
+
144
+ public void setHolderName(final String holderName) {
145
+ this.holderName = holderName;
146
+ }
147
+
148
+ public String getExpirationMonth() {
149
+ return this.expirationMonth;
150
+ }
151
+
152
+ public void setExpirationMonth(final String expirationMonth) {
153
+ this.expirationMonth = expirationMonth;
154
+ }
155
+
156
+ public String getExpirationYear() {
157
+ return this.expirationYear;
158
+ }
159
+
160
+ public void setExpirationYear(final String expirationYear) {
161
+ this.expirationYear = expirationYear;
162
+ }
163
+
164
+ public Address getAddress() {
165
+ return this.address;
166
+ }
167
+
168
+ public void setAddress(final Address address) {
169
+ this.address = address;
170
+ }
171
+
172
+ public String getCardNumber() {
173
+ return this.cardNumber;
174
+ }
175
+
176
+ public void setCardNumber(final String cardNumber) {
177
+ this.cardNumber = cardNumber;
178
+ }
179
+
180
+ public String getBrand() {
181
+ return this.brand;
182
+ }
183
+
184
+ public void setBrand(final String brand) {
185
+ this.brand = brand;
186
+ }
187
+
188
+ public Boolean getAllowsCharges() {
189
+ return this.allowsCharges;
190
+ }
191
+
192
+ public void setAllowsCharges(final Boolean allowsCharges) {
193
+ this.allowsCharges = allowsCharges;
194
+ }
195
+
196
+ public String getBankCode() {
197
+ return this.bankCode;
198
+ }
199
+
200
+ public void setBankCode(final String bankCode) {
201
+ this.bankCode = bankCode;
202
+ }
203
+
204
+ public String getType() {
205
+ return this.type;
206
+ }
207
+
208
+ public void setType(final String type) {
209
+ this.type = type;
210
+ }
211
+
212
+ public String getCvv2() {
213
+ return this.cvv2;
214
+ }
215
+
216
+ public void setCvv2(final String cvv2) {
217
+ this.cvv2 = cvv2;
218
+ }
219
+ }
@@ -0,0 +1,43 @@
1
+ package mx.openpay.android.model;
2
+
3
+ import com.google.api.client.util.Key;
4
+
5
+ /* loaded from: Token.class */
6
+ public class Token {
7
+
8
+ @Key
9
+ private String id;
10
+
11
+ @Key
12
+ private Card card;
13
+
14
+ public String toString() {
15
+ return String.format("Token [id=%s, card=%s]", this.id, this.card);
16
+ }
17
+
18
+ public Token id(final String id) {
19
+ this.id = id;
20
+ return this;
21
+ }
22
+
23
+ public Token card(final Card card) {
24
+ this.card = card;
25
+ return this;
26
+ }
27
+
28
+ public String getId() {
29
+ return this.id;
30
+ }
31
+
32
+ public void setId(final String id) {
33
+ this.id = id;
34
+ }
35
+
36
+ public Card getCard() {
37
+ return this.card;
38
+ }
39
+
40
+ public void setCard(final Card card) {
41
+ this.card = card;
42
+ }
43
+ }
@@ -0,0 +1,93 @@
1
+ package mx.openpay.android.services;
2
+
3
+ import com.google.api.client.http.GenericUrl;
4
+ import com.google.api.client.http.HttpContent;
5
+ import com.google.api.client.http.HttpRequest;
6
+ import com.google.api.client.http.HttpRequestFactory;
7
+ import com.google.api.client.http.HttpRequestInitializer;
8
+ import com.google.api.client.http.HttpResponse;
9
+ import com.google.api.client.http.HttpUnsuccessfulResponseHandler;
10
+ import com.google.api.client.http.javanet.NetHttpTransport;
11
+ import com.google.api.client.http.json.JsonHttpContent;
12
+ import com.google.api.client.json.JsonFactory;
13
+ import com.google.api.client.json.JsonObjectParser;
14
+ import com.google.api.client.json.jackson2.JacksonFactory;
15
+ import java.io.IOException;
16
+ import mx.openpay.android.exceptions.OpenpayServiceException;
17
+ import mx.openpay.android.exceptions.ServiceUnavailableException;
18
+
19
+ /* loaded from: BaseService.class */
20
+ public abstract class BaseService<V, T> {
21
+ private static final JsonFactory JSON_FACTORY = new JacksonFactory();
22
+ private static final String EMPTY_PASSWORD = "";
23
+ private static final String API_VERSION = "v1";
24
+ private static final String URL_SEPARATOR = "/";
25
+ private static final String AGENT = "openpay-android/";
26
+ private static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
27
+ protected String baseUrl;
28
+ protected String merchantId;
29
+ protected String apiKey;
30
+ protected Class<T> clazz;
31
+
32
+ public BaseService(final String baseUrl, final String merchantId, final String apiKey, final Class<T> clazz) {
33
+ this.merchantId = merchantId;
34
+ this.apiKey = apiKey;
35
+ this.clazz = clazz;
36
+ this.baseUrl = baseUrl;
37
+ }
38
+
39
+ public HttpRequestFactory getRequestFactory() {
40
+ return new NetHttpTransport().createRequestFactory(new OpenpayHttpRequestInitializer());
41
+ }
42
+
43
+ public GenericUrl getGenericUrl(final String resourceUrl) {
44
+ StringBuilder urlBuilder = new StringBuilder(this.baseUrl).append(URL_SEPARATOR).append(API_VERSION).append(URL_SEPARATOR).append(this.merchantId).append(URL_SEPARATOR).append(resourceUrl);
45
+ return new GenericUrl(urlBuilder.toString());
46
+ }
47
+
48
+ public HttpContent getContent(final V jsonData) {
49
+ return new JsonHttpContent(JSON_FACTORY, jsonData);
50
+ }
51
+
52
+ public T post(String str, V v) throws ServiceUnavailableException, OpenpayServiceException {
53
+ try {
54
+ return (T) getRequestFactory().buildPostRequest(getGenericUrl(str), getContent(v)).execute().parseAs(this.clazz);
55
+ } catch (IOException e) {
56
+ if (e instanceof OpenpayServiceException) {
57
+ throw ((OpenpayServiceException) e);
58
+ }
59
+ throw new ServiceUnavailableException(e);
60
+ }
61
+ }
62
+
63
+ /* loaded from: BaseService$OpenpayHttpRequestInitializer.class */
64
+ private class OpenpayHttpRequestInitializer implements HttpRequestInitializer {
65
+ private OpenpayHttpRequestInitializer() {
66
+ }
67
+
68
+ public void initialize(final HttpRequest request) {
69
+ request.setParser(new JsonObjectParser(BaseService.JSON_FACTORY));
70
+ request.getHeaders().setBasicAuthentication(BaseService.this.apiKey, BaseService.EMPTY_PASSWORD);
71
+ String version = getClass().getPackage().getImplementationVersion();
72
+ if (version == null) {
73
+ version = "1.0.1-UNKNOWN";
74
+ }
75
+ request.setSuppressUserAgentSuffix(true);
76
+ request.getHeaders().setUserAgent(BaseService.AGENT + version);
77
+ request.setUnsuccessfulResponseHandler(new ServiceUnsuccessfulResponseHandler());
78
+ request.setConnectTimeout(BaseService.DEFAULT_CONNECTION_TIMEOUT);
79
+ request.setReadTimeout(BaseService.DEFAULT_CONNECTION_TIMEOUT);
80
+ }
81
+
82
+ /* loaded from: BaseService$OpenpayHttpRequestInitializer$ServiceUnsuccessfulResponseHandler.class */
83
+ private class ServiceUnsuccessfulResponseHandler implements HttpUnsuccessfulResponseHandler {
84
+ private ServiceUnsuccessfulResponseHandler() {
85
+ }
86
+
87
+ public boolean handleResponse(final HttpRequest request, final HttpResponse response, final boolean arg2) throws IOException {
88
+ OpenpayServiceException exception = (OpenpayServiceException) new JsonObjectParser(BaseService.JSON_FACTORY).parseAndClose(response.getContent(), response.getContentCharset(), OpenpayServiceException.class);
89
+ throw exception;
90
+ }
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,47 @@
1
+ package mx.openpay.android.services;
2
+
3
+ import java.lang.reflect.Constructor;
4
+ import java.lang.reflect.InvocationTargetException;
5
+
6
+ /* loaded from: ServicesFactory.class */
7
+ public class ServicesFactory {
8
+ private static volatile ServicesFactory INSTANCE = null;
9
+ private String baseUrl;
10
+ private String merchantId;
11
+ private String apiKey;
12
+
13
+ private ServicesFactory(final String baseUrl, final String merchantId, final String apiKey) {
14
+ this.baseUrl = baseUrl;
15
+ this.merchantId = merchantId;
16
+ this.apiKey = apiKey;
17
+ }
18
+
19
+ public static ServicesFactory getInstance(final String baseUrl, final String merchantId, final String apiKey) {
20
+ if (INSTANCE == null) {
21
+ synchronized (ServicesFactory.class) {
22
+ if (INSTANCE == null) {
23
+ INSTANCE = new ServicesFactory(baseUrl, merchantId, apiKey);
24
+ }
25
+ }
26
+ }
27
+ return INSTANCE;
28
+ }
29
+
30
+ public <V extends BaseService<?, ?>> V getService(final Class<V> type) throws NoSuchMethodException, SecurityException {
31
+ try {
32
+ Constructor<V> ctor = type.getDeclaredConstructor(String.class, String.class, String.class);
33
+ ctor.setAccessible(true);
34
+ return ctor.newInstance(this.baseUrl, this.merchantId, this.apiKey);
35
+ } catch (IllegalAccessException e) {
36
+ return null;
37
+ } catch (IllegalArgumentException e2) {
38
+ return null;
39
+ } catch (InstantiationException e3) {
40
+ return null;
41
+ } catch (NoSuchMethodException e4) {
42
+ return null;
43
+ } catch (InvocationTargetException e5) {
44
+ return null;
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,19 @@
1
+ package mx.openpay.android.services;
2
+
3
+ import mx.openpay.android.exceptions.OpenpayServiceException;
4
+ import mx.openpay.android.exceptions.ServiceUnavailableException;
5
+ import mx.openpay.android.model.Card;
6
+ import mx.openpay.android.model.Token;
7
+
8
+ /* loaded from: TokenService.class */
9
+ public class TokenService extends BaseService<Card, Token> {
10
+ private static final String MERCHANT_TOKENS = "tokens";
11
+
12
+ public TokenService(final String baseUrl, final String merchantId, final String apiKey) {
13
+ super(baseUrl, merchantId, apiKey, Token.class);
14
+ }
15
+
16
+ public Token create(final Card card) throws ServiceUnavailableException, OpenpayServiceException {
17
+ return post(MERCHANT_TOKENS, card);
18
+ }
19
+ }
@@ -0,0 +1,9 @@
1
+ package mx.openpay.android.validation;
2
+
3
+ /* loaded from: CardType.class */
4
+ public enum CardType {
5
+ VISA,
6
+ MASTERCARD,
7
+ AMEX,
8
+ UNKNOWN
9
+ }