UNPKG

@mia-burton/klarna-node

Version:
57 lines (56 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SessionBodyBuilder = void 0; const utils_1 = require("../utils"); class SessionBodyBuilder { build(order, urls) { return { acquiring_channel: 'ECOMMERCE', billing_address: order.billingAddress ? { city: order.billingAddress.city, country: order.billingAddress.country, email: order.billingAddress.email, family_name: order.billingAddress.lastName, given_name: order.billingAddress.firstName, phone: order.billingAddress.phone, postal_code: order.billingAddress.postalCode, region: order.billingAddress.region, street_address: order.billingAddress.streetAddress, street_address2: order.billingAddress.streetAddress2, } : {}, shipping_address: order.shippingAddress ? { city: order.shippingAddress.city, country: order.shippingAddress.country, email: order.shippingAddress.email, family_name: order.shippingAddress.lastName, given_name: order.shippingAddress.firstName, phone: order.shippingAddress.phone, postal_code: order.shippingAddress.postalCode, region: order.shippingAddress.region, street_address: order.shippingAddress.streetAddress, street_address2: order.shippingAddress.streetAddress2, } : {}, locale: order.locale, merchant_reference1: order.mertchantReference, merchant_urls: { confirmation: urls.confirmation, authorization: urls.authorization, notification: urls.notification, push: urls.push }, order_amount: utils_1.Utils.formatPrice(order.amount), order_lines: order.lines.map((line) => { return { name: line.name, total_amount: utils_1.Utils.formatPrice(line.totalAmount), quantity: line.quantity, unit_price: utils_1.Utils.formatPrice(line.unitPrice) }; }), purchase_country: order.country, purchase_currency: order.currency, intent: 'buy' }; } } exports.SessionBodyBuilder = SessionBodyBuilder;