phonepe #48

Merged
allentj merged 24 commits from phonepe into dev 2025-05-23 09:00:10 +00:00
Showing only changes of commit 1a40513cc4 - Show all commits

View File

@ -54,7 +54,7 @@ export class InvoiceService {
doc.setFontSize(20); doc.setFontSize(20);
doc.setFont('helvetica', 'bold'); doc.setFont('helvetica', 'bold');
doc.text(data.businessName, 13, 20); doc.text(data.businessName, 15, 20);
doc.setFontSize(12); doc.setFontSize(12);
doc.setFont('helvetica', 'normal'); doc.setFont('helvetica', 'normal');
@ -66,10 +66,10 @@ export class InvoiceService {
if (addressLines.length <= 2) { if (addressLines.length <= 2) {
for (let i = 0; i < addressLines.length; i++) { for (let i = 0; i < addressLines.length; i++) {
doc.text(addressLines[i], 13, 30 + (i * lineHeight)); doc.text(addressLines[i], 15, 30 + (i * lineHeight));
} }
} else { } else {
doc.text(addressLines[0], 13, 30); doc.text(addressLines[0], 15, 30);
let secondLine = addressLines[1]; let secondLine = addressLines[1];
if (secondLine.length > 3) { if (secondLine.length > 3) {
@ -77,7 +77,7 @@ export class InvoiceService {
} else { } else {
secondLine += '...'; secondLine += '...';
} }
doc.text(secondLine, 13, 35); doc.text(secondLine, 15, 35);
} }
const gstYPosition = 40; const gstYPosition = 40;
@ -88,17 +88,17 @@ export class InvoiceService {
doc.setFontSize(24); doc.setFontSize(24);
doc.setFont('helvetica', 'bold'); doc.setFont('helvetica', 'bold');
doc.text('RECEIPT', 190, 20, { align: 'right' }); doc.text('RECEIPT', 195, 20, { align: 'right' });
doc.setFontSize(12); doc.setFontSize(12);
doc.text(`Receipt #: ${data.invoiceNumber}`, 190, 30, { align: 'right' }); doc.text(`Receipt #: ${data.invoiceNumber}`, 195, 30, { align: 'right' });
doc.text(`Date: ${formattedDate}`, 190, 40, { align: 'right' }); doc.text(`Date: ${formattedDate}`, 195, 40, { align: 'right' });
doc.line(20, 45, 190, 45); doc.line(15, 45, 195, 45);
doc.setFontSize(12); doc.setFontSize(12);
const receiptToBoxX = 13; const receiptToBoxX = 15;
const receiptToBoxY = 55; const receiptToBoxY = 50;
const receiptToBoxWidth = 100; const receiptToBoxWidth = 100;
const receiptToBoxHeight = 40; const receiptToBoxHeight = 40;
@ -110,12 +110,20 @@ export class InvoiceService {
doc.setFont('helvetica', 'normal'); doc.setFont('helvetica', 'normal');
doc.text(data.customerName, 18, 70); doc.text(data.customerName, 18, 70);
doc.text(`Phone: ${data.phoneNumber}`, 18, 80); doc.text(`Phone: ${data.phoneNumber}`, 18, 75);
doc.text(`Email: ${data.email}`, 18, 90); doc.text(`Email: ${data.email}`, 18, 80);
autoTable(doc, { autoTable(doc, {
startY: 110, startY: 110,
head: [['No.', 'Description', 'HSN/SAC', 'Amount (INR)']], margin: {left: 15, right: 15},
head: [
[
{content: 'No.', styles: {halign: 'center'}},
{content: 'Description', styles: {halign: 'left'}},
{content: 'HSN/SAC', styles: {halign: 'center'}},
{content: 'Amount (INR)', styles: {halign: 'right'}}
]
],
body: [ body: [
['1', `${data.planName} Subscription`, '999723', baseAmount.toFixed(2)] ['1', `${data.planName} Subscription`, '999723', baseAmount.toFixed(2)]
], ],
@ -147,30 +155,30 @@ export class InvoiceService {
if (hasGst) { if (hasGst) {
doc.text('Taxable Amount:', 150, finalY, { align: 'right' }); doc.text('Taxable Amount:', 150, finalY, { align: 'right' });
doc.text(`${baseAmount.toFixed(2)} INR`, 190, finalY, { align: 'right' }); doc.text(`${baseAmount.toFixed(2)} INR`, 195, finalY, { align: 'right' });
doc.text('SGST (9%):', 150, finalY + 10, { align: 'right' }); doc.text('SGST (9%):', 150, finalY + 10, { align: 'right' });
doc.text(`${sgst.toFixed(2)} INR`, 190, finalY + 10, { align: 'right' }); doc.text(`${sgst.toFixed(2)} INR`, 195, finalY + 10, { align: 'right' });
doc.text('CGST (9%):', 150, finalY + 20, { align: 'right' }); doc.text('CGST (9%):', 150, finalY + 20, { align: 'right' });
doc.text(`${cgst.toFixed(2)} INR`, 190, finalY + 20, { align: 'right' }); doc.text(`${cgst.toFixed(2)} INR`, 195, finalY + 20, { align: 'right' });
doc.line(120, finalY + 25, 190, finalY + 25); doc.line(120, finalY + 25, 195, finalY + 25);
doc.setFont('helvetica', 'bold'); doc.setFont('helvetica', 'bold');
doc.text('Total Amount:', 150, finalY + 30, { align: 'right' }); doc.text('Total Amount:', 150, finalY + 30, { align: 'right' });
doc.text(`${data.amount.toFixed(2)} INR`, 190, finalY + 30, { align: 'right' }); doc.text(`${data.amount.toFixed(2)} INR`, 195, finalY + 30, { align: 'right' });
} else { } else {
doc.line(120, finalY - 5, 190, finalY - 5); doc.line(120, finalY - 5, 195, finalY - 5);
doc.setFont('helvetica', 'bold'); doc.setFont('helvetica', 'bold');
doc.text('Total Amount:', 150, finalY, { align: 'right' }); doc.text('Total Amount:', 150, finalY, { align: 'right' });
doc.text(`${data.amount.toFixed(2)} INR`, 190, finalY, { align: 'right' }); doc.text(`${data.amount.toFixed(2)} INR`, 195, finalY, { align: 'right' });
} }
const paymentY = hasGst ? finalY + 50 : finalY + 20; const paymentY = hasGst ? finalY + 50 : finalY + 20;
const boxX = 13; const boxX = 15;
const boxY = paymentY - 5; const boxY = paymentY - 10;
const boxWidth = 100; const boxWidth = 100;
const boxHeight = 40; const boxHeight = 40;
@ -183,8 +191,8 @@ export class InvoiceService {
doc.setFont('helvetica', 'normal'); doc.setFont('helvetica', 'normal');
doc.text(`Transaction ID: ${data.transactionId}`, 18, paymentY + 10); doc.text(`Transaction ID: ${data.transactionId}`, 18, paymentY + 10);
doc.text(`Payment Method: ${data.paymentMethod}`, 18, paymentY + 20); doc.text(`Payment Method: ${data.paymentMethod}`, 18, paymentY + 15);
doc.text(`Payment Date: ${formattedDate}`, 18, paymentY + 30); doc.text(`Payment Date: ${formattedDate}`, 18, paymentY + 20);
doc.setFontSize(12); doc.setFontSize(12);
doc.setFont('helvetica', 'italic'); doc.setFont('helvetica', 'italic');