@m-nasser-m/medusa-payment-vodafone-cash-manual
Version:
Vodafone Cash manual payment provider for Medusa - Requires manual verification of payments
44 lines • 3.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updatePaymentStatusStep = exports.PAYMENT_REQUEST_STATUSES = void 0;
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
const utils_1 = require("@medusajs/framework/utils");
const payment_request_1 = require("../../modules/payment-request");
exports.PAYMENT_REQUEST_STATUSES = [
"pending",
"verified",
"failed",
"refunded",
"canceled",
];
const ALLOWED_TRANSITIONS = {
pending: ["verified", "failed", "canceled"],
verified: ["refunded"],
failed: [],
refunded: [],
canceled: [],
};
exports.updatePaymentStatusStep = (0, workflows_sdk_1.createStep)("update-payment-status", async (input, { container }) => {
const moduleService = container.resolve(payment_request_1.PAYMENT_REQUEST_MODULE);
const existing = await moduleService.retrievePaymentRequest(input.payment_id);
if (!ALLOWED_TRANSITIONS[existing.status].includes(input.status)) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Cannot transition payment request ${existing.status} -> ${input.status}`);
}
const updated = await moduleService.updatePaymentRequests({
id: input.payment_id,
status: input.status,
transaction_reference: input.transaction_reference ?? null,
admin_notes: input.admin_notes ?? null,
});
return new workflows_sdk_1.StepResponse(updated, {
id: input.payment_id,
previousStatus: existing.status,
});
}, async (compensation, { container }) => {
const moduleService = container.resolve(payment_request_1.PAYMENT_REQUEST_MODULE);
await moduleService.updatePaymentRequests({
id: compensation.id,
status: compensation.previousStatus,
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBheW1lbnQtc3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy91cGRhdGUtcGF5bWVudC1zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLHFEQUF1RDtBQUN2RCxtRUFBc0U7QUFHekQsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxTQUFTO0lBQ1QsVUFBVTtJQUNWLFFBQVE7SUFDUixVQUFVO0lBQ1YsVUFBVTtDQUNGLENBQUE7QUFXVixNQUFNLG1CQUFtQixHQUF5RDtJQUNoRixPQUFPLEVBQUUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQztJQUMzQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDdEIsTUFBTSxFQUFFLEVBQUU7SUFDVixRQUFRLEVBQUUsRUFBRTtJQUNaLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQTtBQUVZLFFBQUEsdUJBQXVCLEdBQUcsSUFBQSwwQkFBVSxFQUMvQyx1QkFBdUIsRUFDdkIsS0FBSyxFQUNILEtBQW1DLEVBQ25DLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFnQyxTQUFTLENBQUMsT0FBTyxDQUNsRSx3Q0FBc0IsQ0FDdkIsQ0FBQTtJQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBYSxDQUFDLHNCQUFzQixDQUN6RCxLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFBO0lBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDakUsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIscUNBQXFDLFFBQVEsQ0FBQyxNQUFNLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUMxRSxDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hELEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVTtRQUNwQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07UUFDcEIscUJBQXFCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixJQUFJLElBQUk7UUFDMUQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksSUFBSTtLQUN2QyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxPQUFPLEVBQUU7UUFDL0IsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVO1FBQ3BCLGNBQWMsRUFBRSxRQUFRLENBQUMsTUFBTTtLQUNoQyxDQUFDLENBQUE7QUFDSixDQUFDLEVBQ0QsS0FBSyxFQUNILFlBQWtFLEVBQ2xFLEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sYUFBYSxHQUFnQyxTQUFTLENBQUMsT0FBTyxDQUNsRSx3Q0FBc0IsQ0FDdkIsQ0FBQTtJQUNELE1BQU0sYUFBYSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRTtRQUNuQixNQUFNLEVBQUUsWUFBWSxDQUFDLGNBQWM7S0FDcEMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUNGLENBQUEifQ==