vista-co
Version:
54 lines (53 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const axios_master_1 = require("axios-master");
/**
* Completes an order with payment details.
*
* @param {string} userSessionId - The user's session ID.
* @param {CompleteOrderRequest} paymentDetails - The payment details and order information.
* @returns {Promise<{ success: boolean; message: string; data?: CompleteOrderResponse }>}
*/
const completeOrder = async (paymentDetails) => {
var _a, _b, _c;
try {
// Construct the request URL
const url = `${__1.config.host}/WSVistaWebClient/RESTTicketing.svc/order/payment`;
// Make the API request
const response = await (0, axios_master_1.axiosMasterMain)({
method: "POST",
url,
headers: {
connectapitoken: __1.config.token, // API token
"Content-Type": "application/json",
"Connect-Region-Code": __1.config.regionCode, // Localization
},
data: paymentDetails,
}, {
name: "completeOrder",
timeout: 20000,
logger(data) {
if (__1.config.logger)
console.log(data);
},
});
// Return success response
return {
success: true,
message: "Order completed successfully",
data: response,
};
}
catch (error) {
// Handle errors
console.error("CompleteOrder failed:", ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || error);
return {
success: false,
message: ((_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message) || "Failed to complete order",
};
}
};
exports.default = {
completeOrder,
};