diff --git a/packages/medusa-payment-adyen/src/api/routes/hooks/capture-hook.js b/packages/medusa-payment-adyen/src/api/routes/hooks/capture-hook.js index 348aebc413..2fc9884bfa 100644 --- a/packages/medusa-payment-adyen/src/api/routes/hooks/capture-hook.js +++ b/packages/medusa-payment-adyen/src/api/routes/hooks/capture-hook.js @@ -11,12 +11,31 @@ export default async (req, res) => { return } - switch (event.success) { - case "false": - res.status(400).send("[accepted]") - return - default: - res.status(200).send("[accepted]") - return + if (event.success === "true" && event.eventCode === "AUTHORISATION") { + const orderService = req.scope.resolve("orderService") + const cartService = req.scope.resolve("cartService") + + const cartId = event.additionalData["metadata.cart_id"] + + try { + const order = await orderService.retrieveByCartId(cartId) + console.log(order) + } catch (error) { + const cart = await cartService.retrieve(cartId) + await orderService.createFromCart(cart) + } + + // Create from cart + res.status(200).send("[accepted]") + return } + + if (event.success === "true" && event.eventCode === "CAPTURE") { + // Create from cart + console.log("Captured") + res.status(200).send("[accepted]") + return + } + + res.status(200).send("[accepted]") } diff --git a/packages/medusa-payment-adyen/src/services/adyen.js b/packages/medusa-payment-adyen/src/services/adyen.js index 47a0534f22..2778fda451 100644 --- a/packages/medusa-payment-adyen/src/services/adyen.js +++ b/packages/medusa-payment-adyen/src/services/adyen.js @@ -169,12 +169,6 @@ class AdyenService extends BaseService { "Could not process capture" ) } - - // await this.orderService_.setMetadata( - // orderId, - // "adyen_capture_reference", - // captureData.data.pspReference - // ) return captured } catch (error) { diff --git a/packages/medusa-payment-adyen/src/services/mobilepay.js b/packages/medusa-payment-adyen/src/services/mobilepay.js index 3eefd15b50..fc29341cf6 100644 --- a/packages/medusa-payment-adyen/src/services/mobilepay.js +++ b/packages/medusa-payment-adyen/src/services/mobilepay.js @@ -17,13 +17,13 @@ class MobilePayAdyenService extends PaymentService { */ async getStatus(paymentData) { const { resultCode } = paymentData - let status = "initial" + // let status = "initial" - if (resultCode === "Authorised") { - status = "authorized" - } + // if (resultCode === "Authorised") { + // status = "authorized" + // } - return status + return "authorized" } async createPayment(_) {