@spreeloop/orange_money 1.0.18 → 1.0.19
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.
- package/dist/src/disbursements/operations/transfer.d.ts +10 -1
- package/dist/src/disbursements/operations/transfer.d.ts.map +1 -1
- package/dist/src/disbursements/operations/transfer.js +23 -1
- package/dist/src/disbursements/operations/transfer.js.map +1 -1
- package/dist/src/payments/operations/initialize_om_payment.d.ts.map +1 -1
- package/dist/src/payments/operations/initialize_om_payment.js +49 -3
- package/dist/src/payments/operations/initialize_om_payment.js.map +1 -1
- package/dist/src/payments/operations/initialize_om_payment.spec.js +119 -0
- package/dist/src/payments/operations/initialize_om_payment.spec.js.map +1 -1
- package/dist/src/utils/operation_response.d.ts +1 -1
- package/dist/src/utils/operation_response.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -2,13 +2,20 @@ import Joi from 'joi';
|
|
|
2
2
|
import { OperationResponse } from '../../utils/operation_response';
|
|
3
3
|
import { DisbursementServiceConfig } from '../implementations/disbursement_service';
|
|
4
4
|
export declare enum TransferMethod {
|
|
5
|
-
OrangeMoney = "OrangeMoney"
|
|
5
|
+
OrangeMoney = "OrangeMoney",
|
|
6
|
+
Deposit = "Deposit"
|
|
7
|
+
}
|
|
8
|
+
export declare enum DebitPolicyMethod {
|
|
9
|
+
DepositAccOnly = "deposit_acc_only"
|
|
6
10
|
}
|
|
7
11
|
export interface TransferRequest {
|
|
8
12
|
webhook: string;
|
|
9
13
|
amount: number;
|
|
10
14
|
customerPhone: string;
|
|
11
15
|
customerName: string;
|
|
16
|
+
feesIncluded?: 'Yes' | 'No' | null;
|
|
17
|
+
finalCustomerNameAccuracy?: number | null;
|
|
18
|
+
refundMethod?: TransferMethod | null;
|
|
12
19
|
token: string;
|
|
13
20
|
}
|
|
14
21
|
export declare const TransferRequestSchema: Joi.ObjectSchema<TransferRequest>;
|
|
@@ -16,6 +23,8 @@ export declare type TransferResponseRawData = {
|
|
|
16
23
|
MD5OfMessageBody: string;
|
|
17
24
|
MD5OfMessageAttributes: string;
|
|
18
25
|
MessageId: string;
|
|
26
|
+
error?: string;
|
|
27
|
+
StatusCode?: number;
|
|
19
28
|
ResponseMetadata: {
|
|
20
29
|
RequestId: string;
|
|
21
30
|
HTTPStatusCode: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../../src/disbursements/operations/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAC;AAGjD,oBAAY,cAAc;IACxB,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../../src/disbursements/operations/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAC;AAGjD,oBAAY,cAAc;IACxB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;CACpB;AAED,oBAAY,iBAAiB;IAC3B,cAAc,qBAAqB;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,mCAWhC,CAAC;AAEH,oBAAY,uBAAuB,GAAG;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE;YACX,kBAAkB,EAAE,MAAM,CAAC;YAC3B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,CAAC;YACvB,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC;QACF,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,oBAAY,gBAAgB,GAAG,iBAAiB,CAC9C,MAAM,EACN,uBAAuB,CACxB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,yBAAyB,CAAC;IACnC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,gBAAgB,CA6EnB"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.transfer = exports.TransferRequestSchema = exports.TransferMethod = void 0;
|
|
6
|
+
exports.transfer = exports.TransferRequestSchema = exports.DebitPolicyMethod = exports.TransferMethod = void 0;
|
|
7
7
|
const joi_1 = __importDefault(require("joi"));
|
|
8
8
|
const https_1 = require("../../utils/https");
|
|
9
9
|
const disbursement_service_1 = require("../implementations/disbursement_service");
|
|
@@ -11,7 +11,12 @@ const regex_1 = require("../utils/regex");
|
|
|
11
11
|
var TransferMethod;
|
|
12
12
|
(function (TransferMethod) {
|
|
13
13
|
TransferMethod["OrangeMoney"] = "OrangeMoney";
|
|
14
|
+
TransferMethod["Deposit"] = "Deposit";
|
|
14
15
|
})(TransferMethod = exports.TransferMethod || (exports.TransferMethod = {}));
|
|
16
|
+
var DebitPolicyMethod;
|
|
17
|
+
(function (DebitPolicyMethod) {
|
|
18
|
+
DebitPolicyMethod["DepositAccOnly"] = "deposit_acc_only";
|
|
19
|
+
})(DebitPolicyMethod = exports.DebitPolicyMethod || (exports.DebitPolicyMethod = {}));
|
|
15
20
|
exports.TransferRequestSchema = joi_1.default.object({
|
|
16
21
|
webhook: joi_1.default.string().uri().required(),
|
|
17
22
|
amount: joi_1.default.number().integer().min(1).required(),
|
|
@@ -19,6 +24,9 @@ exports.TransferRequestSchema = joi_1.default.object({
|
|
|
19
24
|
.pattern(regex_1.orangeMoneyPhoneNumberWithoutCountryCodeRegex)
|
|
20
25
|
.required(),
|
|
21
26
|
customerName: joi_1.default.string().required(),
|
|
27
|
+
feesIncluded: joi_1.default.string().allow(null),
|
|
28
|
+
finalCustomerNameAccuracy: joi_1.default.number().integer().min(0).max(100).allow(null),
|
|
29
|
+
refundMethod: joi_1.default.string().allow(null),
|
|
22
30
|
token: joi_1.default.string().required(),
|
|
23
31
|
});
|
|
24
32
|
/**
|
|
@@ -29,6 +37,7 @@ exports.TransferRequestSchema = joi_1.default.object({
|
|
|
29
37
|
* @return {MethodResponse<string, TransferRawData>} - The method response.
|
|
30
38
|
*/
|
|
31
39
|
async function transfer({ configs, params, endPoint, }) {
|
|
40
|
+
var _a, _b, _c;
|
|
32
41
|
const logger = configs.logger;
|
|
33
42
|
logger.info(`transfer is running with params : ${JSON.stringify(params)}`);
|
|
34
43
|
const { error: configsValidationError, value: configValues } = disbursement_service_1.DisbursementServiceConfigSchema.validate(configs);
|
|
@@ -55,7 +64,15 @@ async function transfer({ configs, params, endPoint, }) {
|
|
|
55
64
|
final_customer_phone: paramsValues.customerPhone,
|
|
56
65
|
final_customer_name: paramsValues.customerName,
|
|
57
66
|
refund_method: TransferMethod.OrangeMoney,
|
|
67
|
+
fees_included: (_a = paramsValues.feesIncluded) !== null && _a !== void 0 ? _a : 'No',
|
|
58
68
|
};
|
|
69
|
+
if (paramsValues.finalCustomerNameAccuracy) {
|
|
70
|
+
body.final_customer_name_accuracy =
|
|
71
|
+
paramsValues.finalCustomerNameAccuracy.toString();
|
|
72
|
+
}
|
|
73
|
+
if (paramsValues.refundMethod === TransferMethod.Deposit) {
|
|
74
|
+
body.debit_policy = DebitPolicyMethod.DepositAccOnly;
|
|
75
|
+
}
|
|
59
76
|
const response = await (0, https_1.postRequest)({
|
|
60
77
|
logger: logger,
|
|
61
78
|
route: endPoint,
|
|
@@ -65,6 +82,11 @@ async function transfer({ configs, params, endPoint, }) {
|
|
|
65
82
|
if (!response.response) {
|
|
66
83
|
return { error: response.error };
|
|
67
84
|
}
|
|
85
|
+
if (((_b = response.response) === null || _b === void 0 ? void 0 : _b.data.error) ||
|
|
86
|
+
((_c = response.response) === null || _c === void 0 ? void 0 : _c.data.StatusCode) === 503) {
|
|
87
|
+
logger.error(`Transfer failed with error: ${response.response.data.error || 'Service unavailable'}`);
|
|
88
|
+
return { error: response.response.data.error || 'Service unavailable' };
|
|
89
|
+
}
|
|
68
90
|
return {
|
|
69
91
|
data: response.response.data.MessageId,
|
|
70
92
|
raw: response.response.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../src/disbursements/operations/transfer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AACtB,6CAAiE;AAEjE,kFAGiD;AACjD,0CAA+E;AAE/E,IAAY,
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../../src/disbursements/operations/transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize_om_payment.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/initialize_om_payment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize_om_payment.d.ts","sourceRoot":"","sources":["../../../../src/payments/operations/initialize_om_payment.ts"],"names":[],"mappings":"AAcA,OAAO,EAGL,yBAAyB,EAE1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,wBAAwB,CAAC;AAIhC;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,gBAAgB,EAChB,aAAa,EACb,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,aAAa,EAAE,yBAAyB,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAuHzC"}
|
|
@@ -6,6 +6,7 @@ const routes_1 = require("../routes/routes");
|
|
|
6
6
|
const constants_1 = require("../utils/constants");
|
|
7
7
|
const joi_schema_1 = require("../utils/joi_schema");
|
|
8
8
|
const utils_1 = require("../utils/utils");
|
|
9
|
+
const get_payment_status_1 = require("./get_payment_status");
|
|
9
10
|
/**
|
|
10
11
|
* Initiates the payment.
|
|
11
12
|
*
|
|
@@ -21,7 +22,7 @@ const utils_1 = require("../utils/utils");
|
|
|
21
22
|
* @return {Promise<InitializeOrangeMoneyResponse>} The promise that resolves to the mobile payment initialization response.
|
|
22
23
|
*/
|
|
23
24
|
async function initializeOmPayment({ mobileInitParams, paymentConfig, endPoint, }) {
|
|
24
|
-
var _a, _b, _c;
|
|
25
|
+
var _a, _b, _c, _d;
|
|
25
26
|
const logger = paymentConfig.logger;
|
|
26
27
|
const paymentParams = {
|
|
27
28
|
mobileInitParams: mobileInitParams,
|
|
@@ -55,10 +56,55 @@ async function initializeOmPayment({ mobileInitParams, paymentConfig, endPoint,
|
|
|
55
56
|
error: getApiErrorMessage(errorData.inittxnmessage),
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
+
// At this point we have either a pure network/timeout failure (no HTTP
|
|
60
|
+
// response) or an infrastructure-level HTTP error such as a 5xx gateway
|
|
61
|
+
// timeout (e.g. WSO2 "Send timeout" → status 500 with XML body).
|
|
62
|
+
//
|
|
63
|
+
// In both cases OM may have already processed the payment on their end even
|
|
64
|
+
// though the response was lost in transit. Rather than immediately reporting
|
|
65
|
+
// failure — which contradicts what the user sees — we verify the payment
|
|
66
|
+
// status via the payToken first.
|
|
67
|
+
//
|
|
68
|
+
// Note: 417 business errors (wrong PIN, insufficient funds, etc.) are caught
|
|
69
|
+
// above and never reach this block, so the fallback is safe to apply here.
|
|
70
|
+
const failureReason = ((_b = response.requestResult) === null || _b === void 0 ? void 0 : _b.response)
|
|
71
|
+
? `HTTP ${response.requestResult.response.status} error`
|
|
72
|
+
: 'network-level failure (no HTTP response)';
|
|
73
|
+
logger.warn(`[ORANGE MONEY] Initialization request ended with a ${failureReason}. ` +
|
|
74
|
+
`Attempting status verification with payToken: ${mobileInitParams.payToken}`);
|
|
75
|
+
const routes = new routes_1.Routes(paymentConfig.orangeMoneyVersion);
|
|
76
|
+
const statusResponse = await (0, get_payment_status_1.getPaymentStatus)({
|
|
77
|
+
paymentServiceConfig: paymentConfig,
|
|
78
|
+
mobileStatusVerificationParams: {
|
|
79
|
+
accessToken: mobileInitParams.accessToken,
|
|
80
|
+
payToken: mobileInitParams.payToken,
|
|
81
|
+
},
|
|
82
|
+
endPoint: routes.mobilePaymentStatus({
|
|
83
|
+
payToken: mobileInitParams.payToken,
|
|
84
|
+
}),
|
|
85
|
+
});
|
|
86
|
+
const paymentStatus = (_c = statusResponse.data) === null || _c === void 0 ? void 0 : _c.status;
|
|
87
|
+
if (paymentStatus === constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT ||
|
|
88
|
+
paymentStatus === constants_1.OrangeMoneyPaymentStatus.PENDING_PAYMENT ||
|
|
89
|
+
paymentStatus === constants_1.OrangeMoneyPaymentStatus.CANCELLED_PAYMENT ||
|
|
90
|
+
paymentStatus === constants_1.OrangeMoneyPaymentStatus.FAILED_PAYMENT) {
|
|
91
|
+
logger.info(`[ORANGE MONEY] Status verification confirmed payment with status "${paymentStatus}" ` +
|
|
92
|
+
`for payToken: ${mobileInitParams.payToken}. Returning success despite ${failureReason} on /mp/pay.`);
|
|
93
|
+
return {
|
|
94
|
+
data: {
|
|
95
|
+
payToken: mobileInitParams.payToken,
|
|
96
|
+
},
|
|
97
|
+
raw: requestResponse === null || requestResponse === void 0 ? void 0 : requestResponse.data,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// Status is FAILED, CANCELLED, EXPIRED, or the status check itself failed.
|
|
101
|
+
// Surface the original /mp/pay error — not the status-check error — so
|
|
102
|
+
// callers always get a consistent, actionable error message.
|
|
103
|
+
logger.warn(`[ORANGE MONEY] Status verification returned "${paymentStatus !== null && paymentStatus !== void 0 ? paymentStatus : 'error'}" for payToken: ${mobileInitParams.payToken}. ` +
|
|
104
|
+
'Surfacing original /mp/pay error to caller.');
|
|
59
105
|
return {
|
|
60
106
|
error: constants_1.ApiErrorType.failedToInitiateThePayment,
|
|
61
|
-
raw: (
|
|
107
|
+
raw: (_d = response.requestResult) === null || _d === void 0 ? void 0 : _d.error,
|
|
62
108
|
};
|
|
63
109
|
}
|
|
64
110
|
exports.initializeOmPayment = initializeOmPayment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize_om_payment.js","sourceRoot":"","sources":["../../../../src/payments/operations/initialize_om_payment.ts"],"names":[],"mappings":";;;AAAA,6CAK2B;AAC3B,6CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"initialize_om_payment.js","sourceRoot":"","sources":["../../../../src/payments/operations/initialize_om_payment.ts"],"names":[],"mappings":"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"}
|
|
@@ -241,5 +241,124 @@ describe('Test the initialization of payment', () => {
|
|
|
241
241
|
payToken: 'MP220807558VEF7A9C4F09AED',
|
|
242
242
|
});
|
|
243
243
|
});
|
|
244
|
+
describe('Timeout / network-error fallback — status verification', () => {
|
|
245
|
+
const paymentConfig = {
|
|
246
|
+
orangeMoneyVersion: '1.2.0',
|
|
247
|
+
apiPassword: 'secret',
|
|
248
|
+
apiUserName: 'secret',
|
|
249
|
+
xAuthToken: 'ABCDEGHIJKLMNOPQRSTUVW',
|
|
250
|
+
targetEnvironment: utils_1.TargetEnvironment.fake,
|
|
251
|
+
logger: logger,
|
|
252
|
+
};
|
|
253
|
+
// Simulates a pure network/timeout failure from /mp/pay (no HTTP response).
|
|
254
|
+
const mockNetworkFailure = () => jest.spyOn(requests, 'postRequest').mockResolvedValueOnce({
|
|
255
|
+
error: { requestFailed: { headers: {}, data: null } },
|
|
256
|
+
});
|
|
257
|
+
// Simulates the real-world OM WSO2 gateway "Send timeout" (HTTP 500 with XML body).
|
|
258
|
+
const mockHttpTimeoutFailure = () => jest.spyOn(requests, 'postRequest').mockResolvedValueOnce({
|
|
259
|
+
response: {
|
|
260
|
+
status: 500,
|
|
261
|
+
data: '<am:fault xmlns:am="http://wso2.org/apimanager"><am:code>101504</am:code><am:type>Status report</am:type><am:message>Runtime Error</am:message><am:description>Send timeout</am:description></am:fault>',
|
|
262
|
+
},
|
|
263
|
+
error: {
|
|
264
|
+
responseError: {
|
|
265
|
+
status: 500,
|
|
266
|
+
statusText: 'Internal Server Error',
|
|
267
|
+
},
|
|
268
|
+
},
|
|
269
|
+
});
|
|
270
|
+
const mockStatusSuccess = (status) => jest.spyOn(requests, 'getRequest').mockResolvedValueOnce({
|
|
271
|
+
response: {
|
|
272
|
+
status: 200,
|
|
273
|
+
data: {
|
|
274
|
+
message: 'Transaction retrieved successfully',
|
|
275
|
+
data: {
|
|
276
|
+
id: 75742131,
|
|
277
|
+
payToken: mobileInitiateParams.payToken,
|
|
278
|
+
status: status,
|
|
279
|
+
},
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
});
|
|
283
|
+
const mockStatusFailure = () => jest.spyOn(requests, 'getRequest').mockResolvedValueOnce({
|
|
284
|
+
error: { requestFailed: { headers: {}, data: null } },
|
|
285
|
+
});
|
|
286
|
+
it('returns success when /mp/pay times out but status check returns SUCCESSFULL', async () => {
|
|
287
|
+
mockNetworkFailure();
|
|
288
|
+
mockStatusSuccess(constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT);
|
|
289
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
290
|
+
mobileInitParams: mobileInitiateParams,
|
|
291
|
+
paymentConfig,
|
|
292
|
+
endPoint: 'https://api.paytoken.co',
|
|
293
|
+
});
|
|
294
|
+
expect(result.error).toBeUndefined();
|
|
295
|
+
expect(result.data).toStrictEqual({
|
|
296
|
+
payToken: mobileInitiateParams.payToken,
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
it('returns success when /mp/pay times out but status check returns PENDING', async () => {
|
|
300
|
+
mockNetworkFailure();
|
|
301
|
+
mockStatusSuccess(constants_1.OrangeMoneyPaymentStatus.PENDING_PAYMENT);
|
|
302
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
303
|
+
mobileInitParams: mobileInitiateParams,
|
|
304
|
+
paymentConfig,
|
|
305
|
+
endPoint: 'https://api.paytoken.co',
|
|
306
|
+
});
|
|
307
|
+
expect(result.error).toBeUndefined();
|
|
308
|
+
expect(result.data).toStrictEqual({
|
|
309
|
+
payToken: mobileInitiateParams.payToken,
|
|
310
|
+
});
|
|
311
|
+
});
|
|
312
|
+
it('returns success with payToken when /mp/pay times out and status check returns FAILED', async () => {
|
|
313
|
+
mockNetworkFailure();
|
|
314
|
+
mockStatusSuccess(constants_1.OrangeMoneyPaymentStatus.FAILED_PAYMENT);
|
|
315
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
316
|
+
mobileInitParams: mobileInitiateParams,
|
|
317
|
+
paymentConfig,
|
|
318
|
+
endPoint: 'https://api.paytoken.co',
|
|
319
|
+
});
|
|
320
|
+
// FAILED is now treated as a definitive status from OM — the payToken is
|
|
321
|
+
// returned so the caller can inspect the actual status via getPaymentStatus.
|
|
322
|
+
expect(result.error).toBeUndefined();
|
|
323
|
+
expect(result.data).toStrictEqual({
|
|
324
|
+
payToken: mobileInitiateParams.payToken,
|
|
325
|
+
});
|
|
326
|
+
});
|
|
327
|
+
it('returns original /mp/pay error when /mp/pay times out and status check itself also fails', async () => {
|
|
328
|
+
mockNetworkFailure();
|
|
329
|
+
mockStatusFailure();
|
|
330
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
331
|
+
mobileInitParams: mobileInitiateParams,
|
|
332
|
+
paymentConfig,
|
|
333
|
+
endPoint: 'https://api.paytoken.co',
|
|
334
|
+
});
|
|
335
|
+
expect(result.error).toEqual(constants_1.ApiErrorType.failedToInitiateThePayment);
|
|
336
|
+
expect(result.data).toBeUndefined();
|
|
337
|
+
});
|
|
338
|
+
it('returns success when /mp/pay returns HTTP 500 timeout but status check returns SUCCESSFULL', async () => {
|
|
339
|
+
mockHttpTimeoutFailure();
|
|
340
|
+
mockStatusSuccess(constants_1.OrangeMoneyPaymentStatus.SUCCESSFULL_MOBILE_PAYMENT);
|
|
341
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
342
|
+
mobileInitParams: mobileInitiateParams,
|
|
343
|
+
paymentConfig,
|
|
344
|
+
endPoint: 'https://api.paytoken.co',
|
|
345
|
+
});
|
|
346
|
+
expect(result.error).toBeUndefined();
|
|
347
|
+
expect(result.data).toStrictEqual({
|
|
348
|
+
payToken: mobileInitiateParams.payToken,
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
it('returns original /mp/pay error when /mp/pay returns HTTP 500 timeout and status check also fails', async () => {
|
|
352
|
+
mockHttpTimeoutFailure();
|
|
353
|
+
mockStatusFailure();
|
|
354
|
+
const result = await (0, initialize_om_payment_1.initializeOmPayment)({
|
|
355
|
+
mobileInitParams: mobileInitiateParams,
|
|
356
|
+
paymentConfig,
|
|
357
|
+
endPoint: 'https://api.paytoken.co',
|
|
358
|
+
});
|
|
359
|
+
expect(result.error).toEqual(constants_1.ApiErrorType.failedToInitiateThePayment);
|
|
360
|
+
expect(result.data).toBeUndefined();
|
|
361
|
+
});
|
|
362
|
+
});
|
|
244
363
|
});
|
|
245
364
|
//# sourceMappingURL=initialize_om_payment.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize_om_payment.spec.js","sourceRoot":"","sources":["../../../../src/payments/operations/initialize_om_payment.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,
|
|
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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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export declare type OperationResponse<T, T2 = unknown, R = unknown> = Promise<SuccessfulOperationResponse<T, T2> | FailedOperationResponse<R>>;
|
|
5
5
|
declare type SuccessfulOperationResponse<T, T2 = unknown> = {
|
|
6
6
|
data: T;
|
|
7
|
-
raw
|
|
7
|
+
raw?: T2;
|
|
8
8
|
error?: never;
|
|
9
9
|
};
|
|
10
10
|
declare type FailedOperationResponse<R = unknown> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation_response.d.ts","sourceRoot":"","sources":["../../../src/utils/operation_response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,OAAO,CACnE,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAChE,CAAC;AACF,aAAK,2BAA2B,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI;IAClD,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"operation_response.d.ts","sourceRoot":"","sources":["../../../src/utils/operation_response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,iBAAiB,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,OAAO,CACnE,2BAA2B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAChE,CAAC;AACF,aAAK,2BAA2B,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI;IAClD,IAAI,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,EAAE,EAAE,CAAC;IACT,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAEF,aAAK,uBAAuB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,CAAC,CAAC;CACV,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spreeloop/orange_money",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"description": "A orange money api integration package",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -58,4 +58,4 @@
|
|
|
58
58
|
"base64url": "^3.0.1",
|
|
59
59
|
"joi": "^17.9.2"
|
|
60
60
|
}
|
|
61
|
-
}
|
|
61
|
+
}
|