UNPKG

medusa-payment-yookassa

Version:
55 lines 4.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildReceiptTemplate = buildReceiptTemplate; exports.buildRefundReceiptSimple = buildRefundReceiptSimple; function buildReceiptTemplate(receipt) { const firstItem = receipt.items?.[0]; if (!firstItem || !firstItem.amount) { return "{}"; } const tpl = { cur: firstItem.amount.currency, vat: firstItem?.vat_code, sub: firstItem?.payment_subject, ts: receipt.tax_system_code, e: receipt.customer?.email, p: receipt.customer?.phone, desc: "Refund for order" }; const compact = JSON.stringify(tpl, (_k, v) => (v === undefined ? undefined : v)); if (compact.length > 512) { throw new Error("receipt_tpl exceeds 512 chars, shorten fields"); } return compact; } function trunc128(s) { return s.length <= 128 ? s : s.slice(0, 125) + "…"; } function buildRefundReceiptSimple(refundValue, receiptTemplateplString) { let tpl; try { tpl = JSON.parse(receiptTemplateplString); } catch { throw new Error("Invalid receipt_tmp in metadata"); } const receipt = { customer: { ...(tpl.e ? { email: tpl.e } : {}), ...(tpl.p ? { phone: tpl.p } : {}), }, ...(tpl.ts ? { tax_system_code: tpl.ts } : {}), items: [ { description: trunc128(tpl.desc || "Refund"), quantity: "1", amount: { value: refundValue, currency: tpl.cur || "RUB" }, vat_code: tpl.vat, payment_subject: tpl.sub, payment_mode: "full_payment", }, ], }; return receipt; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcmVjZWlwdC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvcGF5bWVudC15b29rYXNzYS91dGlscy9idWlsZC1yZWNlaXB0LXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsb0RBb0JDO0FBZ0JELDREQThCQztBQWxFRCxTQUFnQixvQkFBb0IsQ0FBQyxPQUFpQjtJQUNwRCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDcEMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRztRQUNWLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVE7UUFDOUIsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRO1FBQ3hCLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZTtRQUMvQixFQUFFLEVBQUUsT0FBTyxDQUFDLGVBQWU7UUFDM0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSztRQUMxQixDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLO1FBQzFCLElBQUksRUFBRSxrQkFBa0I7S0FDekIsQ0FBQTtJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakYsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQTtJQUNsRSxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQztBQVlELFNBQVMsUUFBUSxDQUFDLENBQVM7SUFDekIsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUE7QUFDcEQsQ0FBQztBQUVELFNBQWdCLHdCQUF3QixDQUN0QyxXQUFtQixFQUNuQix1QkFBK0I7SUFFL0IsSUFBSSxHQUFlLENBQUE7SUFDbkIsSUFBSSxDQUFDO1FBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBYTtRQUN4QixRQUFRLEVBQUU7WUFDUixHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEdBQUcsQ0FBQyxFQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JELEtBQUssRUFBRTtZQUNMO2dCQUNFLFdBQVcsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUM7Z0JBQzNDLFFBQVEsRUFBRSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksS0FBSyxFQUFFO2dCQUMxRCxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQVU7Z0JBQ3hCLGVBQWUsRUFBRSxHQUFHLENBQUMsR0FBVTtnQkFDL0IsWUFBWSxFQUFFLGNBQWM7YUFDN0I7U0FDRjtLQUNGLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDIn0=