fix(medusa-payment-klarna, medusa-payment-stripe, medusa-payment-paypal): Totals calculation (#2381)
This commit is contained in:
@@ -72,7 +72,6 @@ describe("PaypalProviderService", () => {
|
||||
const paypalProviderService = new PayPalProviderService(
|
||||
{
|
||||
regionService: RegionServiceMock,
|
||||
totalsService: TotalsServiceMock,
|
||||
},
|
||||
{
|
||||
api_key: "test",
|
||||
@@ -98,7 +97,6 @@ describe("PaypalProviderService", () => {
|
||||
const paypalProviderService = new PayPalProviderService(
|
||||
{
|
||||
regionService: RegionServiceMock,
|
||||
totalsService: TotalsServiceMock,
|
||||
},
|
||||
{
|
||||
api_key: "test",
|
||||
@@ -149,7 +147,6 @@ describe("PaypalProviderService", () => {
|
||||
const paypalProviderService = new PayPalProviderService(
|
||||
{
|
||||
regionService: RegionServiceMock,
|
||||
totalsService: TotalsServiceMock,
|
||||
},
|
||||
{
|
||||
api_key: "test",
|
||||
@@ -196,7 +193,6 @@ describe("PaypalProviderService", () => {
|
||||
const paypalProviderService = new PayPalProviderService(
|
||||
{
|
||||
regionService: RegionServiceMock,
|
||||
totalsService: TotalsServiceMock,
|
||||
},
|
||||
{
|
||||
api_key: "test",
|
||||
@@ -275,7 +271,6 @@ describe("PaypalProviderService", () => {
|
||||
const paypalProviderService = new PayPalProviderService(
|
||||
{
|
||||
regionService: RegionServiceMock,
|
||||
totalsService: TotalsServiceMock,
|
||||
},
|
||||
{
|
||||
api_key: "test",
|
||||
@@ -349,9 +344,13 @@ describe("PaypalProviderService", () => {
|
||||
data: { id: "test-voided" },
|
||||
})
|
||||
|
||||
expect(PayPalMock.payments.AuthorizationsVoidRequest).not.toHaveBeenCalled()
|
||||
expect(
|
||||
PayPalMock.payments.AuthorizationsVoidRequest
|
||||
).not.toHaveBeenCalled()
|
||||
expect(PayPalMock.payments.CapturesRefundRequest).not.toHaveBeenCalled()
|
||||
expect(PayPalMock.orders.OrdersGetRequest).toHaveBeenCalledWith("test-voided")
|
||||
expect(PayPalMock.orders.OrdersGetRequest).toHaveBeenCalledWith(
|
||||
"test-voided"
|
||||
)
|
||||
expect(PayPalClientMock.execute).toHaveBeenCalledTimes(1)
|
||||
|
||||
expect(result.id).toEqual("test-voided")
|
||||
@@ -366,9 +365,13 @@ describe("PaypalProviderService", () => {
|
||||
},
|
||||
})
|
||||
|
||||
expect(PayPalMock.payments.AuthorizationsVoidRequest).not.toHaveBeenCalled()
|
||||
expect(
|
||||
PayPalMock.payments.AuthorizationsVoidRequest
|
||||
).not.toHaveBeenCalled()
|
||||
expect(PayPalMock.payments.CapturesRefundRequest).not.toHaveBeenCalled()
|
||||
expect(PayPalMock.orders.OrdersGetRequest).toHaveBeenCalledWith("test-refund")
|
||||
expect(PayPalMock.orders.OrdersGetRequest).toHaveBeenCalledWith(
|
||||
"test-refund"
|
||||
)
|
||||
expect(PayPalClientMock.execute).toHaveBeenCalledTimes(1)
|
||||
|
||||
expect(result.id).toEqual("test-refund")
|
||||
|
||||
@@ -12,7 +12,7 @@ function roundToTwo(num, currency) {
|
||||
class PayPalProviderService extends PaymentService {
|
||||
static identifier = "paypal"
|
||||
|
||||
constructor({ totalsService, regionService }, options) {
|
||||
constructor({ regionService }, options) {
|
||||
super()
|
||||
|
||||
/**
|
||||
@@ -44,9 +44,6 @@ class PayPalProviderService extends PaymentService {
|
||||
|
||||
/** @private @const {RegionService} */
|
||||
this.regionService_ = regionService
|
||||
|
||||
/** @private @const {TotalsService} */
|
||||
this.totalsService_ = totalsService
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -94,7 +91,7 @@ class PayPalProviderService extends PaymentService {
|
||||
const { region_id } = cart
|
||||
const { currency_code } = await this.regionService_.retrieve(region_id)
|
||||
|
||||
const amount = await this.totalsService_.getTotal(cart)
|
||||
const amount = cart.total
|
||||
|
||||
const request = new PayPal.orders.OrdersCreateRequest()
|
||||
request.requestBody({
|
||||
@@ -289,7 +286,8 @@ class PayPalProviderService extends PaymentService {
|
||||
async cancelPayment(payment) {
|
||||
const order = await this.retrievePayment(payment.data)
|
||||
const isAlreadyCanceled = order.status === "VOIDED"
|
||||
const isCanceledAndFullyRefund = order.status === "COMPLETED" && !!order.invoice_id
|
||||
const isCanceledAndFullyRefund =
|
||||
order.status === "COMPLETED" && !!order.invoice_id
|
||||
if (isAlreadyCanceled || isCanceledAndFullyRefund) {
|
||||
return order
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user