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 axios from "axios"
|
||||||
import _ from "lodash"
|
import _ from "lodash"
|
||||||
import { hmacValidator } from "@adyen/api-library"
|
import { CheckoutAPI, Client, Config, hmacValidator } from "@adyen/api-library"
|
||||||
import { BaseService } from "medusa-interfaces"
|
import { BaseService } from "medusa-interfaces"
|
||||||
import { Client, Config, CheckoutAPI } from "@adyen/api-library"
|
|
||||||
|
|
||||||
class AdyenService extends BaseService {
|
class AdyenService extends BaseService {
|
||||||
constructor({ cartService }, options) {
|
constructor({ cartService }, options) {
|
||||||
@@ -201,10 +200,6 @@ class AdyenService extends BaseService {
|
|||||||
return { cart_id: cart.id }
|
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
|
* Retrieves Adyen payment. This is not supported by adyen, so we simply
|
||||||
* return the current payment method data
|
* return the current payment method data
|
||||||
@@ -326,10 +321,6 @@ class AdyenService extends BaseService {
|
|||||||
return paymentData
|
return paymentData
|
||||||
}
|
}
|
||||||
|
|
||||||
async updatePaymentNew(paymentData, details) {
|
|
||||||
return paymentData
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Additional details
|
* Additional details
|
||||||
* @param {object} paymentData - payment data
|
* @param {object} paymentData - payment data
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import _ from "lodash"
|
|
||||||
import { PaymentService } from "medusa-interfaces"
|
import { PaymentService } from "medusa-interfaces"
|
||||||
|
|
||||||
class MobilePayAdyenService extends PaymentService {
|
class MobilePayAdyenService extends PaymentService {
|
||||||
@@ -20,12 +19,6 @@ class MobilePayAdyenService extends PaymentService {
|
|||||||
return raw
|
return raw
|
||||||
}
|
}
|
||||||
|
|
||||||
async createPaymentNew(paymentInput) {
|
|
||||||
const raw = await this.adyenService_.createPaymentNew(paymentInput)
|
|
||||||
raw.type = "mobilepay"
|
|
||||||
return raw
|
|
||||||
}
|
|
||||||
|
|
||||||
async authorizePayment(sessionData, context) {
|
async authorizePayment(sessionData, context) {
|
||||||
return this.adyenService_.authorizePayment(sessionData, context)
|
return this.adyenService_.authorizePayment(sessionData, context)
|
||||||
}
|
}
|
||||||
@@ -38,10 +31,6 @@ class MobilePayAdyenService extends PaymentService {
|
|||||||
return this.adyenService_.updatePayment(data)
|
return this.adyenService_.updatePayment(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
async updatePaymentNew(data, _) {
|
|
||||||
return this.adyenService_.updatePaymentNew(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
async updatePaymentData(sessionData, update) {
|
async updatePaymentData(sessionData, update) {
|
||||||
return this.adyenService_.updatePaymentData(sessionData, update)
|
return this.adyenService_.updatePaymentData(sessionData, update)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -326,33 +326,15 @@ class KlarnaProviderService extends PaymentService {
|
|||||||
/**
|
/**
|
||||||
* Creates Klarna PaymentIntent.
|
* Creates Klarna PaymentIntent.
|
||||||
* @param {string} cart - the cart to create a payment for
|
* @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
|
* @returns {string} id of payment intent
|
||||||
*/
|
*/
|
||||||
async createPayment(cart) {
|
async createPayment(cart) {
|
||||||
try {
|
try {
|
||||||
const order = await this.cartToKlarnaOrder(cart)
|
const order = await this.cartToKlarnaOrder(cart)
|
||||||
|
|
||||||
const klarnaPayment = await this.klarna_
|
return await this.klarna_
|
||||||
.post(this.klarnaOrderUrl_, order)
|
.post(this.klarnaOrderUrl_, order)
|
||||||
.then(({ data }) => data)
|
.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) {
|
} catch (error) {
|
||||||
this.logger_.error(error)
|
this.logger_.error(error)
|
||||||
throw error
|
throw error
|
||||||
@@ -478,8 +460,8 @@ class KlarnaProviderService extends PaymentService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates Klarna order.
|
* Updates Klarna order.
|
||||||
* @param {string} order - the order to update
|
* @param {string} paymentData
|
||||||
* @param {Object} data - the update object
|
* @param {Object} cart
|
||||||
* @returns {Object} updated order
|
* @returns {Object} updated order
|
||||||
*/
|
*/
|
||||||
async updatePayment(paymentData, cart) {
|
async updatePayment(paymentData, cart) {
|
||||||
@@ -498,22 +480,6 @@ class KlarnaProviderService extends PaymentService {
|
|||||||
return paymentData
|
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.
|
* Captures Klarna order.
|
||||||
* @param {Object} paymentData - payment method data from cart
|
* @param {Object} paymentData - payment method data from cart
|
||||||
|
|||||||
@@ -26,10 +26,6 @@ class ManualPaymentService extends PaymentService {
|
|||||||
return { status: "pending" }
|
return { status: "pending" }
|
||||||
}
|
}
|
||||||
|
|
||||||
async createPaymentNew() {
|
|
||||||
return { status: "pending" }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves payment
|
* Retrieves payment
|
||||||
* @param {object} data - the data of the payment to retrieve
|
* @param {object} data - the data of the payment to retrieve
|
||||||
@@ -56,12 +52,7 @@ class ManualPaymentService extends PaymentService {
|
|||||||
return sessionData
|
return sessionData
|
||||||
}
|
}
|
||||||
|
|
||||||
async updatePaymentNew(sessionData) {
|
|
||||||
return sessionData
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
.
|
|
||||||
* @param {object} sessionData - payment session data.
|
* @param {object} sessionData - payment session data.
|
||||||
* @param {object} update - payment session update data.
|
* @param {object} update - payment session update data.
|
||||||
* @returns {object} existing data merged with 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.
|
* @returns {object} the data to be stored with the payment session.
|
||||||
*/
|
*/
|
||||||
async createPayment(cart) {
|
async createPayment(cart) {
|
||||||
const { region_id, id, resource_id, total } = cart
|
let { id, region_id, resource_id, currency_code, total } = cart
|
||||||
const { currency_code } = await this.regionService_.retrieve(region_id)
|
|
||||||
|
if (!currency_code) {
|
||||||
|
const region = await this.regionService_.retrieve(region_id)
|
||||||
|
currency_code = region.currency_code
|
||||||
|
}
|
||||||
|
|
||||||
const amount = total
|
const amount = total
|
||||||
|
|
||||||
@@ -118,34 +122,6 @@ class PayPalProviderService extends PaymentService {
|
|||||||
return { id: res.result.id }
|
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.
|
* Retrieves a PayPal order.
|
||||||
* @param {object} data - the data stored with the payment
|
* @param {object} data - the data stored with the payment
|
||||||
@@ -216,8 +192,12 @@ class PayPalProviderService extends PaymentService {
|
|||||||
*/
|
*/
|
||||||
async updatePayment(sessionData, cart) {
|
async updatePayment(sessionData, cart) {
|
||||||
try {
|
try {
|
||||||
const { region_id, total } = cart
|
let { currency_code, total, region_id } = cart
|
||||||
const { currency_code } = await this.regionService_.retrieve(region_id)
|
|
||||||
|
if (!currency_code) {
|
||||||
|
const region = await this.regionService_.retrieve(region_id)
|
||||||
|
currency_code = region.currency_code
|
||||||
|
}
|
||||||
|
|
||||||
const request = new PayPal.orders.OrdersPatchRequest(sessionData.id)
|
const request = new PayPal.orders.OrdersPatchRequest(sessionData.id)
|
||||||
request.requestBody([
|
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
|
* Not suported
|
||||||
*/
|
*/
|
||||||
@@ -436,7 +387,6 @@ class PayPalProviderService extends PaymentService {
|
|||||||
}
|
}
|
||||||
const webhookRes = await this.paypal_.execute(webhookReq)
|
const webhookRes = await this.paypal_.execute(webhookReq)
|
||||||
|
|
||||||
console.log(webhookRes.result.webhooks)
|
|
||||||
let found
|
let found
|
||||||
if (webhookRes.result && webhookRes.result.webhooks) {
|
if (webhookRes.result && webhookRes.result.webhooks) {
|
||||||
found = webhookRes.result.webhooks.find((w) => {
|
found = webhookRes.result.webhooks.find((w) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user