UNPKG

medusa-payment-yookassa

Version:
58 lines 4.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateReceipt = generateReceipt; const format_currency_1 = require("./format-currency"); function generateReceipt(taxSystemCode, taxItem, taxShipping, cart) { const email = cart?.email; const rawPhone = cart?.shipping_address.phone; const phone = rawPhone?.replace(/[^\d+]/g, ""); const items = cart?.items; const currencyCode = cart?.currency_code; const shippingTotal = cart?.shipping_total; const shippingMethods = cart?.shipping_methods; const shippingAddress = cart?.shipping_address; const fullName = `${shippingAddress.last_name} ${shippingAddress.first_name}`; const receipt = {}; receipt.customer = { full_name: fullName, email: email, ...(phone ? { phone: phone } : {}), }; if (taxSystemCode) { receipt.tax_system_code = taxSystemCode; } const receiptItems = items.map((i) => ({ description: i.variant_title ? `${i.product_title} (${i.variant_title})` : i.product_title, amount: { value: (0, format_currency_1.formatCurrency)(i.unit_price, currencyCode), currency: currencyCode.toUpperCase() }, quantity: i.quantity.toString(), vat_code: taxItem, payment_subject: "commodity", payment_mode: "full_payment" })); if (shippingTotal > 0) { const name = shippingMethods?.[0]?.name ?? 'Shipping'; const amount = (0, format_currency_1.formatCurrency)(shippingTotal, currencyCode); receiptItems.push({ description: name.length > 128 ? name.slice(0, 125) + '…' : name, amount: { value: amount, currency: currencyCode.toUpperCase() }, quantity: "1", vat_code: taxShipping, payment_subject: "service", payment_mode: "full_payment" }); } if (receiptItems.length === 0) { throw new Error("Receipt items cannot be empty"); } receipt.items = receiptItems; return receipt; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcmVjZWlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5bWVudC15b29rYXNzYS91dGlscy9nZW5lcmF0ZS1yZWNlaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBYUEsMENBaUVDO0FBckVELHVEQUUwQjtBQUUxQixTQUFnQixlQUFlLENBQzdCLGFBQXdDLEVBQ3hDLE9BQWdCLEVBQ2hCLFdBQW9CLEVBQ3BCLElBQXlCO0lBR3pCLE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxLQUFlLENBQUE7SUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQWUsQ0FBQTtJQUN2RCxNQUFNLEtBQUssR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBbUMsQ0FBQTtJQUN2RCxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsYUFBdUIsQ0FBQTtJQUNsRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEVBQUUsY0FBd0IsQ0FBQTtJQUNwRCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsZ0JBQThDLENBQUE7SUFDNUUsTUFBTSxlQUFlLEdBQUcsSUFBSSxFQUFFLGdCQUF1QyxDQUFBO0lBRXJFLE1BQU0sUUFBUSxHQUFHLEdBQUcsZUFBZSxDQUFDLFNBQVMsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUE7SUFFN0UsTUFBTSxPQUFPLEdBQUcsRUFBYyxDQUFBO0lBRTlCLE9BQU8sQ0FBQyxRQUFRLEdBQUc7UUFDakIsU0FBUyxFQUFFLFFBQVE7UUFDbkIsS0FBSyxFQUFFLEtBQUs7UUFDWixHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ25DLENBQUE7SUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFBO0lBQ3pDLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBdUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxXQUFXLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDMUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsS0FBSyxDQUFDLENBQUMsYUFBYSxHQUFHO1lBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBdUI7UUFDN0IsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLElBQUEsZ0NBQWMsRUFBQyxDQUFDLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztZQUNqRCxRQUFRLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRTtTQUNyQztRQUNELFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtRQUMvQixRQUFRLEVBQUUsT0FBTztRQUNqQixlQUFlLEVBQUUsV0FBVztRQUM1QixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDLENBQUMsQ0FBQTtJQUVILElBQUksYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxVQUFVLENBQUE7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBQSxnQ0FBYyxFQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUMxRCxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ2hFLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsTUFBTTtnQkFDYixRQUFRLEVBQUUsWUFBWSxDQUFDLFdBQVcsRUFBRTthQUNyQztZQUNELFFBQVEsRUFBRSxHQUFHO1lBQ2IsUUFBUSxFQUFFLFdBQVc7WUFDckIsZUFBZSxFQUFFLFNBQVM7WUFDMUIsWUFBWSxFQUFFLGNBQWM7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFBO0lBQzVCLE9BQU8sT0FBTyxDQUFBO0FBQ2hCLENBQUMifQ==