@mia-burton/klarna-node
Version:
A Node.js module for Klarna
60 lines (59 loc) • 3.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PaymentSessionMapper = void 0;
const types_1 = require("../types");
class PaymentSessionMapper {
map(klarnaSession) {
const session = new types_1.PaymentSession();
if (klarnaSession.billing_address) {
session.billingAddress = new types_1.Address();
session.billingAddress.city = klarnaSession.billing_address.city;
session.billingAddress.country = klarnaSession.billing_address.country;
session.billingAddress.email = klarnaSession.billing_address.email;
session.billingAddress.firstName = klarnaSession.billing_address.given_name;
session.billingAddress.lastName = klarnaSession.billing_address.family_name;
session.billingAddress.phone = klarnaSession.billing_address.phone;
session.billingAddress.postalCode = klarnaSession.billing_address.postal_code;
session.billingAddress.region = klarnaSession.billing_address.region;
session.billingAddress.streetAddress = klarnaSession.billing_address.street_address;
session.billingAddress.streetAddress2 = klarnaSession.billing_address.street_address2;
}
if (klarnaSession.shipping_address) {
session.shippingAddress = new types_1.Address();
session.shippingAddress.city = klarnaSession.shipping_address.city;
session.shippingAddress.country = klarnaSession.shipping_address.country;
session.shippingAddress.email = klarnaSession.shipping_address.email;
session.shippingAddress.firstName = klarnaSession.shipping_address.given_name;
session.shippingAddress.lastName = klarnaSession.shipping_address.family_name;
session.shippingAddress.phone = klarnaSession.shipping_address.phone;
session.shippingAddress.postalCode = klarnaSession.shipping_address.postal_code;
session.shippingAddress.region = klarnaSession.shipping_address.region;
session.shippingAddress.streetAddress = klarnaSession.shipping_address.street_address;
session.shippingAddress.streetAddress2 = klarnaSession.shipping_address.street_address2;
}
session.locale = klarnaSession.locale;
session.mertchantReference = klarnaSession.merchant_reference1;
session.urls = {
confirmation: klarnaSession.merchant_urls.confirmation,
authorization: klarnaSession.merchant_urls.authorization,
notification: klarnaSession.merchant_urls.notification,
push: klarnaSession.merchant_urls.push
};
session.amount = klarnaSession.order_amount / 100;
session.lines = klarnaSession.order_lines.map((line) => {
const orderLine = new types_1.OrderLine();
orderLine.name = line.name;
orderLine.totalAmount = line.total_amount / 100;
orderLine.quantity = line.quantity;
orderLine.unitPrice = line.unit_price / 100;
return orderLine;
});
session.country = klarnaSession.purchase_country;
session.currency = klarnaSession.purchase_currency;
session.authorizationToken = klarnaSession.authorization_token;
session.clientToken = klarnaSession.client_token;
session.status = klarnaSession.status;
return session;
}
}
exports.PaymentSessionMapper = PaymentSessionMapper;