@nicogorga/medusa-payment-mercadopago
Version:
Mercado Pago payment provider plugin for MedusaJS
18 lines (15 loc) • 965 B
text/typescript
import { AuthenticatedMedusaRequest, MedusaRequest, MedusaResponse } from "@medusajs/framework";
import { PostStoreMercadopagoPaymentType } from "./validators";
import { createMercadopagoPaymentWorkflow } from "../../../../workflows/mercadopago/workflows/create-payment";
import { MedusaError, MedusaErrorTypes } from "@medusajs/framework/utils";
export const POST = async (req: AuthenticatedMedusaRequest<PostStoreMercadopagoPaymentType>, res: MedusaResponse) => {
const { paymentSessionId, paymentData } = req.validatedBody
const { result: paymentSession } = await createMercadopagoPaymentWorkflow(req.scope).run({
input: { paymentSessionId, paymentData, customerId: req.auth_context?.actor_id }
});
const errorMessage = paymentSession.data?.error_message as string | undefined
if (errorMessage) {
throw new MedusaError(MedusaErrorTypes.PAYMENT_AUTHORIZATION_ERROR, errorMessage)
}
return res.status(201).json({});
}