From ce866475b4b6c8b453638000f7b1df7a27daf45d Mon Sep 17 00:00:00 2001 From: Adrien de Peretti Date: Tue, 7 Feb 2023 12:43:24 +0100 Subject: [PATCH] chore(*-payment-*): Cleanup PaymentProvider plugins (#3011) --- .changeset/calm-rats-brake.md | 9 +++ .../src/services/adyen.js | 11 +-- .../src/services/mobilepay-adyen.js | 11 --- .../src/services/klarna-provider.js | 40 +--------- .../src/services/manual-payment.js | 9 --- .../src/services/paypal-provider.js | 74 +++---------------- 6 files changed, 25 insertions(+), 129 deletions(-) create mode 100644 .changeset/calm-rats-brake.md diff --git a/.changeset/calm-rats-brake.md b/.changeset/calm-rats-brake.md new file mode 100644 index 0000000000..3367df003a --- /dev/null +++ b/.changeset/calm-rats-brake.md @@ -0,0 +1,9 @@ +--- +"medusa-payment-adyen": patch +"medusa-payment-klarna": patch +"medusa-payment-manual": patch +"medusa-payment-paypal": patch +"@medusajs/medusa": patch +--- + +chore(*-payment-*): cleanup payment provider plugins diff --git a/packages/medusa-payment-adyen/src/services/adyen.js b/packages/medusa-payment-adyen/src/services/adyen.js index a3c74a3442..8eb22bd5d8 100644 --- a/packages/medusa-payment-adyen/src/services/adyen.js +++ b/packages/medusa-payment-adyen/src/services/adyen.js @@ -1,8 +1,7 @@ import axios from "axios" import _ from "lodash" -import { hmacValidator } from "@adyen/api-library" +import { CheckoutAPI, Client, Config, hmacValidator } from "@adyen/api-library" import { BaseService } from "medusa-interfaces" -import { Client, Config, CheckoutAPI } from "@adyen/api-library" class AdyenService extends BaseService { constructor({ cartService }, options) { @@ -201,10 +200,6 @@ class AdyenService extends BaseService { return { cart_id: cart.id } } - async createPaymentNew(paymentInput) { - return { resource_id: paymentInput.resource_id } - } - /** * Retrieves Adyen payment. This is not supported by adyen, so we simply * return the current payment method data @@ -326,10 +321,6 @@ class AdyenService extends BaseService { return paymentData } - async updatePaymentNew(paymentData, details) { - return paymentData - } - /** * Additional details * @param {object} paymentData - payment data diff --git a/packages/medusa-payment-adyen/src/services/mobilepay-adyen.js b/packages/medusa-payment-adyen/src/services/mobilepay-adyen.js index c139443c9a..0aa67b134c 100644 --- a/packages/medusa-payment-adyen/src/services/mobilepay-adyen.js +++ b/packages/medusa-payment-adyen/src/services/mobilepay-adyen.js @@ -1,4 +1,3 @@ -import _ from "lodash" import { PaymentService } from "medusa-interfaces" class MobilePayAdyenService extends PaymentService { @@ -20,12 +19,6 @@ class MobilePayAdyenService extends PaymentService { return raw } - async createPaymentNew(paymentInput) { - const raw = await this.adyenService_.createPaymentNew(paymentInput) - raw.type = "mobilepay" - return raw - } - async authorizePayment(sessionData, context) { return this.adyenService_.authorizePayment(sessionData, context) } @@ -38,10 +31,6 @@ class MobilePayAdyenService extends PaymentService { return this.adyenService_.updatePayment(data) } - async updatePaymentNew(data, _) { - return this.adyenService_.updatePaymentNew(data) - } - async updatePaymentData(sessionData, update) { return this.adyenService_.updatePaymentData(sessionData, update) } diff --git a/packages/medusa-payment-klarna/src/services/klarna-provider.js b/packages/medusa-payment-klarna/src/services/klarna-provider.js index 26c164d04c..0e158c750b 100644 --- a/packages/medusa-payment-klarna/src/services/klarna-provider.js +++ b/packages/medusa-payment-klarna/src/services/klarna-provider.js @@ -326,33 +326,15 @@ class KlarnaProviderService extends PaymentService { /** * Creates Klarna PaymentIntent. * @param {string} cart - the cart to create a payment for - * @param {number} amount - the amount to create a payment for * @returns {string} id of payment intent */ async createPayment(cart) { try { const order = await this.cartToKlarnaOrder(cart) - const klarnaPayment = await this.klarna_ + return await this.klarna_ .post(this.klarnaOrderUrl_, order) .then(({ data }) => data) - - return klarnaPayment - } catch (error) { - this.logger_.error(error) - throw error - } - } - - async createPaymentNew(paymentInput) { - try { - const order = await this.paymentInputToKlarnaOrder(paymentInput) - - const klarnaPayment = await this.klarna_ - .post(this.klarnaOrderUrl_, order) - .then(({ data }) => data) - - return klarnaPayment } catch (error) { this.logger_.error(error) throw error @@ -478,8 +460,8 @@ class KlarnaProviderService extends PaymentService { /** * Updates Klarna order. - * @param {string} order - the order to update - * @param {Object} data - the update object + * @param {string} paymentData + * @param {Object} cart * @returns {Object} updated order */ async updatePayment(paymentData, cart) { @@ -498,22 +480,6 @@ class KlarnaProviderService extends PaymentService { return paymentData } - async updatePaymentNew(paymentData, paymentInput) { - if (paymentInput.amount !== paymentData.order_amount) { - const order = await this.paymentInputToKlarnaOrder(paymentInput) - return this.klarna_ - .post(`${this.klarnaOrderUrl_}/${paymentData.order_id}`, order) - .then(({ data }) => data) - .catch(async (_) => { - return this.klarna_ - .post(this.klarnaOrderUrl_, order) - .then(({ data }) => data) - }) - } - - return paymentData - } - /** * Captures Klarna order. * @param {Object} paymentData - payment method data from cart diff --git a/packages/medusa-payment-manual/src/services/manual-payment.js b/packages/medusa-payment-manual/src/services/manual-payment.js index dc146c5ee8..b2cef83b5d 100644 --- a/packages/medusa-payment-manual/src/services/manual-payment.js +++ b/packages/medusa-payment-manual/src/services/manual-payment.js @@ -26,10 +26,6 @@ class ManualPaymentService extends PaymentService { return { status: "pending" } } - async createPaymentNew() { - return { status: "pending" } - } - /** * Retrieves payment * @param {object} data - the data of the payment to retrieve @@ -56,12 +52,7 @@ class ManualPaymentService extends PaymentService { return sessionData } - async updatePaymentNew(sessionData) { - return sessionData - } - /** - . * @param {object} sessionData - payment session data. * @param {object} update - payment session update data. * @returns {object} existing data merged with update data diff --git a/packages/medusa-payment-paypal/src/services/paypal-provider.js b/packages/medusa-payment-paypal/src/services/paypal-provider.js index 68c41fd1a2..7e761bc9be 100644 --- a/packages/medusa-payment-paypal/src/services/paypal-provider.js +++ b/packages/medusa-payment-paypal/src/services/paypal-provider.js @@ -88,8 +88,12 @@ class PayPalProviderService extends PaymentService { * @returns {object} the data to be stored with the payment session. */ async createPayment(cart) { - const { region_id, id, resource_id, total } = cart - const { currency_code } = await this.regionService_.retrieve(region_id) + let { id, region_id, resource_id, currency_code, total } = cart + + if (!currency_code) { + const region = await this.regionService_.retrieve(region_id) + currency_code = region.currency_code + } const amount = total @@ -118,34 +122,6 @@ class PayPalProviderService extends PaymentService { return { id: res.result.id } } - async createPaymentNew(paymentInput) { - const { resource_id, currency_code, amount } = paymentInput - - const request = new PayPal.orders.OrdersCreateRequest() - request.requestBody({ - intent: "AUTHORIZE", - application_context: { - shipping_preference: "NO_SHIPPING", - }, - purchase_units: [ - { - custom_id: resource_id, - amount: { - currency_code: currency_code.toUpperCase(), - value: roundToTwo( - humanizeAmount(amount, currency_code), - currency_code - ), - }, - }, - ], - }) - - const res = await this.paypal_.execute(request) - - return { id: res.result.id } - } - /** * Retrieves a PayPal order. * @param {object} data - the data stored with the payment @@ -216,8 +192,12 @@ class PayPalProviderService extends PaymentService { */ async updatePayment(sessionData, cart) { try { - const { region_id, total } = cart - const { currency_code } = await this.regionService_.retrieve(region_id) + let { currency_code, total, region_id } = cart + + if (!currency_code) { + const region = await this.regionService_.retrieve(region_id) + currency_code = region.currency_code + } const request = new PayPal.orders.OrdersPatchRequest(sessionData.id) request.requestBody([ @@ -244,35 +224,6 @@ class PayPalProviderService extends PaymentService { } } - async updatePaymentNew(sessionData, paymentInput) { - try { - const { currency_code, amount } = paymentInput - - const request = new PayPal.orders.OrdersPatchRequest(sessionData.id) - request.requestBody([ - { - op: "replace", - path: "/purchase_units/@reference_id=='default'", - value: { - amount: { - currency_code: currency_code.toUpperCase(), - value: roundToTwo( - humanizeAmount(amount, currency_code), - currency_code - ), - }, - }, - }, - ]) - - await this.paypal_.execute(request) - - return sessionData - } catch (error) { - return this.createPaymentNew(paymentInput) - } - } - /** * Not suported */ @@ -436,7 +387,6 @@ class PayPalProviderService extends PaymentService { } const webhookRes = await this.paypal_.execute(webhookReq) - console.log(webhookRes.result.webhooks) let found if (webhookRes.result && webhookRes.result.webhooks) { found = webhookRes.result.webhooks.find((w) => {