Robustness
This commit is contained in:
@@ -16,8 +16,9 @@ export default async (req, res) => {
|
||||
address_1: shipping_address.street_address,
|
||||
address_2: shipping_address.street_address2,
|
||||
city: shipping_address.city,
|
||||
country_code: shipping_address.country,
|
||||
country_code: shipping_address.country.toUpperCase(),
|
||||
postal_code: shipping_address.postal_code,
|
||||
phone: shipping_address.phone
|
||||
}
|
||||
|
||||
await cartService.updateShippingAddress(cart._id, updatedAddress)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Router } from "express"
|
||||
import bodyParser from "body-parser"
|
||||
import middlewares from "../../middlewares"
|
||||
|
||||
const route = Router()
|
||||
@@ -6,6 +7,7 @@ const route = Router()
|
||||
export default (app) => {
|
||||
app.use("/klarna", route)
|
||||
|
||||
route.use(bodyParser.json())
|
||||
route.post("/address", middlewares.wrap(require("./address").default))
|
||||
route.post("/shipping", middlewares.wrap(require("./shipping").default))
|
||||
route.post("/push", middlewares.wrap(require("./push").default))
|
||||
|
||||
@@ -10,15 +10,14 @@ export default async (req, res) => {
|
||||
|
||||
const klarnaOrder = await klarnaProviderService.retrieveCompletedOrder(
|
||||
klarna_order_id
|
||||
)
|
||||
).then(({ data }) => data)
|
||||
|
||||
const cartId = klarnaOrder.merchant_data
|
||||
|
||||
try {
|
||||
const order = await orderService.retrieveByCartId(cartId)
|
||||
await klarnaProviderService.acknowledgeOrder(klarnaOrder.order_id, order._id)
|
||||
} catch (err) {
|
||||
if (err.type === MeudsaError.Types.NOT_FOUND) {
|
||||
if (err.type === MedusaError.Types.NOT_FOUND) {
|
||||
const cart = await cartService.retrieve(cartId)
|
||||
const order = await orderService.createFromCart(cart)
|
||||
await klarnaProviderService.acknowledgeOrder(klarnaOrder.order_id, order._id)
|
||||
|
||||
@@ -26,7 +26,7 @@ class KlarnaProviderService extends PaymentService {
|
||||
this.klarnaOrderManagementUrl_ = "/ordermanagement/v1/orders"
|
||||
|
||||
this.backendUrl_ =
|
||||
process.env.BACKEND_URL || "https://2fe4e28015f5.ngrok.io"
|
||||
process.env.BACKEND_URL || "https://7e9a5bc2a2eb.ngrok.io"
|
||||
|
||||
this.totalsService_ = totalsService
|
||||
|
||||
@@ -155,7 +155,7 @@ class KlarnaProviderService extends PaymentService {
|
||||
terms: this.options_.merchant_urls.terms,
|
||||
checkout: this.options_.merchant_urls.checkout,
|
||||
confirmation: this.options_.merchant_urls.confirmation,
|
||||
push: `${this.backendUrl_}/klarna/push?klarna_order_id={checkout.order_id}`,
|
||||
push: `${this.backendUrl_}/klarna/push?klarna_order_id={checkout.order.id}`,
|
||||
shipping_option_update: `${this.backendUrl_}/klarna/shipping`,
|
||||
address_update: `${this.backendUrl_}/klarna/address`,
|
||||
}
|
||||
@@ -266,12 +266,20 @@ class KlarnaProviderService extends PaymentService {
|
||||
* @param {string} klarnaOrderId - id of the order to acknowledge
|
||||
* @returns {string} id of acknowledged order
|
||||
*/
|
||||
async acknowledgeOrder(klarnaOrderId) {
|
||||
async acknowledgeOrder(klarnaOrderId, orderId) {
|
||||
try {
|
||||
await this.klarna_.post(
|
||||
`${this.klarnaOrderManagementUrl_}/${klarnaOrderId}/acknowledge`,
|
||||
{}
|
||||
`${this.klarnaOrderManagementUrl_}/${klarnaOrderId}/acknowledge`
|
||||
)
|
||||
|
||||
await this.klarna_.patch(
|
||||
`${this.klarnaOrderManagementUrl_}/${klarnaOrderId}/merchant-references`,
|
||||
{
|
||||
merchant_reference1: orderId
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
return klarnaOrderId
|
||||
} catch (error) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user