chore(*-payment-*): Cleanup PaymentProvider plugins (#3011)
This commit is contained in:
committed by
GitHub
parent
0a2bf7845d
commit
ce866475b4
9
.changeset/calm-rats-brake.md
Normal file
9
.changeset/calm-rats-brake.md
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user