@spreeloop/orange_money 1.0.11 → 1.0.13

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 (157) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +18 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/disbursements/implementations/disbursement_service.d.ts +63 -0
  6. package/dist/src/disbursements/implementations/disbursement_service.d.ts.map +1 -0
  7. package/dist/src/disbursements/implementations/disbursement_service.js +84 -0
  8. package/dist/src/disbursements/implementations/disbursement_service.js.map +1 -0
  9. package/dist/src/disbursements/implementations/src/live.d.ts +40 -0
  10. package/dist/src/disbursements/implementations/src/live.d.ts.map +1 -0
  11. package/dist/src/disbursements/implementations/src/live.js +61 -0
  12. package/dist/src/disbursements/implementations/src/live.js.map +1 -0
  13. package/dist/src/disbursements/implementations/src/sandbox.d.ts +40 -0
  14. package/dist/src/disbursements/implementations/src/sandbox.d.ts.map +1 -0
  15. package/dist/src/disbursements/implementations/src/sandbox.js +110 -0
  16. package/dist/src/disbursements/implementations/src/sandbox.js.map +1 -0
  17. package/dist/src/disbursements/operations/create_access_token.d.ts +28 -0
  18. package/dist/src/disbursements/operations/create_access_token.d.ts.map +1 -0
  19. package/dist/src/disbursements/operations/create_access_token.js +45 -0
  20. package/dist/src/disbursements/operations/create_access_token.js.map +1 -0
  21. package/dist/src/disbursements/operations/create_access_token.spec.d.ts +2 -0
  22. package/dist/src/disbursements/operations/create_access_token.spec.d.ts.map +1 -0
  23. package/dist/src/disbursements/operations/create_access_token.spec.js +105 -0
  24. package/dist/src/disbursements/operations/create_access_token.spec.js.map +1 -0
  25. package/dist/src/disbursements/operations/get_transfer_status.d.ts +114 -0
  26. package/dist/src/disbursements/operations/get_transfer_status.d.ts.map +1 -0
  27. package/dist/src/disbursements/operations/get_transfer_status.js +128 -0
  28. package/dist/src/disbursements/operations/get_transfer_status.js.map +1 -0
  29. package/dist/src/disbursements/operations/get_transfer_status.spec.d.ts +2 -0
  30. package/dist/src/disbursements/operations/get_transfer_status.spec.d.ts.map +1 -0
  31. package/dist/src/disbursements/operations/get_transfer_status.spec.js +147 -0
  32. package/dist/src/disbursements/operations/get_transfer_status.spec.js.map +1 -0
  33. package/dist/src/disbursements/operations/transfer.d.ts +45 -0
  34. package/dist/src/disbursements/operations/transfer.d.ts.map +1 -0
  35. package/dist/src/disbursements/operations/transfer.js +74 -0
  36. package/dist/src/disbursements/operations/transfer.js.map +1 -0
  37. package/dist/src/disbursements/operations/transfer.spec.d.ts +2 -0
  38. package/dist/src/disbursements/operations/transfer.spec.d.ts.map +1 -0
  39. package/dist/src/disbursements/operations/transfer.spec.js +177 -0
  40. package/dist/src/disbursements/operations/transfer.spec.js.map +1 -0
  41. package/dist/src/disbursements/routes/routes.d.ts +38 -0
  42. package/dist/src/disbursements/routes/routes.d.ts.map +1 -0
  43. package/dist/src/disbursements/routes/routes.js +53 -0
  44. package/dist/src/disbursements/routes/routes.js.map +1 -0
  45. package/dist/src/disbursements/utils/constants.d.ts +5 -0
  46. package/dist/src/disbursements/utils/constants.d.ts.map +1 -0
  47. package/dist/src/disbursements/utils/constants.js +9 -0
  48. package/dist/src/disbursements/utils/constants.js.map +1 -0
  49. package/dist/src/disbursements/utils/regex.d.ts +9 -0
  50. package/dist/src/disbursements/utils/regex.d.ts.map +1 -0
  51. package/dist/src/disbursements/utils/regex.js +12 -0
  52. package/dist/src/disbursements/utils/regex.js.map +1 -0
  53. package/dist/src/disbursements/utils/regex.spec.d.ts +2 -0
  54. package/dist/src/disbursements/utils/regex.spec.d.ts.map +1 -0
  55. package/dist/src/disbursements/utils/regex.spec.js +32 -0
  56. package/dist/src/disbursements/utils/regex.spec.js.map +1 -0
  57. package/dist/src/disbursements/utils/status.d.ts +53 -0
  58. package/dist/src/disbursements/utils/status.d.ts.map +1 -0
  59. package/dist/src/disbursements/utils/status.js +58 -0
  60. package/dist/src/disbursements/utils/status.js.map +1 -0
  61. package/dist/src/disbursements/utils/utils.d.ts +9 -0
  62. package/dist/src/disbursements/utils/utils.d.ts.map +1 -0
  63. package/dist/src/disbursements/utils/utils.js +26 -0
  64. package/dist/src/disbursements/utils/utils.js.map +1 -0
  65. package/dist/src/disbursements/utils/utils.spec.d.ts +2 -0
  66. package/dist/src/disbursements/utils/utils.spec.d.ts.map +1 -0
  67. package/dist/src/disbursements/utils/utils.spec.js +43 -0
  68. package/dist/src/disbursements/utils/utils.spec.js.map +1 -0
  69. package/dist/src/index.d.ts +7 -0
  70. package/dist/src/index.d.ts.map +1 -0
  71. package/dist/src/index.js +15 -0
  72. package/dist/src/index.js.map +1 -0
  73. package/dist/src/payments/implementations/fake.d.ts +33 -0
  74. package/dist/src/payments/implementations/fake.d.ts.map +1 -0
  75. package/dist/src/payments/implementations/fake.js +110 -0
  76. package/dist/src/payments/implementations/fake.js.map +1 -0
  77. package/dist/src/payments/implementations/live.d.ts +45 -0
  78. package/dist/src/payments/implementations/live.d.ts.map +1 -0
  79. package/dist/src/payments/implementations/live.js +69 -0
  80. package/dist/src/payments/implementations/live.js.map +1 -0
  81. package/dist/src/payments/operations/get_access_token.d.ts +11 -0
  82. package/dist/src/payments/operations/get_access_token.d.ts.map +1 -0
  83. package/dist/src/payments/operations/get_access_token.js +47 -0
  84. package/dist/src/payments/operations/get_access_token.js.map +1 -0
  85. package/dist/src/payments/operations/get_access_token.spec.d.ts +2 -0
  86. package/dist/src/payments/operations/get_access_token.spec.d.ts.map +1 -0
  87. package/dist/src/payments/operations/get_access_token.spec.js +74 -0
  88. package/dist/src/payments/operations/get_access_token.spec.js.map +1 -0
  89. package/dist/src/payments/operations/get_pay_token.d.ts +12 -0
  90. package/dist/src/payments/operations/get_pay_token.d.ts.map +1 -0
  91. package/dist/src/payments/operations/get_pay_token.js +43 -0
  92. package/dist/src/payments/operations/get_pay_token.js.map +1 -0
  93. package/dist/src/payments/operations/get_pay_token.spec.d.ts +2 -0
  94. package/dist/src/payments/operations/get_pay_token.spec.d.ts.map +1 -0
  95. package/dist/src/payments/operations/get_pay_token.spec.js +74 -0
  96. package/dist/src/payments/operations/get_pay_token.spec.js.map +1 -0
  97. package/dist/src/payments/operations/get_payment_status.d.ts +23 -0
  98. package/dist/src/payments/operations/get_payment_status.d.ts.map +1 -0
  99. package/dist/src/payments/operations/get_payment_status.js +51 -0
  100. package/dist/src/payments/operations/get_payment_status.js.map +1 -0
  101. package/dist/src/payments/operations/get_payment_status.spec.d.ts +2 -0
  102. package/dist/src/payments/operations/get_payment_status.spec.d.ts.map +1 -0
  103. package/dist/src/payments/operations/get_payment_status.spec.js +101 -0
  104. package/dist/src/payments/operations/get_payment_status.spec.js.map +1 -0
  105. package/dist/src/payments/operations/initialize_om_payment.d.ts +22 -0
  106. package/dist/src/payments/operations/initialize_om_payment.d.ts.map +1 -0
  107. package/dist/src/payments/operations/initialize_om_payment.js +124 -0
  108. package/dist/src/payments/operations/initialize_om_payment.js.map +1 -0
  109. package/dist/src/payments/operations/initialize_om_payment.spec.d.ts +2 -0
  110. package/dist/src/payments/operations/initialize_om_payment.spec.d.ts.map +1 -0
  111. package/dist/src/payments/operations/initialize_om_payment.spec.js +245 -0
  112. package/dist/src/payments/operations/initialize_om_payment.spec.js.map +1 -0
  113. package/dist/src/payments/payments.d.ts +57 -0
  114. package/dist/src/payments/payments.d.ts.map +1 -0
  115. package/dist/src/payments/payments.js +36 -0
  116. package/dist/src/payments/payments.js.map +1 -0
  117. package/dist/src/payments/routes/routes.d.ts +48 -0
  118. package/dist/src/payments/routes/routes.d.ts.map +1 -0
  119. package/dist/src/payments/routes/routes.js +61 -0
  120. package/dist/src/payments/routes/routes.js.map +1 -0
  121. package/dist/src/payments/utils/constants.d.ts +96 -0
  122. package/dist/src/payments/utils/constants.d.ts.map +1 -0
  123. package/dist/src/payments/utils/constants.js +112 -0
  124. package/dist/src/payments/utils/constants.js.map +1 -0
  125. package/dist/src/payments/utils/joi_schema.d.ts +71 -0
  126. package/dist/src/payments/utils/joi_schema.d.ts.map +1 -0
  127. package/dist/src/payments/utils/joi_schema.js +44 -0
  128. package/dist/src/payments/utils/joi_schema.js.map +1 -0
  129. package/dist/src/payments/utils/request_model.d.ts +75 -0
  130. package/dist/src/payments/utils/request_model.d.ts.map +1 -0
  131. package/dist/src/payments/utils/request_model.js +3 -0
  132. package/dist/src/payments/utils/request_model.js.map +1 -0
  133. package/dist/src/payments/utils/utils.d.ts +15 -0
  134. package/dist/src/payments/utils/utils.d.ts.map +1 -0
  135. package/dist/src/payments/utils/utils.js +27 -0
  136. package/dist/src/payments/utils/utils.js.map +1 -0
  137. package/dist/src/utils/https.d.ts +77 -0
  138. package/dist/src/utils/https.d.ts.map +1 -0
  139. package/dist/src/utils/https.js +240 -0
  140. package/dist/src/utils/https.js.map +1 -0
  141. package/dist/src/utils/https.spec.d.ts +2 -0
  142. package/dist/src/utils/https.spec.d.ts.map +1 -0
  143. package/dist/src/utils/https.spec.js +77 -0
  144. package/dist/src/utils/https.spec.js.map +1 -0
  145. package/dist/src/utils/logging_interface.d.ts +23 -0
  146. package/dist/src/utils/logging_interface.d.ts.map +1 -0
  147. package/dist/src/utils/logging_interface.js +3 -0
  148. package/dist/src/utils/logging_interface.js.map +1 -0
  149. package/dist/src/utils/operation_response.d.ts +16 -0
  150. package/dist/src/utils/operation_response.d.ts.map +1 -0
  151. package/dist/src/utils/operation_response.js +3 -0
  152. package/dist/src/utils/operation_response.js.map +1 -0
  153. package/dist/src/utils/utils.d.ts +6 -0
  154. package/dist/src/utils/utils.d.ts.map +1 -0
  155. package/dist/src/utils/utils.js +10 -0
  156. package/dist/src/utils/utils.js.map +1 -0
  157. package/package.json +3 -3
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrangeMoneyPaymentStatus = exports.ApiErrorType = exports.OrangeMoneyPayment = exports.DisbursementStatus = exports.DisbursementXTargetEnvironmentType = exports.Disbursement = void 0;
4
+ var disbursement_service_1 = require("./disbursements/implementations/disbursement_service");
5
+ Object.defineProperty(exports, "Disbursement", { enumerable: true, get: function () { return disbursement_service_1.Disbursement; } });
6
+ var constants_1 = require("./disbursements/utils/constants");
7
+ Object.defineProperty(exports, "DisbursementXTargetEnvironmentType", { enumerable: true, get: function () { return constants_1.DisbursementXTargetEnvironmentType; } });
8
+ var status_1 = require("./disbursements/utils/status");
9
+ Object.defineProperty(exports, "DisbursementStatus", { enumerable: true, get: function () { return status_1.DisbursementStatus; } });
10
+ var payments_1 = require("./payments/payments");
11
+ Object.defineProperty(exports, "OrangeMoneyPayment", { enumerable: true, get: function () { return payments_1.OrangeMoneyPayment; } });
12
+ var constants_2 = require("./payments/utils/constants");
13
+ Object.defineProperty(exports, "ApiErrorType", { enumerable: true, get: function () { return constants_2.ApiErrorType; } });
14
+ Object.defineProperty(exports, "OrangeMoneyPaymentStatus", { enumerable: true, get: function () { return constants_2.OrangeMoneyPaymentStatus; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6FAAoF;AAA3E,oHAAA,YAAY,OAAA;AACrB,6DAAqF;AAA5E,+HAAA,kCAAkC,OAAA;AAE3C,uDAAkE;AAAzD,4GAAA,kBAAkB,OAAA;AAC3B,gDAG6B;AAF3B,8GAAA,kBAAkB,OAAA;AAGpB,wDAGoC;AAFlC,yGAAA,YAAY,OAAA;AACZ,qHAAA,wBAAwB,OAAA"}
@@ -0,0 +1,33 @@
1
+ import { GetAccessTokenResponse, GetOrangeMoneyPaymentRequest, GetOrangeMoneyPaymentResponse, InitializeOrangeMoneyRequest, InitializeOrangeMoneyResponse, GetPayTokenResponse } from '../utils/request_model';
2
+ import { OrangeMoneyPaymentInterface } from '../payments';
3
+ /**
4
+ * Implement the orange money fake payment.
5
+ */
6
+ export declare class OrangeMoneyPaymentFake implements OrangeMoneyPaymentInterface {
7
+ /**
8
+ * Generates a pay token using the provided access token.
9
+ *
10
+ * @return {Promise<GetPayTokenResponse>} A promise that resolves to the pay token response.
11
+ */
12
+ getPayToken(): Promise<GetPayTokenResponse>;
13
+ /**
14
+ * Generates an access token.
15
+ *
16
+ * @return {Promise<GetAccessTokenResponse>} the access token response
17
+ */
18
+ getAccessToken(): Promise<GetAccessTokenResponse>;
19
+ /**
20
+ * Retrieves The orange money payment status.
21
+ * @param {MobileParamsForCheckStatus} checkStatusParams the necessary parameters to get the mobile payment status.
22
+ * @return {GetOrangeMoneyPaymentResponse} the response who contains the payment state.
23
+ */
24
+ getOrangeMoneyPaymentStatus(checkStatusParams: GetOrangeMoneyPaymentRequest): Promise<GetOrangeMoneyPaymentResponse>;
25
+ /**
26
+ * Initiates the orange money payment.
27
+ * @param {InitializeOrangeMoneyRequest} mobileInitParams the necessary parameters to initialize the mobile payment.
28
+ * @return {InitializeOrangeMoneyResponse} the response of initialization.
29
+ *
30
+ **/
31
+ initializeOrangeMoneyPayment(mobileInitParams: InitializeOrangeMoneyRequest): Promise<InitializeOrangeMoneyResponse>;
32
+ }
33
+ //# sourceMappingURL=fake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../../../src/payments/implementations/fake.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAgB1D;;GAEG;AACH,qBAAa,sBAAuB,YAAW,2BAA2B;IACxE;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAOjD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAMvD;;;;OAIG;IACG,2BAA2B,CAC/B,iBAAiB,EAAE,4BAA4B,GAC9C,OAAO,CAAC,6BAA6B,CAAC;IA+BzC;;;;;QAKI;IACE,4BAA4B,CAChC,gBAAgB,EAAE,4BAA4B,GAC7C,OAAO,CAAC,6BAA6B,CAAC;CA8B1C"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrangeMoneyPaymentFake = void 0;
4
+ const constants_1 = require("../utils/constants");
5
+ const payTokenResponse = {
6
+ message: 'success',
7
+ data: {
8
+ payToken: 'MP220807558VEF7A9C4F09AED',
9
+ },
10
+ };
11
+ const mobileAccessTokenResponse = {
12
+ access_token: '1e23bee1-37dc-3015-a7d6-cb70e566bd64',
13
+ token_type: 'bearer',
14
+ expires_in: 3600,
15
+ scope: 'read write',
16
+ };
17
+ /**
18
+ * Implement the orange money fake payment.
19
+ */
20
+ class OrangeMoneyPaymentFake {
21
+ /**
22
+ * Generates a pay token using the provided access token.
23
+ *
24
+ * @return {Promise<GetPayTokenResponse>} A promise that resolves to the pay token response.
25
+ */
26
+ async getPayToken() {
27
+ return Promise.resolve({
28
+ raw: payTokenResponse,
29
+ data: 'MP220806C74C8F5787A9C4F79AED',
30
+ });
31
+ }
32
+ /**
33
+ * Generates an access token.
34
+ *
35
+ * @return {Promise<GetAccessTokenResponse>} the access token response
36
+ */
37
+ async getAccessToken() {
38
+ return Promise.resolve({
39
+ raw: mobileAccessTokenResponse,
40
+ data: '1e23bee1-37dc-3015-a7d6-cb70e566bd64',
41
+ });
42
+ }
43
+ /**
44
+ * Retrieves The orange money payment status.
45
+ * @param {MobileParamsForCheckStatus} checkStatusParams the necessary parameters to get the mobile payment status.
46
+ * @return {GetOrangeMoneyPaymentResponse} the response who contains the payment state.
47
+ */
48
+ async getOrangeMoneyPaymentStatus(checkStatusParams) {
49
+ return Promise.resolve({
50
+ raw: {
51
+ message: 'Transaction retrieved successfully',
52
+ data: {
53
+ id: 74581010,
54
+ createtime: '1682001669',
55
+ subscriberMsisdn: '655637944',
56
+ amount: 1100,
57
+ payToken: checkStatusParams.payToken,
58
+ txnid: 'MP230420.1541.C39196',
59
+ txnmode: 'zSapffVPWccheVZQRtvG',
60
+ inittxnmessage: 'Paiement e la clientele done.The devrez confirmer le paiement en saisissant son code PIN et vous recevrez alors un SMS. Merci dutiliser des services Orange Money.',
61
+ inittxnstatus: '200',
62
+ confirmtxnstatus: '200',
63
+ confirmtxnmessage: 'Paiement de SPREELOOP reussi par 655637944 PEKE. ID transaction:MP230420.1541.C39196, Montant:1100 FCFA. Solde: 55.81 FCFA.',
64
+ status: constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT,
65
+ notifUrl: 'https://europe-west1-place-prod.cloudfunctions.net/api-1/payment/orange_money/live/zSapffVPWccheVZQRtvG',
66
+ description: 'Commande',
67
+ channelUserMsisdn: '696431937',
68
+ },
69
+ },
70
+ data: {
71
+ status: constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT,
72
+ },
73
+ });
74
+ }
75
+ /**
76
+ * Initiates the orange money payment.
77
+ * @param {InitializeOrangeMoneyRequest} mobileInitParams the necessary parameters to initialize the mobile payment.
78
+ * @return {InitializeOrangeMoneyResponse} the response of initialization.
79
+ *
80
+ **/
81
+ async initializeOrangeMoneyPayment(mobileInitParams) {
82
+ return Promise.resolve({
83
+ raw: {
84
+ message: 'Transaction retrieved successfully',
85
+ data: {
86
+ id: 74581010,
87
+ createtime: '1682001669',
88
+ subscriberMsisdn: '655637944',
89
+ amount: 1100,
90
+ payToken: mobileInitParams.payToken,
91
+ txnid: 'MP230420.1541.C39196',
92
+ txnmode: 'zSapffVPWccheVZQRtvG',
93
+ inittxnmessage: 'Paiement e la clientele done.The devrez confirmer le paiement en saisissant son code PIN et vous recevrez alors un SMS. Merci dutiliser des services Orange Money.',
94
+ inittxnstatus: '200',
95
+ confirmtxnstatus: '200',
96
+ confirmtxnmessage: 'Paiement de SPREELOOP reussi par 655637944 PEKE. ID transaction:MP230420.1541.C39196, Montant:1100 FCFA. Solde: 55.81 FCFA.',
97
+ status: constants_1.OrangeMoneyPaymentStatus.PENDING_PAYMENT,
98
+ notifUrl: 'https://europe-west1-place-prod.cloudfunctions.net/api-1/payment/orange_money/live/zSapffVPWccheVZQRtvG',
99
+ description: 'Commande',
100
+ channelUserMsisdn: '696431937',
101
+ },
102
+ },
103
+ data: {
104
+ payToken: mobileInitParams.payToken,
105
+ },
106
+ });
107
+ }
108
+ }
109
+ exports.OrangeMoneyPaymentFake = OrangeMoneyPaymentFake;
110
+ //# sourceMappingURL=fake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake.js","sourceRoot":"","sources":["../../../../src/payments/implementations/fake.ts"],"names":[],"mappings":";;;AAAA,kDAA8D;AAe9D,MAAM,gBAAgB,GAA4B;IAChD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE;QACJ,QAAQ,EAAE,2BAA2B;KACtC;CACF,CAAC;AAEF,MAAM,yBAAyB,GAA+B;IAC5D,YAAY,EAAE,sCAAsC;IACpD,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF;;GAEG;AACH,MAAa,sBAAsB;IACjC;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE,yBAAyB;YAC9B,IAAI,EAAE,sCAAsC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,2BAA2B,CAC/B,iBAA+C;QAE/C,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE;gBACH,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE;oBACJ,EAAE,EAAE,QAAQ;oBACZ,UAAU,EAAE,YAAY;oBACxB,gBAAgB,EAAE,WAAW;oBAC7B,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;oBACpC,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,sBAAsB;oBAC/B,cAAc,EACZ,oKAAoK;oBACtK,aAAa,EAAE,KAAK;oBACpB,gBAAgB,EAAE,KAAK;oBACvB,iBAAiB,EACf,6HAA6H;oBAC/H,MAAM,EAAE,oCAAwB,CAAC,0BAA0B;oBAC3D,QAAQ,EACN,yGAAyG;oBAC3G,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,WAAW;iBAC/B;aACF;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,oCAAwB,CAAC,0BAA0B;aAC5D;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;QAKI;IACJ,KAAK,CAAC,4BAA4B,CAChC,gBAA8C;QAE9C,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,GAAG,EAAE;gBACH,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE;oBACJ,EAAE,EAAE,QAAQ;oBACZ,UAAU,EAAE,YAAY;oBACxB,gBAAgB,EAAE,WAAW;oBAC7B,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;oBACnC,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,sBAAsB;oBAC/B,cAAc,EACZ,oKAAoK;oBACtK,aAAa,EAAE,KAAK;oBACpB,gBAAgB,EAAE,KAAK;oBACvB,iBAAiB,EACf,6HAA6H;oBAC/H,MAAM,EAAE,oCAAwB,CAAC,eAAe;oBAChD,QAAQ,EACN,yGAAyG;oBAC3G,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,WAAW;iBAC/B;aACF;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;aACpC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AApGD,wDAoGC"}
@@ -0,0 +1,45 @@
1
+ import { OrangeMoneyPaymentParams } from '../utils/joi_schema';
2
+ import { OrangeMoneyPaymentInterface } from '../payments';
3
+ import { Routes } from '../routes/routes';
4
+ import { GetAccessTokenResponse, GetOrangeMoneyPaymentRequest, GetOrangeMoneyPaymentResponse, GetPayTokenResponse, InitializeOrangeMoneyRequest, InitializeOrangeMoneyResponse } from '../utils/request_model';
5
+ /**
6
+ * Implements the orange money live payment.
7
+ */
8
+ export declare class OrangeMoneyPaymentLive implements OrangeMoneyPaymentInterface {
9
+ protected readonly config: OrangeMoneyPaymentParams;
10
+ protected readonly route: Routes;
11
+ /**
12
+ * Creates a new instance of the PaymentConfig class.
13
+ *
14
+ * @param {PaymentConfig} config - The configuration for the PaymentConfig instance.
15
+ */
16
+ constructor(config: OrangeMoneyPaymentParams);
17
+ /**
18
+ * Gets a pay token using the provided access token.
19
+ *
20
+ * @param {string} accessToken - The access token used to create the pay token.
21
+ * @return {Promise<GetPayTokenResponse>} A promise that resolves to the pay token response.
22
+ */
23
+ getPayToken(accessToken: string): Promise<GetPayTokenResponse>;
24
+ /**
25
+ * Gets an access token.
26
+ *
27
+ * @return {Promise<GetAccessTokenResponse>} the access token response
28
+ */
29
+ getAccessToken(): Promise<GetAccessTokenResponse>;
30
+ /**
31
+ * Initializes the orange money payment.
32
+ *
33
+ * @param {InitializeOrangeMoneyRequest} mobileInitParams - Parameters for mobile initialization
34
+ * @return {Promise<InitializeOrangeMoneyResponse>} A promise that resolves with the mobile payment initialization response
35
+ */
36
+ initializeOrangeMoneyPayment(mobileInitParams: InitializeOrangeMoneyRequest): Promise<InitializeOrangeMoneyResponse>;
37
+ /**
38
+ * Gets the status of a payment.
39
+ *
40
+ * @param {GetOrangeMoneyPaymentRequest} checkStatusParams - The parameters for checking the status.
41
+ * @return {Promise<GetOrangeMoneyPaymentResponse>} The response containing the payment status.
42
+ */
43
+ getOrangeMoneyPaymentStatus(checkStatusParams: GetOrangeMoneyPaymentRequest): Promise<GetOrangeMoneyPaymentResponse>;
44
+ }
45
+ //# sourceMappingURL=live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../../src/payments/implementations/live.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,sBAAuB,YAAW,2BAA2B;IACxE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;gBACS,MAAM,EAAE,wBAAwB;IAK5C;;;;;OAKG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIpE;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAIvD;;;;;OAKG;IACG,4BAA4B,CAChC,gBAAgB,EAAE,4BAA4B,GAC7C,OAAO,CAAC,6BAA6B,CAAC;IAQzC;;;;;OAKG;IACG,2BAA2B,CAC/B,iBAAiB,EAAE,4BAA4B,GAC9C,OAAO,CAAC,6BAA6B,CAAC;CAS1C"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrangeMoneyPaymentLive = void 0;
4
+ const get_access_token_1 = require("../operations/get_access_token");
5
+ const get_pay_token_1 = require("../operations/get_pay_token");
6
+ const get_payment_status_1 = require("../operations/get_payment_status");
7
+ const initialize_om_payment_1 = require("../operations/initialize_om_payment");
8
+ const routes_1 = require("../routes/routes");
9
+ /**
10
+ * Implements the orange money live payment.
11
+ */
12
+ class OrangeMoneyPaymentLive {
13
+ /**
14
+ * Creates a new instance of the PaymentConfig class.
15
+ *
16
+ * @param {PaymentConfig} config - The configuration for the PaymentConfig instance.
17
+ */
18
+ constructor(config) {
19
+ this.config = config;
20
+ this.route = new routes_1.Routes(config.orangeMoneyVersion);
21
+ }
22
+ /**
23
+ * Gets a pay token using the provided access token.
24
+ *
25
+ * @param {string} accessToken - The access token used to create the pay token.
26
+ * @return {Promise<GetPayTokenResponse>} A promise that resolves to the pay token response.
27
+ */
28
+ async getPayToken(accessToken) {
29
+ return (0, get_pay_token_1.getPayToken)(this.config, accessToken, this.route.mobilePayToken());
30
+ }
31
+ /**
32
+ * Gets an access token.
33
+ *
34
+ * @return {Promise<GetAccessTokenResponse>} the access token response
35
+ */
36
+ async getAccessToken() {
37
+ return (0, get_access_token_1.getAccessToken)(this.config, this.route.mobileAccessToken());
38
+ }
39
+ /**
40
+ * Initializes the orange money payment.
41
+ *
42
+ * @param {InitializeOrangeMoneyRequest} mobileInitParams - Parameters for mobile initialization
43
+ * @return {Promise<InitializeOrangeMoneyResponse>} A promise that resolves with the mobile payment initialization response
44
+ */
45
+ async initializeOrangeMoneyPayment(mobileInitParams) {
46
+ return (0, initialize_om_payment_1.initializeOmPayment)({
47
+ paymentConfig: this.config,
48
+ mobileInitParams: mobileInitParams,
49
+ endPoint: this.route.mobileInitPayment(),
50
+ });
51
+ }
52
+ /**
53
+ * Gets the status of a payment.
54
+ *
55
+ * @param {GetOrangeMoneyPaymentRequest} checkStatusParams - The parameters for checking the status.
56
+ * @return {Promise<GetOrangeMoneyPaymentResponse>} The response containing the payment status.
57
+ */
58
+ async getOrangeMoneyPaymentStatus(checkStatusParams) {
59
+ return (0, get_payment_status_1.getPaymentStatus)({
60
+ paymentServiceConfig: this.config,
61
+ mobileStatusVerificationParams: checkStatusParams,
62
+ endPoint: this.route.mobilePaymentStatus({
63
+ payToken: checkStatusParams.payToken,
64
+ }),
65
+ });
66
+ }
67
+ }
68
+ exports.OrangeMoneyPaymentLive = OrangeMoneyPaymentLive;
69
+ //# sourceMappingURL=live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../../../src/payments/implementations/live.ts"],"names":[],"mappings":";;;AAAA,qEAAgE;AAChE,+DAA0D;AAC1D,yEAAoE;AAGpE,+EAA0E;AAE1E,6CAA0C;AAU1C;;GAEG;AACH,MAAa,sBAAsB;IAIjC;;;;OAIG;IACH,YAAY,MAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,OAAO,IAAA,2BAAW,EAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAChC,gBAA8C;QAE9C,OAAO,IAAA,2CAAmB,EAAC;YACzB,aAAa,EAAE,IAAI,CAAC,MAAM;YAC1B,gBAAgB,EAAE,gBAAgB;YAClC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,2BAA2B,CAC/B,iBAA+C;QAE/C,OAAO,IAAA,qCAAgB,EAAC;YACtB,oBAAoB,EAAE,IAAI,CAAC,MAAM;YACjC,8BAA8B,EAAE,iBAAiB;YACjD,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBACvC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;aACrC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAlED,wDAkEC"}
@@ -0,0 +1,11 @@
1
+ import { OrangeMoneyPaymentParams } from '../utils/joi_schema';
2
+ import { GetAccessTokenResponse } from '../utils/request_model';
3
+ /**
4
+ * Gets the access token for the API.
5
+ *
6
+ * @param {OrangeMoneyPaymentParams} paymentConfig - The payment configuration.
7
+ * @param {string} endPoint - The end point route.
8
+ * @return {Promise<GetAccessTokenResponse>} The access token response.
9
+ */
10
+ export declare const getAccessToken: (paymentConfig: OrangeMoneyPaymentParams, endPoint: string) => Promise<GetAccessTokenResponse>;
11
+ //# sourceMappingURL=get_access_token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_access_token.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/get_access_token.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,kBACV,wBAAwB,YAC7B,MAAM,KACf,QAAQ,sBAAsB,CAsDhC,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAccessToken = void 0;
4
+ const https_1 = require("../../utils/https");
5
+ const constants_1 = require("../utils/constants");
6
+ /**
7
+ * Gets the access token for the API.
8
+ *
9
+ * @param {OrangeMoneyPaymentParams} paymentConfig - The payment configuration.
10
+ * @param {string} endPoint - The end point route.
11
+ * @return {Promise<GetAccessTokenResponse>} The access token response.
12
+ */
13
+ const getAccessToken = async (paymentConfig, endPoint) => {
14
+ var _a, _b, _c, _d;
15
+ const logger = paymentConfig.logger;
16
+ const encodeToBase64UserAndPassword = (0, https_1.encodeToBase64)(paymentConfig.apiUserName, paymentConfig.apiPassword);
17
+ const authorization = `Basic ${encodeToBase64UserAndPassword}`;
18
+ const bodyRequest = {
19
+ [constants_1.ApiKey.keyGrantType]: 'client_credentials',
20
+ };
21
+ const options = {
22
+ [constants_1.ApiKey.keyAuthorization]: authorization,
23
+ [constants_1.ApiKey.keyContentType]: constants_1.ConstantRequestField.TypeWwwFrom,
24
+ };
25
+ logger.info(`Generates the access token with data: \nheaders: ${JSON.stringify(options)}\ndata: ${JSON.stringify((0, https_1.encodeTheBodyOfRequest)(bodyRequest))}\nroute: ${endPoint}`);
26
+ const result = await (0, https_1.postRequest)({
27
+ headers: options,
28
+ data: (0, https_1.encodeTheBodyOfRequest)(bodyRequest),
29
+ route: endPoint,
30
+ logger: logger,
31
+ });
32
+ const accessToken = (_b = (_a = result.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.access_token;
33
+ if (result.error || !accessToken) {
34
+ logger.warn(`Request failed to generate the access token. Error retrieved: ${JSON.stringify(result.error)}`);
35
+ return {
36
+ raw: result.error,
37
+ error: constants_1.ApiErrorType.failedToGenerateAccessToken,
38
+ };
39
+ }
40
+ logger.info(`Access token successfully generated with data ${JSON.stringify((_c = result.response) === null || _c === void 0 ? void 0 : _c.data)}`);
41
+ return {
42
+ data: accessToken,
43
+ raw: (_d = result.response) === null || _d === void 0 ? void 0 : _d.data,
44
+ };
45
+ };
46
+ exports.getAccessToken = getAccessToken;
47
+ //# sourceMappingURL=get_access_token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_access_token.js","sourceRoot":"","sources":["../../../../src/payments/operations/get_access_token.ts"],"names":[],"mappings":";;;AAAA,6CAI2B;AAC3B,kDAAgF;AAOhF;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,aAAuC,EACvC,QAAgB,EACiB,EAAE;;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAEpC,MAAM,6BAA6B,GAAG,IAAA,sBAAc,EAClD,aAAa,CAAC,WAAW,EACzB,aAAa,CAAC,WAAW,CAC1B,CAAC;IACF,MAAM,aAAa,GAAG,SAAS,6BAA6B,EAAE,CAAC;IAC/D,MAAM,WAAW,GAA2B;QAC1C,CAAC,kBAAM,CAAC,YAAY,CAAC,EAAE,oBAAoB;KAC5C,CAAC;IACF,MAAM,OAAO,GAAG;QACd,CAAC,kBAAM,CAAC,gBAAgB,CAAC,EAAE,aAAa;QACxC,CAAC,kBAAM,CAAC,cAAc,CAAC,EAAE,gCAAoB,CAAC,WAAW;KAC1D,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oDAAoD,IAAI,CAAC,SAAS,CAChE,OAAO,CACR,WAAW,IAAI,CAAC,SAAS,CACxB,IAAA,8BAAsB,EAAC,WAAW,CAAC,CACpC,YAAY,QAAQ,EAAE,CACxB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAA6B;QAC3D,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAA,8BAAsB,EAAC,WAAW,CAAC;QACzC,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,0CAAE,YAAY,CAAC;IAExD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;QAChC,MAAM,CAAC,IAAI,CACT,iEAAiE,IAAI,CAAC,SAAS,CAC7E,MAAM,CAAC,KAAK,CACb,EAAE,CACJ,CAAC;QACF,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,KAAK,EAAE,wBAAY,CAAC,2BAA2B;SAChD,CAAC;KACH;IAED,MAAM,CAAC,IAAI,CACT,iDAAiD,IAAI,CAAC,SAAS,CAC7D,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,CACtB,EAAE,CACJ,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI;KAC3B,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,cAAc,kBAyDzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get_access_token.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_access_token.spec.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/get_access_token.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
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 utils_1 = require("../../utils/utils");
28
+ const get_access_token_1 = require("./get_access_token");
29
+ const mobileAccessTokenResponse = {
30
+ access_token: '1e23bee1-37dc-3015-a7d6-cb70e566bd64',
31
+ token_type: 'bearer',
32
+ expires_in: 3600,
33
+ scope: 'read write',
34
+ };
35
+ const logger = console;
36
+ describe('Test the generation of access-token', () => {
37
+ it('Generates the access token failed', async () => {
38
+ jest.spyOn(requests, 'postRequest').mockResolvedValue({
39
+ error: {
40
+ responseError: {
41
+ data: [Object],
42
+ status: 401,
43
+ statusText: 'Unauthorized',
44
+ headers: null,
45
+ },
46
+ },
47
+ });
48
+ const result = await (0, get_access_token_1.getAccessToken)({
49
+ targetEnvironment: utils_1.TargetEnvironment.fake,
50
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
51
+ apiUserName: 'secret',
52
+ apiPassword: 'secret',
53
+ logger: logger,
54
+ }, 'https://api.paytoken.co');
55
+ expect(result.error).toBeDefined();
56
+ });
57
+ it('Successful generate access token', async () => {
58
+ jest.spyOn(requests, 'postRequest').mockResolvedValue({
59
+ response: {
60
+ data: mobileAccessTokenResponse,
61
+ status: 202,
62
+ },
63
+ });
64
+ const result = await (0, get_access_token_1.getAccessToken)({
65
+ targetEnvironment: utils_1.TargetEnvironment.fake,
66
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
67
+ apiUserName: 'secret',
68
+ apiPassword: 'secret',
69
+ logger: logger,
70
+ }, 'https://api.paytoken.co');
71
+ expect(result.data).toBe('1e23bee1-37dc-3015-a7d6-cb70e566bd64');
72
+ });
73
+ });
74
+ //# sourceMappingURL=get_access_token.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_access_token.spec.js","sourceRoot":"","sources":["../../../../src/payments/operations/get_access_token.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,6CAAsD;AAGtD,yDAAoD;AAEpD,MAAM,yBAAyB,GAA+B;IAC5D,YAAY,EAAE,sCAAsC;IACpD,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,YAAY;CACpB,CAAC;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC;AACvB,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,iBAAiB,CAAC;YACpD,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC,MAAM,CAAC;oBACd,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,cAAc;oBAC1B,OAAO,EAAE,IAAI;iBACd;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAc,EACjC;YACE,iBAAiB,EAAE,yBAAiB,CAAC,IAAI;YACzC,UAAU,EAAE,wBAAwB;YACpC,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,MAAM;SACf,EACD,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,iBAAiB,CAAC;YACpD,QAAQ,EAAE;gBACR,IAAI,EAAE,yBAAyB;gBAC/B,MAAM,EAAE,GAAG;aACZ;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAc,EACjC;YACE,iBAAiB,EAAE,yBAAiB,CAAC,IAAI;YACzC,UAAU,EAAE,wBAAwB;YACpC,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,MAAM;SACf,EACD,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { OrangeMoneyPaymentParams } from '../utils/joi_schema';
2
+ import { GetPayTokenResponse } from '../utils/request_model';
3
+ /**
4
+ * Gets a pay token using the provided payment configuration.
5
+ *
6
+ * @param {OrangeMoneyPaymentParams} paymentConfig - The payment configuration.
7
+ * @param {OrangeMoneyPaymentParams} accessToken - The payment configuration.
8
+ * @param {string} endPoint - The payToken endpoint.
9
+ * @return {Promise<GetPayTokenResponse>} The generated pay token response.
10
+ */
11
+ export declare const getPayToken: (paymentConfig: OrangeMoneyPaymentParams, accessToken: string, endPoint: string) => Promise<GetPayTokenResponse>;
12
+ //# sourceMappingURL=get_pay_token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_pay_token.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/get_pay_token.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,kBACP,wBAAwB,eAC1B,MAAM,YACT,MAAM,KACf,QAAQ,mBAAmB,CA6C7B,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPayToken = void 0;
4
+ const https_1 = require("../../utils/https");
5
+ const constants_1 = require("../utils/constants");
6
+ /**
7
+ * Gets a pay token using the provided payment configuration.
8
+ *
9
+ * @param {OrangeMoneyPaymentParams} paymentConfig - The payment configuration.
10
+ * @param {OrangeMoneyPaymentParams} accessToken - The payment configuration.
11
+ * @param {string} endPoint - The payToken endpoint.
12
+ * @return {Promise<GetPayTokenResponse>} The generated pay token response.
13
+ */
14
+ const getPayToken = async (paymentConfig, accessToken, endPoint) => {
15
+ var _a, _b, _c, _d, _e;
16
+ const logger = paymentConfig.logger;
17
+ logger.info(`Request to generate the pay-token token using the provided payment configuration: ${JSON.stringify(paymentConfig)}`);
18
+ const headers = {
19
+ [constants_1.ApiKey.keyAuthorization]: `Bearer ${accessToken}`,
20
+ [constants_1.ApiKey.keyContentType]: constants_1.ConstantRequestField.typeJson,
21
+ [constants_1.ApiKey.keyXAuthToken]: paymentConfig.xAuthToken,
22
+ };
23
+ const result = await (0, https_1.postRequest)({
24
+ headers: headers,
25
+ logger: logger,
26
+ route: endPoint,
27
+ });
28
+ const payToken = (_c = (_b = (_a = result.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.payToken;
29
+ if (result.error || !payToken) {
30
+ logger.warn(`Request failed to generate the pay-token. Error retrieved: ${JSON.stringify(result.error)}`);
31
+ return {
32
+ raw: result.error,
33
+ error: constants_1.ApiErrorType.failedToGeneratePayToken,
34
+ };
35
+ }
36
+ logger.info(`Pay-token generated successfully with data: ${JSON.stringify((_d = result.response) === null || _d === void 0 ? void 0 : _d.data)}`);
37
+ return {
38
+ raw: (_e = result.response) === null || _e === void 0 ? void 0 : _e.data,
39
+ data: payToken,
40
+ };
41
+ };
42
+ exports.getPayToken = getPayToken;
43
+ //# sourceMappingURL=get_pay_token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_pay_token.js","sourceRoot":"","sources":["../../../../src/payments/operations/get_pay_token.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAChD,kDAAgF;AAOhF;;;;;;;GAOG;AACI,MAAM,WAAW,GAAG,KAAK,EAC9B,aAAuC,EACvC,WAAmB,EACnB,QAAgB,EACc,EAAE;;IAChC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IAEpC,MAAM,CAAC,IAAI,CACT,qFAAqF,IAAI,CAAC,SAAS,CACjG,aAAa,CACd,EAAE,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,CAAC,kBAAM,CAAC,gBAAgB,CAAC,EAAE,UAAU,WAAW,EAAE;QAClD,CAAC,kBAAM,CAAC,cAAc,CAAC,EAAE,gCAAoB,CAAC,QAAQ;QACtD,CAAC,kBAAM,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU;KACjD,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAW,EAA0B;QACxD,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,0CAAE,IAAI,0CAAE,QAAQ,CAAC;IAEvD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;QAC7B,MAAM,CAAC,IAAI,CACT,8DAA8D,IAAI,CAAC,SAAS,CAC1E,MAAM,CAAC,KAAK,CACb,EAAE,CACJ,CAAC;QACF,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,KAAK,EAAE,wBAAY,CAAC,wBAAwB;SAC7C,CAAC;KACH;IAED,MAAM,CAAC,IAAI,CACT,+CAA+C,IAAI,CAAC,SAAS,CAC3D,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI,CACtB,EAAE,CACJ,CAAC;IAEF,OAAO;QACL,GAAG,EAAE,MAAA,MAAM,CAAC,QAAQ,0CAAE,IAAI;QAC1B,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,WAAW,eAiDtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get_pay_token.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_pay_token.spec.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/get_pay_token.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
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 utils_1 = require("../../utils/utils");
28
+ const get_pay_token_1 = require("./get_pay_token");
29
+ const payTokenResponse = {
30
+ message: 'success',
31
+ data: {
32
+ payToken: 'MP220807558VEF7A9C4F09AED',
33
+ },
34
+ };
35
+ const logger = console;
36
+ describe('Test the generation of payToken', () => {
37
+ it('Generate the payToken failed due to invalid credential.', async () => {
38
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
39
+ error: {
40
+ responseError: {
41
+ data: [Object],
42
+ status: 401,
43
+ statusText: 'Unauthorized',
44
+ headers: null,
45
+ },
46
+ },
47
+ }));
48
+ const result = await (0, get_pay_token_1.getPayToken)({
49
+ logger: logger,
50
+ apiPassword: 'secret',
51
+ apiUserName: 'secret',
52
+ targetEnvironment: utils_1.TargetEnvironment.fake,
53
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
54
+ }, '1e23bee1-37dc-3015-a7d6-cb70e566bd64', 'https://api.paytoken.co');
55
+ expect(result.error).toBeDefined();
56
+ });
57
+ it('Generate the payToken successfully', async () => {
58
+ jest.spyOn(requests, 'postRequest').mockImplementationOnce(() => Promise.resolve({
59
+ response: {
60
+ data: payTokenResponse,
61
+ status: 202,
62
+ },
63
+ }));
64
+ const result = await (0, get_pay_token_1.getPayToken)({
65
+ logger: logger,
66
+ apiPassword: 'secret',
67
+ apiUserName: 'secret',
68
+ targetEnvironment: utils_1.TargetEnvironment.fake,
69
+ xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
70
+ }, '1e23bee1-37dc-3015-a7d6-cb70e566bd64', 'https://api.paytoken.co');
71
+ expect(result.data).toBe('MP220807558VEF7A9C4F09AED');
72
+ });
73
+ });
74
+ //# sourceMappingURL=get_pay_token.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_pay_token.spec.js","sourceRoot":"","sources":["../../../../src/payments/operations/get_pay_token.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAE9C,6CAAsD;AAEtD,mDAA8C;AAE9C,MAAM,gBAAgB,GAA4B;IAChD,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE;QACJ,QAAQ,EAAE,2BAA2B;KACtC;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,OAAO,CAAC;AAEvB,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAC9D,OAAO,CAAC,OAAO,CAAC;YACd,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC,MAAM,CAAC;oBACd,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,cAAc;oBAC1B,OAAO,EAAE,IAAI;iBACd;aACF;SACF,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B;YACE,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,iBAAiB,EAAE,yBAAiB,CAAC,IAAI;YACzC,UAAU,EAAE,wBAAwB;SACrC,EACD,sCAAsC,EACtC,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAC9D,OAAO,CAAC,OAAO,CAAC;YACd,QAAQ,EAAE;gBACR,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,GAAG;aACZ;SACF,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAC9B;YACE,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,QAAQ;YACrB,iBAAiB,EAAE,yBAAiB,CAAC,IAAI;YACzC,UAAU,EAAE,wBAAwB;SACrC,EACD,sCAAsC,EACtC,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { OrangeMoneyPaymentParams } from '../utils/joi_schema';
2
+ import { GetOrangeMoneyPaymentRequest, GetOrangeMoneyPaymentResponse } from '../utils/request_model';
3
+ /**
4
+ * Gets the mobile payment status.
5
+ *
6
+ * @param {Object} options - The options object.
7
+ * @param {GetOrangeMoneyPaymentRequest} options.mobileStatusVerificationParams - The parameters for mobile status verification.
8
+ * @param {string} endPoint - The init payment end point.
9
+ * @param {OrangeMoneyPaymentParams} paymentServiceConfig - The mobile payment config parameters.
10
+ * - {TargetEnvironment} PaymentServiceConfig.targetEnvironment - The target environment.
11
+ * - {string} PaymentServiceConfig.apiUserName - The api user name.
12
+ * - {string} PaymentServiceConfig.xAuthToken - The x-auth-token.
13
+ * - {string} PaymentServiceConfig.apiPassword - The api password.
14
+ * - {string} [PaymentServiceConfig.orangeMoneyVersion] - The orange money version.
15
+ * - {LoggerInterface} PaymentServiceConfig.logger - The logger interface.
16
+ * @return {Promise<GetOrangeMoneyPaymentResponse>} The promise that resolves to the mobile payment check status response.
17
+ */
18
+ export declare function getPaymentStatus({ mobileStatusVerificationParams, paymentServiceConfig, endPoint, }: {
19
+ mobileStatusVerificationParams: GetOrangeMoneyPaymentRequest;
20
+ paymentServiceConfig: OrangeMoneyPaymentParams;
21
+ endPoint: string;
22
+ }): Promise<GetOrangeMoneyPaymentResponse>;
23
+ //# sourceMappingURL=get_payment_status.d.ts.map