@spreeloop/orange_money 1.0.7 → 1.0.8

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 (214) hide show
  1. package/dist/logging/src/log_level.d.ts +24 -0
  2. package/dist/logging/src/log_level.d.ts.map +1 -0
  3. package/dist/logging/src/log_level.js +34 -0
  4. package/dist/logging/src/log_level.js.map +1 -0
  5. package/dist/logging/src/logging.d.ts +50 -0
  6. package/dist/logging/src/logging.d.ts.map +1 -0
  7. package/dist/logging/src/logging.js +87 -0
  8. package/dist/logging/src/logging.js.map +1 -0
  9. package/dist/logging/src/printer.d.ts +10 -0
  10. package/dist/logging/src/printer.d.ts.map +1 -0
  11. package/dist/logging/src/printer.js +3 -0
  12. package/dist/logging/src/printer.js.map +1 -0
  13. package/dist/orange_money/index.d.ts +2 -0
  14. package/dist/orange_money/index.d.ts.map +1 -0
  15. package/dist/orange_money/index.js +18 -0
  16. package/dist/orange_money/index.js.map +1 -0
  17. package/dist/orange_money/src/disbursements/implementations/disbursement_service.d.ts +62 -0
  18. package/dist/orange_money/src/disbursements/implementations/disbursement_service.d.ts.map +1 -0
  19. package/dist/orange_money/src/disbursements/implementations/disbursement_service.js +84 -0
  20. package/dist/orange_money/src/disbursements/implementations/disbursement_service.js.map +1 -0
  21. package/dist/orange_money/src/disbursements/implementations/src/live.d.ts +40 -0
  22. package/dist/orange_money/src/disbursements/implementations/src/live.d.ts.map +1 -0
  23. package/dist/orange_money/src/disbursements/implementations/src/live.js +61 -0
  24. package/dist/orange_money/src/disbursements/implementations/src/live.js.map +1 -0
  25. package/dist/orange_money/src/disbursements/implementations/src/sandbox.d.ts +40 -0
  26. package/dist/orange_money/src/disbursements/implementations/src/sandbox.d.ts.map +1 -0
  27. package/dist/orange_money/src/disbursements/implementations/src/sandbox.js +110 -0
  28. package/dist/orange_money/src/disbursements/implementations/src/sandbox.js.map +1 -0
  29. package/dist/orange_money/src/disbursements/operations/create_access_token.d.ts +28 -0
  30. package/dist/orange_money/src/disbursements/operations/create_access_token.d.ts.map +1 -0
  31. package/dist/orange_money/src/disbursements/operations/create_access_token.js +45 -0
  32. package/dist/orange_money/src/disbursements/operations/create_access_token.js.map +1 -0
  33. package/dist/orange_money/src/disbursements/operations/create_access_token.spec.d.ts +2 -0
  34. package/dist/orange_money/src/disbursements/operations/create_access_token.spec.d.ts.map +1 -0
  35. package/dist/orange_money/src/disbursements/operations/create_access_token.spec.js +106 -0
  36. package/dist/orange_money/src/disbursements/operations/create_access_token.spec.js.map +1 -0
  37. package/dist/orange_money/src/disbursements/operations/get_transfer_status.d.ts +114 -0
  38. package/dist/orange_money/src/disbursements/operations/get_transfer_status.d.ts.map +1 -0
  39. package/dist/orange_money/src/disbursements/operations/get_transfer_status.js +128 -0
  40. package/dist/orange_money/src/disbursements/operations/get_transfer_status.js.map +1 -0
  41. package/dist/orange_money/src/disbursements/operations/get_transfer_status.spec.d.ts +2 -0
  42. package/dist/orange_money/src/disbursements/operations/get_transfer_status.spec.d.ts.map +1 -0
  43. package/dist/orange_money/src/disbursements/operations/get_transfer_status.spec.js +148 -0
  44. package/dist/orange_money/src/disbursements/operations/get_transfer_status.spec.js.map +1 -0
  45. package/dist/orange_money/src/disbursements/operations/transfer.d.ts +44 -0
  46. package/dist/orange_money/src/disbursements/operations/transfer.d.ts.map +1 -0
  47. package/dist/orange_money/src/disbursements/operations/transfer.js +74 -0
  48. package/dist/orange_money/src/disbursements/operations/transfer.js.map +1 -0
  49. package/dist/orange_money/src/disbursements/operations/transfer.spec.d.ts +2 -0
  50. package/dist/orange_money/src/disbursements/operations/transfer.spec.d.ts.map +1 -0
  51. package/dist/orange_money/src/disbursements/operations/transfer.spec.js +178 -0
  52. package/dist/orange_money/src/disbursements/operations/transfer.spec.js.map +1 -0
  53. package/dist/orange_money/src/disbursements/routes/routes.d.ts +38 -0
  54. package/dist/orange_money/src/disbursements/routes/routes.d.ts.map +1 -0
  55. package/dist/orange_money/src/disbursements/routes/routes.js +53 -0
  56. package/dist/orange_money/src/disbursements/routes/routes.js.map +1 -0
  57. package/dist/orange_money/src/disbursements/utils/constants.d.ts +5 -0
  58. package/dist/orange_money/src/disbursements/utils/constants.d.ts.map +1 -0
  59. package/dist/orange_money/src/disbursements/utils/constants.js +9 -0
  60. package/dist/orange_money/src/disbursements/utils/constants.js.map +1 -0
  61. package/{src/disbursements/utils/regex.ts → dist/orange_money/src/disbursements/utils/regex.d.ts} +3 -4
  62. package/dist/orange_money/src/disbursements/utils/regex.d.ts.map +1 -0
  63. package/dist/orange_money/src/disbursements/utils/regex.js +12 -0
  64. package/dist/orange_money/src/disbursements/utils/regex.js.map +1 -0
  65. package/dist/orange_money/src/disbursements/utils/regex.spec.d.ts +2 -0
  66. package/dist/orange_money/src/disbursements/utils/regex.spec.d.ts.map +1 -0
  67. package/dist/orange_money/src/disbursements/utils/regex.spec.js +32 -0
  68. package/dist/orange_money/src/disbursements/utils/regex.spec.js.map +1 -0
  69. package/dist/orange_money/src/disbursements/utils/status.d.ts +53 -0
  70. package/dist/orange_money/src/disbursements/utils/status.d.ts.map +1 -0
  71. package/dist/orange_money/src/disbursements/utils/status.js +58 -0
  72. package/dist/orange_money/src/disbursements/utils/status.js.map +1 -0
  73. package/dist/orange_money/src/disbursements/utils/utils.d.ts +9 -0
  74. package/dist/orange_money/src/disbursements/utils/utils.d.ts.map +1 -0
  75. package/dist/orange_money/src/disbursements/utils/utils.js +26 -0
  76. package/dist/orange_money/src/disbursements/utils/utils.js.map +1 -0
  77. package/dist/orange_money/src/disbursements/utils/utils.spec.d.ts +2 -0
  78. package/dist/orange_money/src/disbursements/utils/utils.spec.d.ts.map +1 -0
  79. package/dist/orange_money/src/disbursements/utils/utils.spec.js +43 -0
  80. package/dist/orange_money/src/disbursements/utils/utils.spec.js.map +1 -0
  81. package/{src/index.ts → dist/orange_money/src/index.d.ts} +3 -8
  82. package/dist/orange_money/src/index.d.ts.map +1 -0
  83. package/dist/orange_money/src/index.js +15 -0
  84. package/dist/orange_money/src/index.js.map +1 -0
  85. package/dist/orange_money/src/payments/implementations/fake.d.ts +33 -0
  86. package/dist/orange_money/src/payments/implementations/fake.d.ts.map +1 -0
  87. package/dist/orange_money/src/payments/implementations/fake.js +110 -0
  88. package/dist/orange_money/src/payments/implementations/fake.js.map +1 -0
  89. package/dist/orange_money/src/payments/implementations/live.d.ts +45 -0
  90. package/dist/orange_money/src/payments/implementations/live.d.ts.map +1 -0
  91. package/dist/orange_money/src/payments/implementations/live.js +69 -0
  92. package/dist/orange_money/src/payments/implementations/live.js.map +1 -0
  93. package/dist/orange_money/src/payments/operations/get_access_token.d.ts +11 -0
  94. package/dist/orange_money/src/payments/operations/get_access_token.d.ts.map +1 -0
  95. package/dist/orange_money/src/payments/operations/get_access_token.js +47 -0
  96. package/dist/orange_money/src/payments/operations/get_access_token.js.map +1 -0
  97. package/dist/orange_money/src/payments/operations/get_access_token.spec.d.ts +2 -0
  98. package/dist/orange_money/src/payments/operations/get_access_token.spec.d.ts.map +1 -0
  99. package/dist/orange_money/src/payments/operations/get_access_token.spec.js +74 -0
  100. package/dist/orange_money/src/payments/operations/get_access_token.spec.js.map +1 -0
  101. package/dist/orange_money/src/payments/operations/get_pay_token.d.ts +12 -0
  102. package/dist/orange_money/src/payments/operations/get_pay_token.d.ts.map +1 -0
  103. package/dist/orange_money/src/payments/operations/get_pay_token.js +43 -0
  104. package/dist/orange_money/src/payments/operations/get_pay_token.js.map +1 -0
  105. package/dist/orange_money/src/payments/operations/get_pay_token.spec.d.ts +2 -0
  106. package/dist/orange_money/src/payments/operations/get_pay_token.spec.d.ts.map +1 -0
  107. package/dist/orange_money/src/payments/operations/get_pay_token.spec.js +74 -0
  108. package/dist/orange_money/src/payments/operations/get_pay_token.spec.js.map +1 -0
  109. package/dist/orange_money/src/payments/operations/get_payment_status.d.ts +23 -0
  110. package/dist/orange_money/src/payments/operations/get_payment_status.d.ts.map +1 -0
  111. package/dist/orange_money/src/payments/operations/get_payment_status.js +51 -0
  112. package/dist/orange_money/src/payments/operations/get_payment_status.js.map +1 -0
  113. package/dist/orange_money/src/payments/operations/get_payment_status.spec.d.ts +2 -0
  114. package/dist/orange_money/src/payments/operations/get_payment_status.spec.d.ts.map +1 -0
  115. package/dist/orange_money/src/payments/operations/get_payment_status.spec.js +101 -0
  116. package/dist/orange_money/src/payments/operations/get_payment_status.spec.js.map +1 -0
  117. package/dist/orange_money/src/payments/operations/initialize_om_payment.d.ts +22 -0
  118. package/dist/orange_money/src/payments/operations/initialize_om_payment.d.ts.map +1 -0
  119. package/dist/orange_money/src/payments/operations/initialize_om_payment.js +124 -0
  120. package/dist/orange_money/src/payments/operations/initialize_om_payment.js.map +1 -0
  121. package/dist/orange_money/src/payments/operations/initialize_om_payment.spec.d.ts +2 -0
  122. package/dist/orange_money/src/payments/operations/initialize_om_payment.spec.d.ts.map +1 -0
  123. package/dist/orange_money/src/payments/operations/initialize_om_payment.spec.js +245 -0
  124. package/dist/orange_money/src/payments/operations/initialize_om_payment.spec.js.map +1 -0
  125. package/dist/orange_money/src/payments/payments.d.ts +57 -0
  126. package/dist/orange_money/src/payments/payments.d.ts.map +1 -0
  127. package/dist/orange_money/src/payments/payments.js +36 -0
  128. package/dist/orange_money/src/payments/payments.js.map +1 -0
  129. package/dist/orange_money/src/payments/routes/routes.d.ts +48 -0
  130. package/dist/orange_money/src/payments/routes/routes.d.ts.map +1 -0
  131. package/dist/orange_money/src/payments/routes/routes.js +61 -0
  132. package/dist/orange_money/src/payments/routes/routes.js.map +1 -0
  133. package/dist/orange_money/src/payments/utils/constants.d.ts +96 -0
  134. package/dist/orange_money/src/payments/utils/constants.d.ts.map +1 -0
  135. package/dist/orange_money/src/payments/utils/constants.js +112 -0
  136. package/dist/orange_money/src/payments/utils/constants.js.map +1 -0
  137. package/dist/orange_money/src/payments/utils/joi_schema.d.ts +70 -0
  138. package/dist/orange_money/src/payments/utils/joi_schema.d.ts.map +1 -0
  139. package/dist/orange_money/src/payments/utils/joi_schema.js +44 -0
  140. package/dist/orange_money/src/payments/utils/joi_schema.js.map +1 -0
  141. package/dist/orange_money/src/payments/utils/request_model.d.ts +75 -0
  142. package/dist/orange_money/src/payments/utils/request_model.d.ts.map +1 -0
  143. package/dist/orange_money/src/payments/utils/request_model.js +3 -0
  144. package/dist/orange_money/src/payments/utils/request_model.js.map +1 -0
  145. package/dist/orange_money/src/payments/utils/utils.d.ts +15 -0
  146. package/dist/orange_money/src/payments/utils/utils.d.ts.map +1 -0
  147. package/dist/orange_money/src/payments/utils/utils.js +27 -0
  148. package/dist/orange_money/src/payments/utils/utils.js.map +1 -0
  149. package/dist/orange_money/src/utils/https.d.ts +77 -0
  150. package/dist/orange_money/src/utils/https.d.ts.map +1 -0
  151. package/dist/orange_money/src/utils/https.js +240 -0
  152. package/dist/orange_money/src/utils/https.js.map +1 -0
  153. package/dist/orange_money/src/utils/https.spec.d.ts +2 -0
  154. package/dist/orange_money/src/utils/https.spec.d.ts.map +1 -0
  155. package/dist/orange_money/src/utils/https.spec.js +77 -0
  156. package/dist/orange_money/src/utils/https.spec.js.map +1 -0
  157. package/dist/orange_money/src/utils/logging_interface.d.ts +23 -0
  158. package/dist/orange_money/src/utils/logging_interface.d.ts.map +1 -0
  159. package/dist/orange_money/src/utils/logging_interface.js +3 -0
  160. package/dist/orange_money/src/utils/logging_interface.js.map +1 -0
  161. package/{src/utils/operation_response.ts → dist/orange_money/src/utils/operation_response.d.ts} +9 -10
  162. package/dist/orange_money/src/utils/operation_response.d.ts.map +1 -0
  163. package/dist/orange_money/src/utils/operation_response.js +3 -0
  164. package/dist/orange_money/src/utils/operation_response.js.map +1 -0
  165. package/dist/orange_money/src/utils/utils.d.ts +6 -0
  166. package/dist/orange_money/src/utils/utils.d.ts.map +1 -0
  167. package/dist/orange_money/src/utils/utils.js +10 -0
  168. package/dist/orange_money/src/utils/utils.js.map +1 -0
  169. package/package.json +6 -2
  170. package/.eslintrc.js +0 -47
  171. package/.prettierrc +0 -6
  172. package/babel.config.js +0 -3
  173. package/index.spec.ts +0 -9
  174. package/index.ts +0 -1
  175. package/jest.before-test.ts +0 -3
  176. package/jest.config.ts +0 -54
  177. package/src/disbursements/implementations/disbursement_service.ts +0 -133
  178. package/src/disbursements/implementations/src/live.ts +0 -79
  179. package/src/disbursements/implementations/src/sandbox.ts +0 -124
  180. package/src/disbursements/operations/create_access_token.spec.ts +0 -87
  181. package/src/disbursements/operations/create_access_token.ts +0 -83
  182. package/src/disbursements/operations/get_transfer_status.spec.ts +0 -132
  183. package/src/disbursements/operations/get_transfer_status.ts +0 -265
  184. package/src/disbursements/operations/transfer.spec.ts +0 -158
  185. package/src/disbursements/operations/transfer.ts +0 -125
  186. package/src/disbursements/routes/routes.ts +0 -54
  187. package/src/disbursements/utils/constants.ts +0 -4
  188. package/src/disbursements/utils/regex.spec.ts +0 -39
  189. package/src/disbursements/utils/status.ts +0 -62
  190. package/src/disbursements/utils/utils.spec.ts +0 -42
  191. package/src/disbursements/utils/utils.ts +0 -24
  192. package/src/payments/implementations/fake.ts +0 -133
  193. package/src/payments/implementations/live.ts +0 -87
  194. package/src/payments/operations/get_access_token.spec.ts +0 -60
  195. package/src/payments/operations/get_access_token.ts +0 -77
  196. package/src/payments/operations/get_pay_token.spec.ts +0 -65
  197. package/src/payments/operations/get_pay_token.ts +0 -66
  198. package/src/payments/operations/get_payment_status.spec.ts +0 -82
  199. package/src/payments/operations/get_payment_status.ts +0 -78
  200. package/src/payments/operations/initialize_om_payment.spec.ts +0 -234
  201. package/src/payments/operations/initialize_om_payment.ts +0 -191
  202. package/src/payments/payments.ts +0 -86
  203. package/src/payments/routes/routes.ts +0 -61
  204. package/src/payments/utils/constants.ts +0 -120
  205. package/src/payments/utils/joi_schema.ts +0 -117
  206. package/src/payments/utils/request_model.ts +0 -103
  207. package/src/payments/utils/utils.ts +0 -31
  208. package/src/utils/https.spec.ts +0 -101
  209. package/src/utils/https.ts +0 -266
  210. package/src/utils/logging_interface.ts +0 -25
  211. package/src/utils/utils.ts +0 -5
  212. package/tsconfig.build.json +0 -4
  213. package/tsconfig.dev.json +0 -4
  214. package/tsconfig.json +0 -27
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initializeOmPayment = void 0;
4
+ const https_1 = require("../../utils/https");
5
+ const routes_1 = require("../routes/routes");
6
+ const constants_1 = require("../utils/constants");
7
+ const joi_schema_1 = require("../utils/joi_schema");
8
+ const utils_1 = require("../utils/utils");
9
+ /**
10
+ * Initiates the payment.
11
+ *
12
+ * @param {InitializeOmPaymentRequest} mobileInitParams - The mobile initialization parameters.
13
+ * @param {string} endPoint - The init payment end point.
14
+ * @param {OrangeMoneyPaymentParams} paymentConfig - The mobile payment config parameters.
15
+ * - {TargetEnvironment} paymentConfig.targetEnvironment - The target environment.
16
+ * - {string} paymentConfig.apiUserName - The api user name.
17
+ * - {string} paymentConfig.xAuthToken - The x-auth-token.
18
+ * - {string} paymentConfig.apiPassword - The api password.
19
+ * - {string} [paymentConfig.orangeMoneyVersion] - The orange money version.
20
+ * - {LoggerInterface} paymentConfig.logger - The logger interface.
21
+ * @return {Promise<InitializeOrangeMoneyResponse>} The promise that resolves to the mobile payment initialization response.
22
+ */
23
+ async function initializeOmPayment({ mobileInitParams, paymentConfig, endPoint, }) {
24
+ var _a, _b, _c;
25
+ const logger = paymentConfig.logger;
26
+ const paymentParams = {
27
+ mobileInitParams: mobileInitParams,
28
+ paymentConfig: paymentConfig,
29
+ endPoint: endPoint,
30
+ };
31
+ const response = await initializeOmPaymentInternal(paymentParams);
32
+ if (response.schemaErrorMessage) {
33
+ logger.warn(`[ORANGE MONEY] Initialization failed with error data: ${JSON.stringify(response.schemaErrorMessage)}`);
34
+ return {
35
+ raw: response.schemaErrorMessage,
36
+ error: constants_1.ApiErrorType.failedToInitiateThePayment,
37
+ };
38
+ }
39
+ const requestResponse = (_a = response.requestResult) === null || _a === void 0 ? void 0 : _a.response;
40
+ if (requestResponse && (0, https_1.isSuccessfulCodeResponse)(requestResponse.status)) {
41
+ logger.info(`[ORANGE MONEY] Initialization successful with result ${JSON.stringify(requestResponse.data)}`);
42
+ return {
43
+ data: {
44
+ payToken: mobileInitParams.payToken,
45
+ },
46
+ raw: requestResponse.data,
47
+ };
48
+ }
49
+ if (requestResponse &&
50
+ requestResponse.status === https_1.RequestStatusCode.expectationFailed) {
51
+ const errorData = requestResponse.data.data;
52
+ logger.warn(`[ORANGE MONEY] Initialization failed failed. Raison: ${errorData.inittxnmessage}`);
53
+ return {
54
+ raw: requestResponse.data,
55
+ error: getApiErrorMessage(errorData.inittxnmessage),
56
+ };
57
+ }
58
+ logger.warn(`[ORANGE MONEY] Initialization failed with error data: ${JSON.stringify((_b = response.requestResult) === null || _b === void 0 ? void 0 : _b.error)}`);
59
+ return {
60
+ error: constants_1.ApiErrorType.failedToInitiateThePayment,
61
+ raw: (_c = response.requestResult) === null || _c === void 0 ? void 0 : _c.error,
62
+ };
63
+ }
64
+ exports.initializeOmPayment = initializeOmPayment;
65
+ /**
66
+ * Makes a payment request using the provided parameters.
67
+ *
68
+ * @param {Object} params - An object containing the following parameters:
69
+ * - {MobileInitPaymentParams} mobileInitParams: The mobile initialization parameters.
70
+ * - {PaymentConfig} paymentConfig - The mobile payment config parameters.
71
+ * - {string} endPoint: The init payment end point.
72
+ * @return {Promise} A promise that resolves to the payment request response.
73
+ */
74
+ const initializeOmPaymentInternal = async (params) => {
75
+ const routes = new routes_1.Routes(params.paymentConfig.orangeMoneyVersion);
76
+ const headers = {
77
+ [constants_1.ApiKey.keyAuthorization]: `Bearer ${params.mobileInitParams.accessToken}`,
78
+ [constants_1.ApiKey.keyContentType]: constants_1.ConstantRequestField.typeJson,
79
+ [constants_1.ApiKey.keyXAuthToken]: params.paymentConfig.xAuthToken,
80
+ };
81
+ const body = {
82
+ [constants_1.ApiKey.keySubscriberMsisdn]: params.mobileInitParams.subscriberNumber,
83
+ [constants_1.ApiKey.keyChannelUserMsisdn]: params.mobileInitParams.channelUserNumber,
84
+ [constants_1.ApiKey.keyAmount]: params.mobileInitParams.amount.toString(),
85
+ [constants_1.ApiKey.keyDescription]: params.mobileInitParams.description,
86
+ [constants_1.ApiKey.keyMobileOrderId]: params.mobileInitParams.transactionId,
87
+ [constants_1.ApiKey.keyPin]: params.mobileInitParams.pinCode,
88
+ [constants_1.ApiKey.keyMobilePayToken]: params.mobileInitParams.payToken,
89
+ [constants_1.ApiKey.keyMobileNotifUrl]: params.mobileInitParams.notifUrl,
90
+ };
91
+ const dataValidation = (0, utils_1.validateData)(body, joi_schema_1.initPaymentBodySchema);
92
+ if (!dataValidation.isValidData) {
93
+ return { schemaErrorMessage: dataValidation.message };
94
+ }
95
+ params.paymentConfig.logger.info(`Initiate the ORANGE MONEY Payment with data: ${JSON.stringify(body)}\nroute: ${routes.mobileInitPayment()}`);
96
+ const response = await (0, https_1.postRequest)({
97
+ logger: params.paymentConfig.logger,
98
+ headers: headers,
99
+ data: body,
100
+ route: routes.mobileInitPayment(),
101
+ });
102
+ return { requestResult: response };
103
+ };
104
+ /**
105
+ * Maps an API error message to the corresponding API error type.
106
+ *
107
+ * @param {string} message - the error message to map
108
+ * @return {ApiErrorType} the corresponding API error type
109
+ */
110
+ const getApiErrorMessage = (message) => {
111
+ switch (message) {
112
+ case constants_1.OrangeMoneyErrorMessage.beneficiaryNotFound:
113
+ return constants_1.ApiErrorType.invalidOrangeMoneyNumber;
114
+ case constants_1.OrangeMoneyErrorMessage.insufficientFunds:
115
+ return constants_1.ApiErrorType.insufficientFunds;
116
+ case constants_1.OrangeMoneyErrorMessage.accountLocked:
117
+ return constants_1.ApiErrorType.accountLocked;
118
+ case constants_1.OrangeMoneyErrorMessage.invalidPaymentAmount:
119
+ return constants_1.ApiErrorType.invalidPaymentAmount;
120
+ default:
121
+ return constants_1.ApiErrorType.failedToInitiateThePayment;
122
+ }
123
+ };
124
+ //# sourceMappingURL=initialize_om_payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize_om_payment.js","sourceRoot":"","sources":["../../../../../src/payments/operations/initialize_om_payment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=initialize_om_payment.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize_om_payment.spec.d.ts","sourceRoot":"","sources":["../../../../../src/payments/operations/initialize_om_payment.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const requests = __importStar(require("../../utils/https"));
27
+ const constants_1 = require("../utils/constants");
28
+ const utils_1 = require("../../utils/utils");
29
+ const initialize_om_payment_1 = require("./initialize_om_payment");
30
+ const logger = console;
31
+ describe('Test the initialization of payment', () => {
32
+ const mobileInitiateParams = {
33
+ amount: 100,
34
+ notifUrl: 'https://localhost',
35
+ transactionId: '1',
36
+ pinCode: '123',
37
+ channelUserNumber: '698526541',
38
+ subscriberNumber: '698526541',
39
+ accessToken: '1e23bee1-37dc-3015-a7d6-cb70e566bd64',
40
+ payToken: 'MP220807558VEF7A9C4F09AED',
41
+ };
42
+ it('Initialization failed cause of invalid channel number', async () => {
43
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
44
+ response: {
45
+ status: 417,
46
+ data: {
47
+ message: '60019 :: Le solde du compte du payeur est insuffisant',
48
+ data: {
49
+ id: 75742131,
50
+ createtime: '1682612128',
51
+ subscriberMsisdn: '696689073',
52
+ amount: 90,
53
+ payToken: 'MP2304270429730CE5AC78D276A6',
54
+ txnid: null,
55
+ txnmode: '84d1uhuhiuhiliubi',
56
+ inittxnmessage: 'Le solde du compte du payeur est insuffisant',
57
+ inittxnstatus: '60019',
58
+ confirmtxnstatus: null,
59
+ confirmtxnmessage: null,
60
+ status: 'FAILED',
61
+ notifUrl: '',
62
+ description: '',
63
+ channelUserMsisdn: '696431937',
64
+ },
65
+ },
66
+ },
67
+ }));
68
+ const result = await (0, initialize_om_payment_1.initializeOmPayment)({
69
+ mobileInitParams: {
70
+ transactionId: mobileInitiateParams.transactionId,
71
+ amount: mobileInitiateParams.amount,
72
+ subscriberNumber: mobileInitiateParams.subscriberNumber,
73
+ notifUrl: mobileInitiateParams.notifUrl,
74
+ description: mobileInitiateParams.description,
75
+ pinCode: mobileInitiateParams.pinCode,
76
+ channelUserNumber: '688526541',
77
+ payToken: mobileInitiateParams.payToken,
78
+ accessToken: mobileInitiateParams.accessToken,
79
+ },
80
+ paymentConfig: {
81
+ orangeMoneyVersion: '1.2.0',
82
+ apiPassword: 'secret',
83
+ apiUserName: 'secret',
84
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
85
+ targetEnvironment: utils_1.TargetEnvironment.fake,
86
+ logger: logger,
87
+ },
88
+ endPoint: 'https://api.paytoken.co',
89
+ });
90
+ expect(result.error).toEqual(constants_1.ApiErrorType.failedToInitiateThePayment);
91
+ });
92
+ it('Initialization failed cause of insufficient balance', async () => {
93
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
94
+ response: {
95
+ status: 417,
96
+ data: {
97
+ message: '60019 :: Le solde du compte du payeur est insuffisant',
98
+ data: {
99
+ id: 75742131,
100
+ createtime: '1682612128',
101
+ subscriberMsisdn: '696689073',
102
+ amount: 90,
103
+ payToken: 'MP2304270429730CE5AC78D276A6',
104
+ txnid: null,
105
+ txnmode: '84d1uhuhiuhiliubi',
106
+ inittxnmessage: 'Le solde du compte du payeur est insuffisant',
107
+ inittxnstatus: '60019',
108
+ confirmtxnstatus: null,
109
+ confirmtxnmessage: null,
110
+ status: 'FAILED',
111
+ notifUrl: '',
112
+ description: '',
113
+ channelUserMsisdn: '696431937',
114
+ },
115
+ },
116
+ },
117
+ }));
118
+ const result = await (0, initialize_om_payment_1.initializeOmPayment)({
119
+ mobileInitParams: {
120
+ transactionId: mobileInitiateParams.transactionId,
121
+ amount: mobileInitiateParams.amount,
122
+ subscriberNumber: mobileInitiateParams.subscriberNumber,
123
+ notifUrl: mobileInitiateParams.notifUrl,
124
+ description: mobileInitiateParams.description,
125
+ pinCode: mobileInitiateParams.pinCode,
126
+ channelUserNumber: mobileInitiateParams.channelUserNumber,
127
+ payToken: mobileInitiateParams.payToken,
128
+ accessToken: mobileInitiateParams.accessToken,
129
+ },
130
+ paymentConfig: {
131
+ orangeMoneyVersion: '1.2.0',
132
+ apiPassword: 'secret',
133
+ apiUserName: 'secret',
134
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
135
+ targetEnvironment: utils_1.TargetEnvironment.fake,
136
+ logger: logger,
137
+ },
138
+ endPoint: 'https://api.paytoken.co',
139
+ });
140
+ expect(result.error).toEqual(constants_1.ApiErrorType.insufficientFunds);
141
+ });
142
+ it('Initialization failed cause of account blocked ', async () => {
143
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
144
+ response: {
145
+ status: 417,
146
+ data: {
147
+ message: '60019 :: Utilisateur bloque',
148
+ data: {
149
+ id: 75742131,
150
+ createtime: '1682612128',
151
+ subscriberMsisdn: '237696689073',
152
+ amount: 90,
153
+ payToken: 'MP2304270429730CE5AC78D276A6',
154
+ txnid: null,
155
+ txnmode: '84d1uhuhiuhiliubi',
156
+ inittxnmessage: 'Utilisateur bloque',
157
+ inittxnstatus: '60019',
158
+ confirmtxnstatus: null,
159
+ confirmtxnmessage: null,
160
+ status: 'FAILED',
161
+ notifUrl: '',
162
+ description: '',
163
+ channelUserMsisdn: '696431937',
164
+ },
165
+ },
166
+ },
167
+ }));
168
+ const result = await (0, initialize_om_payment_1.initializeOmPayment)({
169
+ mobileInitParams: {
170
+ transactionId: mobileInitiateParams.transactionId,
171
+ amount: mobileInitiateParams.amount,
172
+ subscriberNumber: mobileInitiateParams.subscriberNumber,
173
+ notifUrl: mobileInitiateParams.notifUrl,
174
+ description: mobileInitiateParams.description,
175
+ pinCode: mobileInitiateParams.pinCode,
176
+ channelUserNumber: mobileInitiateParams.channelUserNumber,
177
+ payToken: mobileInitiateParams.payToken,
178
+ accessToken: mobileInitiateParams.accessToken,
179
+ },
180
+ paymentConfig: {
181
+ orangeMoneyVersion: '1.2.0',
182
+ apiPassword: 'secret',
183
+ apiUserName: 'secret',
184
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
185
+ targetEnvironment: utils_1.TargetEnvironment.fake,
186
+ logger: logger,
187
+ },
188
+ endPoint: 'https://api.paytoken.co',
189
+ });
190
+ expect(result.error).toEqual(constants_1.ApiErrorType.accountLocked);
191
+ });
192
+ it('Initialization Successful', async () => {
193
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
194
+ response: {
195
+ status: 200,
196
+ data: {
197
+ message: 'Payment request successfully initiated',
198
+ data: {
199
+ id: 75742131,
200
+ createtime: '1682612128',
201
+ subscriberMsisdn: '237696689073',
202
+ amount: 90,
203
+ payToken: 'MP2304270429730CE5AC78D276A6',
204
+ txnid: null,
205
+ txnmode: '84d1uhuhiuhiliubi',
206
+ inittxnmessage: 'Vous avez saisi un montant superieur au montant maximum autorise',
207
+ inittxnstatus: '60019',
208
+ confirmtxnstatus: null,
209
+ confirmtxnmessage: null,
210
+ status: 'PENDING',
211
+ notifUrl: '',
212
+ description: '',
213
+ channelUserMsisdn: '696431937',
214
+ },
215
+ },
216
+ },
217
+ }));
218
+ const result = await (0, initialize_om_payment_1.initializeOmPayment)({
219
+ mobileInitParams: {
220
+ transactionId: mobileInitiateParams.transactionId,
221
+ amount: mobileInitiateParams.amount,
222
+ subscriberNumber: mobileInitiateParams.subscriberNumber,
223
+ notifUrl: mobileInitiateParams.notifUrl,
224
+ description: mobileInitiateParams.description,
225
+ pinCode: mobileInitiateParams.pinCode,
226
+ channelUserNumber: mobileInitiateParams.channelUserNumber,
227
+ payToken: mobileInitiateParams.payToken,
228
+ accessToken: mobileInitiateParams.accessToken,
229
+ },
230
+ paymentConfig: {
231
+ orangeMoneyVersion: '1.2.0',
232
+ apiPassword: 'secret',
233
+ apiUserName: 'secret',
234
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
235
+ targetEnvironment: utils_1.TargetEnvironment.fake,
236
+ logger: logger,
237
+ },
238
+ endPoint: 'https://api.paytoken.co',
239
+ });
240
+ expect(result.data).toStrictEqual({
241
+ payToken: 'MP220807558VEF7A9C4F09AED',
242
+ });
243
+ });
244
+ });
245
+ //# sourceMappingURL=initialize_om_payment.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize_om_payment.spec.js","sourceRoot":"","sources":["../../../../../src/payments/operations/initialize_om_payment.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { OrangeMoneyPaymentParams } from './utils/joi_schema';
2
+ import { GetAccessTokenResponse, GetOrangeMoneyPaymentRequest, GetOrangeMoneyPaymentResponse, GetPayTokenResponse, InitializeOrangeMoneyRequest, InitializeOrangeMoneyResponse } from './utils/request_model';
3
+ export interface OrangeMoneyPaymentInterface {
4
+ /**
5
+ * Gets the pay token token.
6
+ * @param {String} accessToken The access token for authorize the request.
7
+ * @returns {Promise<GetPayTokenResponse>} The promise that resolves to the pay token response.
8
+ */
9
+ getPayToken(accessToken: string): Promise<GetPayTokenResponse>;
10
+ /**
11
+ * Gets the access token token.
12
+ */
13
+ getAccessToken(): Promise<GetAccessTokenResponse>;
14
+ /**
15
+ * Initializes the orange money payment.
16
+ *
17
+ * @param {String} mobileInitParams.description the payment description.
18
+ * @param {String} mobileInitParams.subscriberNumber The phone number of the user making the payment.
19
+ * @param {String} mobileInitParams.channelUserNumber The phone number of the user receiving the payment.
20
+ * @param {String} mobileInitParams.transactionId Unique identifier of the customer transaction.
21
+ * @param {String} mobileInitParams.amount The amount of the transaction.
22
+ * @param {String} mobileInitParams.pinCode The Pin code of the ChannelUser.
23
+ * @param {String} mobileInitParams.notifUrl An http endpoint able to receive a post request.
24
+ * @param {String} mobileInitParams.payToken A payToken value useful to make payment
25
+ * and track the status of payment.
26
+ * @param {String} mobileInitParams.accessToken The access token for authorize the request.
27
+ * @returns {Promise<InitializeOrangeMoneyResponse>} The promise that resolves to the mobile payment initialization response.
28
+ **/
29
+ initializeOrangeMoneyPayment(params: InitializeOrangeMoneyRequest): Promise<InitializeOrangeMoneyResponse>;
30
+ /**
31
+ * Gets The orange money payment status.
32
+ * @param {String} checkStatusParams.payToken unique identifier used to obtain payment status.
33
+ * @param {String} checkStatusParams.accessToken The access token for authorize the request.
34
+ * @returns {Promise<GetOrangeMoneyPaymentResponse>} The promise that resolves to the mobile payment status response.
35
+ */
36
+ getOrangeMoneyPaymentStatus(params: GetOrangeMoneyPaymentRequest): Promise<GetOrangeMoneyPaymentResponse>;
37
+ }
38
+ /**
39
+ * Creates a orange money payment.
40
+ */
41
+ export declare class OrangeMoneyPayment {
42
+ /**
43
+ * Create a new payment using the provided configuration.
44
+ *
45
+ * @param {OrangeMoneyPaymentParams} config - The payment configuration.
46
+ * - {TargetEnvironment} config.targetEnvironment the target environment.
47
+ * - {string} config.apiUserName channelUser api username.
48
+ * - {string} config.apiPassword channelUser api password.
49
+ * - {string} config.xAuthToken the x-auth-token.
50
+ * - {string} [mobileInitParams.omVersion] the mobile orange money version apply for payment request.The default orange money version
51
+ * is 1.0.2: for more information: https://apiw.orange.cm/omcoreapis/1.0.2/mp/pay.
52
+ * - {String} config.targetEnvironment the target environment.
53
+ * @return {OrangeMoneyPaymentInterface} The created payment.
54
+ */
55
+ static createPayment(config: OrangeMoneyPaymentParams): OrangeMoneyPaymentInterface;
56
+ }
57
+ //# sourceMappingURL=payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../../../src/payments/payments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE/D;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAElD;;;;;;;;;;;;;;QAcI;IACJ,4BAA4B,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,2BAA2B,CACzB,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,aAAa,CAClB,MAAM,EAAE,wBAAwB,GAC/B,2BAA2B;CAU/B"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrangeMoneyPayment = void 0;
4
+ const utils_1 = require("../utils/utils");
5
+ const fake_1 = require("./implementations/fake");
6
+ const live_1 = require("./implementations/live");
7
+ /**
8
+ * Creates a orange money payment.
9
+ */
10
+ class OrangeMoneyPayment {
11
+ /**
12
+ * Create a new payment using the provided configuration.
13
+ *
14
+ * @param {OrangeMoneyPaymentParams} config - The payment configuration.
15
+ * - {TargetEnvironment} config.targetEnvironment the target environment.
16
+ * - {string} config.apiUserName channelUser api username.
17
+ * - {string} config.apiPassword channelUser api password.
18
+ * - {string} config.xAuthToken the x-auth-token.
19
+ * - {string} [mobileInitParams.omVersion] the mobile orange money version apply for payment request.The default orange money version
20
+ * is 1.0.2: for more information: https://apiw.orange.cm/omcoreapis/1.0.2/mp/pay.
21
+ * - {String} config.targetEnvironment the target environment.
22
+ * @return {OrangeMoneyPaymentInterface} The created payment.
23
+ */
24
+ static createPayment(config) {
25
+ switch (config.targetEnvironment) {
26
+ case utils_1.TargetEnvironment.prod:
27
+ return new live_1.OrangeMoneyPaymentLive(config);
28
+ case utils_1.TargetEnvironment.fake:
29
+ return new fake_1.OrangeMoneyPaymentFake();
30
+ default:
31
+ return new live_1.OrangeMoneyPaymentLive(config);
32
+ }
33
+ }
34
+ }
35
+ exports.OrangeMoneyPayment = OrangeMoneyPayment;
36
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../../src/payments/payments.ts"],"names":[],"mappings":";;;AAAA,0CAAmD;AACnD,iDAAgE;AAChE,iDAAgE;AAsDhE;;GAEG;AACH,MAAa,kBAAkB;IAC7B;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,aAAa,CAClB,MAAgC;QAEhC,QAAQ,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACjC,KAAK,yBAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,6BAAsB,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,yBAAiB,CAAC,IAAI;gBACzB,OAAO,IAAI,6BAAsB,EAAE,CAAC;YACtC;gBACE,OAAO,IAAI,6BAAsB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AA1BD,gDA0BC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Orange Money API routes builder.
3
+ * @class
4
+ */
5
+ export declare class Routes {
6
+ private readonly version?;
7
+ /**
8
+ * Creates a new instance of the class route.
9
+ *
10
+ * @param {string} version - The version of the instance. Optional.
11
+ */
12
+ constructor(version?: string | undefined);
13
+ /**
14
+ * Returns the base route for the API.
15
+ *
16
+ * @return {string} The base route for the API.
17
+ */
18
+ baseRoute: () => string;
19
+ /**
20
+ * Initializes the live payment.
21
+ *
22
+ * @return {string} The endpoint URL for the live payment.
23
+ */
24
+ mobileInitPayment(): string;
25
+ /**
26
+ * Generates the payment status URL based on the provided parameters.
27
+ *
28
+ * @param {object} params - The parameters for generating the payment status URL.
29
+ * - {string} params.payToken - The pay token.
30
+ * @return {string} The generated payment status URL.
31
+ */
32
+ mobilePaymentStatus(params: {
33
+ payToken: string;
34
+ }): string;
35
+ /**
36
+ * Generates the URL for the Mobile Pay token.
37
+ *
38
+ * @return {string} The URL for the Mobile Pay token.
39
+ */
40
+ mobilePayToken(): string;
41
+ /**
42
+ * Generates the mobile access token endpoint.
43
+ *
44
+ * @return {string} The generated mobile access token endpoint.
45
+ */
46
+ mobileAccessToken(): string;
47
+ }
48
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../src/payments/routes/routes.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,MAAM;IAML,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IALrC;;;;OAIG;gBAC0B,OAAO,CAAC,oBAAQ;IAI7C;;;;OAIG;IACH,SAAS,QAAO,MAAM,CAA4C;IAElE;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIzD;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;CAG5B"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Routes = void 0;
4
+ const apiHost = 'https://api-s1.orange.cm';
5
+ /**
6
+ * Orange Money API routes builder.
7
+ * @class
8
+ */
9
+ class Routes {
10
+ /**
11
+ * Creates a new instance of the class route.
12
+ *
13
+ * @param {string} version - The version of the instance. Optional.
14
+ */
15
+ constructor(version) {
16
+ this.version = version;
17
+ /**
18
+ * Returns the base route for the API.
19
+ *
20
+ * @return {string} The base route for the API.
21
+ */
22
+ this.baseRoute = () => `${apiHost}/omcoreapis/${this.version}`;
23
+ this.version = version !== null && version !== void 0 ? version : '1.0.2';
24
+ }
25
+ /**
26
+ * Initializes the live payment.
27
+ *
28
+ * @return {string} The endpoint URL for the live payment.
29
+ */
30
+ mobileInitPayment() {
31
+ return `${this.baseRoute()}/mp/pay`;
32
+ }
33
+ /**
34
+ * Generates the payment status URL based on the provided parameters.
35
+ *
36
+ * @param {object} params - The parameters for generating the payment status URL.
37
+ * - {string} params.payToken - The pay token.
38
+ * @return {string} The generated payment status URL.
39
+ */
40
+ mobilePaymentStatus(params) {
41
+ return `${this.baseRoute()}/mp/paymentstatus/${params.payToken}`;
42
+ }
43
+ /**
44
+ * Generates the URL for the Mobile Pay token.
45
+ *
46
+ * @return {string} The URL for the Mobile Pay token.
47
+ */
48
+ mobilePayToken() {
49
+ return `${this.baseRoute()}/mp/init`;
50
+ }
51
+ /**
52
+ * Generates the mobile access token endpoint.
53
+ *
54
+ * @return {string} The generated mobile access token endpoint.
55
+ */
56
+ mobileAccessToken() {
57
+ return `${apiHost}/token`;
58
+ }
59
+ }
60
+ exports.Routes = Routes;
61
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../../src/payments/routes/routes.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAE3C;;;GAGG;AACH,MAAa,MAAM;IACjB;;;;OAIG;IACH,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAI7C;;;;WAIG;QACH,cAAS,GAAG,GAAW,EAAE,CAAC,GAAG,OAAO,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC;QARhE,IAAI,CAAC,OAAO,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,OAAO,CAAC;IACpC,CAAC;IASD;;;;OAIG;IACH,iBAAiB;QACf,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,MAA4B;QAC9C,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,MAAM,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,GAAG,OAAO,QAAQ,CAAC;IAC5B,CAAC;CACF;AAtDD,wBAsDC"}