[{"data":1,"prerenderedAt":1357},["ShallowReactive",2],{"search-de":3,"content-de-examples\u002Fbilling-email":4,"surround-de-\u002Fexamples\u002Fbilling-email":1348},[],{"id":5,"title":6,"body":7,"description":13,"extension":1342,"meta":1343,"navigation":107,"path":1344,"seo":1345,"stem":1346,"__hash__":1347},"content_de\u002F4.examples\u002F2.billing-email.md","Rechnungs-E-Mail",{"type":8,"value":9,"toc":1335},"minimark",[10,14,19,58,62,69,448,452,466,657,674,678,685,1304,1308,1331],[11,12,13],"p",{},"Versenden Sie nach einer erfolgreichen Zahlung eine Zahlungsbestätigung mit angehängter Rechnungs-PDF.",[15,16,18],"h2",{"id":17},"voraussetzungen","Voraussetzungen",[20,21,22,49],"ul",{},[23,24,25,26,30,31,34,35,34,38,34,41,44,45,48],"li",{},"Ein veröffentlichtes transaktionales Template mit dem Slug ",[27,28,29],"code",{},"billing-receipt",", das die Variablen ",[27,32,33],{},"customerName",", ",[27,36,37],{},"invoiceNumber",[27,39,40],{},"amountPaid",[27,42,43],{},"billingDate"," und ",[27,46,47],{},"planName"," enthält",[23,50,51,52,57],{},"Ein ",[53,54,56],"a",{"href":55},"\u002Fguide\u002Fapi-keys-webhooks","API-Schlüssel"," mit Berechtigungen für den transaktionalen Versand",[15,59,61],{"id":60},"mit-einem-url-anhang-versenden","Mit einem URL-Anhang versenden",[11,63,64,65,68],{},"Wenn Ihre Rechnungs-PDF unter einer URL liegt (z. B. bei Stripe oder in Ihrem eigenen Speicher), übergeben Sie sie über das Feld ",[27,66,67],{},"url",":",[70,71,72,311],"code-group",{},[73,74,80],"pre",{"className":75,"code":76,"filename":77,"language":78,"meta":79,"style":79},"language-typescript shiki shiki-themes github-light github-dark-dimmed","import { Owlat } from '@owlat\u002Fsdk-js'\n\nconst owlat = new Owlat('lm_live_...')\n\nawait owlat.transactional.send({\n  slug: 'billing-receipt',\n  email: 'mira@acme.io',\n  dataVariables: {\n    customerName: 'Mira Chen',\n    invoiceNumber: 'INV-2026-0042',\n    amountPaid: '$49.00',\n    billingDate: 'March 19, 2026',\n    planName: 'Pro',\n  },\n  attachments: [\n    {\n      filename: 'invoice-INV-2026-0042.pdf',\n      url: 'https:\u002F\u002Ffiles.stripe.com\u002Finvoices\u002FINV-2026-0042.pdf',\n      contentType: 'application\u002Fpdf',\n    },\n  ],\n})\n","TypeScript","typescript","",[27,81,82,102,109,138,143,158,170,181,187,198,209,220,231,242,248,254,260,271,282,293,299,305],{"__ignoreMap":79},[83,84,87,91,95,98],"span",{"class":85,"line":86},"line",1,[83,88,90],{"class":89},"s7YZ4","import",[83,92,94],{"class":93},"sYgZi"," { Owlat } ",[83,96,97],{"class":89},"from",[83,99,101],{"class":100},"s-HuK"," '@owlat\u002Fsdk-js'\n",[83,103,105],{"class":85,"line":104},2,[83,106,108],{"emptyLinePlaceholder":107},true,"\n",[83,110,112,115,119,122,125,129,132,135],{"class":85,"line":111},3,[83,113,114],{"class":89},"const",[83,116,118],{"class":117},"sviXB"," owlat",[83,120,121],{"class":89}," =",[83,123,124],{"class":89}," new",[83,126,128],{"class":127},"sPO5f"," Owlat",[83,130,131],{"class":93},"(",[83,133,134],{"class":100},"'lm_live_...'",[83,136,137],{"class":93},")\n",[83,139,141],{"class":85,"line":140},4,[83,142,108],{"emptyLinePlaceholder":107},[83,144,146,149,152,155],{"class":85,"line":145},5,[83,147,148],{"class":89},"await",[83,150,151],{"class":93}," owlat.transactional.",[83,153,154],{"class":127},"send",[83,156,157],{"class":93},"({\n",[83,159,161,164,167],{"class":85,"line":160},6,[83,162,163],{"class":93},"  slug: ",[83,165,166],{"class":100},"'billing-receipt'",[83,168,169],{"class":93},",\n",[83,171,173,176,179],{"class":85,"line":172},7,[83,174,175],{"class":93},"  email: ",[83,177,178],{"class":100},"'mira@acme.io'",[83,180,169],{"class":93},[83,182,184],{"class":85,"line":183},8,[83,185,186],{"class":93},"  dataVariables: {\n",[83,188,190,193,196],{"class":85,"line":189},9,[83,191,192],{"class":93},"    customerName: ",[83,194,195],{"class":100},"'Mira Chen'",[83,197,169],{"class":93},[83,199,201,204,207],{"class":85,"line":200},10,[83,202,203],{"class":93},"    invoiceNumber: ",[83,205,206],{"class":100},"'INV-2026-0042'",[83,208,169],{"class":93},[83,210,212,215,218],{"class":85,"line":211},11,[83,213,214],{"class":93},"    amountPaid: ",[83,216,217],{"class":100},"'$49.00'",[83,219,169],{"class":93},[83,221,223,226,229],{"class":85,"line":222},12,[83,224,225],{"class":93},"    billingDate: ",[83,227,228],{"class":100},"'March 19, 2026'",[83,230,169],{"class":93},[83,232,234,237,240],{"class":85,"line":233},13,[83,235,236],{"class":93},"    planName: ",[83,238,239],{"class":100},"'Pro'",[83,241,169],{"class":93},[83,243,245],{"class":85,"line":244},14,[83,246,247],{"class":93},"  },\n",[83,249,251],{"class":85,"line":250},15,[83,252,253],{"class":93},"  attachments: [\n",[83,255,257],{"class":85,"line":256},16,[83,258,259],{"class":93},"    {\n",[83,261,263,266,269],{"class":85,"line":262},17,[83,264,265],{"class":93},"      filename: ",[83,267,268],{"class":100},"'invoice-INV-2026-0042.pdf'",[83,270,169],{"class":93},[83,272,274,277,280],{"class":85,"line":273},18,[83,275,276],{"class":93},"      url: ",[83,278,279],{"class":100},"'https:\u002F\u002Ffiles.stripe.com\u002Finvoices\u002FINV-2026-0042.pdf'",[83,281,169],{"class":93},[83,283,285,288,291],{"class":85,"line":284},19,[83,286,287],{"class":93},"      contentType: ",[83,289,290],{"class":100},"'application\u002Fpdf'",[83,292,169],{"class":93},[83,294,296],{"class":85,"line":295},20,[83,297,298],{"class":93},"    },\n",[83,300,302],{"class":85,"line":301},21,[83,303,304],{"class":93},"  ],\n",[83,306,308],{"class":85,"line":307},22,[83,309,310],{"class":93},"})\n",[73,312,317],{"className":313,"code":314,"filename":315,"language":316,"meta":79,"style":79},"language-sh shiki shiki-themes github-light github-dark-dimmed","curl -X POST https:\u002F\u002Fyour-deployment.convex.site\u002Fapi\u002Fv1\u002Ftransactional \\\n  -H \"Authorization: Bearer lm_live_...\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"slug\": \"billing-receipt\",\n    \"email\": \"mira@acme.io\",\n    \"dataVariables\": {\n      \"customerName\": \"Mira Chen\",\n      \"invoiceNumber\": \"INV-2026-0042\",\n      \"amountPaid\": \"$49.00\",\n      \"billingDate\": \"March 19, 2026\",\n      \"planName\": \"Pro\"\n    },\n    \"attachments\": [\n      {\n        \"filename\": \"invoice-INV-2026-0042.pdf\",\n        \"url\": \"https:\u002F\u002Ffiles.stripe.com\u002Finvoices\u002FINV-2026-0042.pdf\",\n        \"contentType\": \"application\u002Fpdf\"\n      }\n    ]\n  }'\n","curl","sh",[27,318,319,337,347,356,364,369,374,379,384,389,394,399,404,408,413,418,423,428,433,438,443],{"__ignoreMap":79},[83,320,321,324,327,330,333],{"class":85,"line":86},[83,322,315],{"class":323},"sOLd2",[83,325,326],{"class":117}," -X",[83,328,329],{"class":100}," POST",[83,331,332],{"class":100}," https:\u002F\u002Fyour-deployment.convex.site\u002Fapi\u002Fv1\u002Ftransactional",[83,334,336],{"class":335},"s74oq"," \\\n",[83,338,339,342,345],{"class":85,"line":104},[83,340,341],{"class":117},"  -H",[83,343,344],{"class":100}," \"Authorization: Bearer lm_live_...\"",[83,346,336],{"class":335},[83,348,349,351,354],{"class":85,"line":111},[83,350,341],{"class":117},[83,352,353],{"class":100}," \"Content-Type: application\u002Fjson\"",[83,355,336],{"class":335},[83,357,358,361],{"class":85,"line":140},[83,359,360],{"class":117},"  -d",[83,362,363],{"class":100}," '{\n",[83,365,366],{"class":85,"line":145},[83,367,368],{"class":100},"    \"slug\": \"billing-receipt\",\n",[83,370,371],{"class":85,"line":160},[83,372,373],{"class":100},"    \"email\": \"mira@acme.io\",\n",[83,375,376],{"class":85,"line":172},[83,377,378],{"class":100},"    \"dataVariables\": {\n",[83,380,381],{"class":85,"line":183},[83,382,383],{"class":100},"      \"customerName\": \"Mira Chen\",\n",[83,385,386],{"class":85,"line":189},[83,387,388],{"class":100},"      \"invoiceNumber\": \"INV-2026-0042\",\n",[83,390,391],{"class":85,"line":200},[83,392,393],{"class":100},"      \"amountPaid\": \"$49.00\",\n",[83,395,396],{"class":85,"line":211},[83,397,398],{"class":100},"      \"billingDate\": \"March 19, 2026\",\n",[83,400,401],{"class":85,"line":222},[83,402,403],{"class":100},"      \"planName\": \"Pro\"\n",[83,405,406],{"class":85,"line":233},[83,407,298],{"class":100},[83,409,410],{"class":85,"line":244},[83,411,412],{"class":100},"    \"attachments\": [\n",[83,414,415],{"class":85,"line":250},[83,416,417],{"class":100},"      {\n",[83,419,420],{"class":85,"line":256},[83,421,422],{"class":100},"        \"filename\": \"invoice-INV-2026-0042.pdf\",\n",[83,424,425],{"class":85,"line":262},[83,426,427],{"class":100},"        \"url\": \"https:\u002F\u002Ffiles.stripe.com\u002Finvoices\u002FINV-2026-0042.pdf\",\n",[83,429,430],{"class":85,"line":273},[83,431,432],{"class":100},"        \"contentType\": \"application\u002Fpdf\"\n",[83,434,435],{"class":85,"line":284},[83,436,437],{"class":100},"      }\n",[83,439,440],{"class":85,"line":295},[83,441,442],{"class":100},"    ]\n",[83,444,445],{"class":85,"line":301},[83,446,447],{"class":100},"  }'\n",[15,449,451],{"id":450},"mit-einem-base64-anhang-versenden","Mit einem Base64-Anhang versenden",[11,453,454,455,458,459,462,463,68],{},"Wenn Sie die PDF im Arbeitsspeicher erzeugen (z. B. mit einer Bibliothek wie ",[27,456,457],{},"pdfkit"," oder ",[27,460,461],{},"jspdf","), kodieren Sie sie als Base64 und verwenden das Feld ",[27,464,465],{},"content",[73,467,469],{"className":75,"code":468,"language":78,"meta":79,"style":79},"import { Owlat } from '@owlat\u002Fsdk-js'\n\nconst owlat = new Owlat('lm_live_...')\n\n\u002F\u002F pdfBuffer is a Buffer from your PDF generation library\nconst base64Pdf = pdfBuffer.toString('base64')\n\nawait owlat.transactional.send({\n  slug: 'billing-receipt',\n  email: 'mira@acme.io',\n  dataVariables: {\n    customerName: 'Mira Chen',\n    invoiceNumber: 'INV-2026-0042',\n    amountPaid: '$49.00',\n    billingDate: 'March 19, 2026',\n    planName: 'Pro',\n  },\n  attachments: [\n    {\n      filename: 'invoice-INV-2026-0042.pdf',\n      content: base64Pdf,\n      contentType: 'application\u002Fpdf',\n    },\n  ],\n})\n",[27,470,471,481,485,503,507,513,535,539,549,557,565,569,577,585,593,601,609,613,617,621,629,634,642,647,652],{"__ignoreMap":79},[83,472,473,475,477,479],{"class":85,"line":86},[83,474,90],{"class":89},[83,476,94],{"class":93},[83,478,97],{"class":89},[83,480,101],{"class":100},[83,482,483],{"class":85,"line":104},[83,484,108],{"emptyLinePlaceholder":107},[83,486,487,489,491,493,495,497,499,501],{"class":85,"line":111},[83,488,114],{"class":89},[83,490,118],{"class":117},[83,492,121],{"class":89},[83,494,124],{"class":89},[83,496,128],{"class":127},[83,498,131],{"class":93},[83,500,134],{"class":100},[83,502,137],{"class":93},[83,504,505],{"class":85,"line":140},[83,506,108],{"emptyLinePlaceholder":107},[83,508,509],{"class":85,"line":145},[83,510,512],{"class":511},"sDN9O","\u002F\u002F pdfBuffer is a Buffer from your PDF generation library\n",[83,514,515,517,520,522,525,528,530,533],{"class":85,"line":160},[83,516,114],{"class":89},[83,518,519],{"class":117}," base64Pdf",[83,521,121],{"class":89},[83,523,524],{"class":93}," pdfBuffer.",[83,526,527],{"class":127},"toString",[83,529,131],{"class":93},[83,531,532],{"class":100},"'base64'",[83,534,137],{"class":93},[83,536,537],{"class":85,"line":172},[83,538,108],{"emptyLinePlaceholder":107},[83,540,541,543,545,547],{"class":85,"line":183},[83,542,148],{"class":89},[83,544,151],{"class":93},[83,546,154],{"class":127},[83,548,157],{"class":93},[83,550,551,553,555],{"class":85,"line":189},[83,552,163],{"class":93},[83,554,166],{"class":100},[83,556,169],{"class":93},[83,558,559,561,563],{"class":85,"line":200},[83,560,175],{"class":93},[83,562,178],{"class":100},[83,564,169],{"class":93},[83,566,567],{"class":85,"line":211},[83,568,186],{"class":93},[83,570,571,573,575],{"class":85,"line":222},[83,572,192],{"class":93},[83,574,195],{"class":100},[83,576,169],{"class":93},[83,578,579,581,583],{"class":85,"line":233},[83,580,203],{"class":93},[83,582,206],{"class":100},[83,584,169],{"class":93},[83,586,587,589,591],{"class":85,"line":244},[83,588,214],{"class":93},[83,590,217],{"class":100},[83,592,169],{"class":93},[83,594,595,597,599],{"class":85,"line":250},[83,596,225],{"class":93},[83,598,228],{"class":100},[83,600,169],{"class":93},[83,602,603,605,607],{"class":85,"line":256},[83,604,236],{"class":93},[83,606,239],{"class":100},[83,608,169],{"class":93},[83,610,611],{"class":85,"line":262},[83,612,247],{"class":93},[83,614,615],{"class":85,"line":273},[83,616,253],{"class":93},[83,618,619],{"class":85,"line":284},[83,620,259],{"class":93},[83,622,623,625,627],{"class":85,"line":295},[83,624,265],{"class":93},[83,626,268],{"class":100},[83,628,169],{"class":93},[83,630,631],{"class":85,"line":301},[83,632,633],{"class":93},"      content: base64Pdf,\n",[83,635,636,638,640],{"class":85,"line":307},[83,637,287],{"class":93},[83,639,290],{"class":100},[83,641,169],{"class":93},[83,643,645],{"class":85,"line":644},23,[83,646,298],{"class":93},[83,648,650],{"class":85,"line":649},24,[83,651,304],{"class":93},[83,653,655],{"class":85,"line":654},25,[83,656,310],{"class":93},[658,659,662],"callout",{"title":660,"type":661},"Grenzwerte für Anhänge","warning",[11,663,664,665,669,670,673],{},"Sie können pro E-Mail bis zu ",[666,667,668],"strong",{},"10 Dateien"," mit insgesamt maximal ",[666,671,672],{},"10 MB"," anhängen. Halten Sie Rechnungs-PDFs schlank — entfernen Sie unnötige Schriftarten und komprimieren Sie Bilder.",[15,675,677],{"id":676},"vollständiger-stripe-webhook-handler","Vollständiger Stripe-Webhook-Handler",[11,679,680,681,684],{},"Ein praxisnahes Beispiel, das auf Stripes Event ",[27,682,683],{},"invoice.payment_succeeded"," lauscht und die Zahlungsbestätigung versendet:",[73,686,688],{"className":75,"code":687,"language":78,"meta":79,"style":79},"import { Hono } from 'hono'\nimport Stripe from 'stripe'\nimport { Owlat } from '@owlat\u002Fsdk-js'\n\nconst app = new Hono()\nconst stripe = new Stripe(process.env.STRIPE_SECRET_KEY!)\nconst owlat = new Owlat(process.env.OWLAT_API_KEY!)\n\napp.post('\u002Fwebhooks\u002Fstripe', async (c) => {\n  const payload = await c.req.text()\n  const signature = c.req.header('stripe-signature')!\n\n  \u002F\u002F 1. Verify the Stripe signature\n  const event = stripe.webhooks.constructEvent(\n    payload,\n    signature,\n    process.env.STRIPE_WEBHOOK_SECRET!\n  )\n\n  if (event.type === 'invoice.payment_succeeded') {\n    const invoice = event.data.object as Stripe.Invoice\n\n    \u002F\u002F 2. Send the billing receipt\n    await owlat.transactional.send({\n      slug: 'billing-receipt',\n      email: invoice.customer_email!,\n      dataVariables: {\n        customerName: invoice.customer_name ?? 'Customer',\n        invoiceNumber: invoice.number ?? invoice.id,\n        amountPaid: `$${(invoice.amount_paid \u002F 100).toFixed(2)}`,\n        billingDate: new Date(invoice.created * 1000).toLocaleDateString('en-US', {\n          year: 'numeric',\n          month: 'long',\n          day: 'numeric',\n        }),\n        planName: invoice.lines.data[0]?.description ?? 'Subscription',\n      },\n      attachments: invoice.invoice_pdf\n        ? [\n            {\n              filename: `invoice-${invoice.number}.pdf`,\n              url: invoice.invoice_pdf,\n              contentType: 'application\u002Fpdf',\n            },\n          ]\n        : [],\n    })\n  }\n\n  return c.json({ received: true })\n})\n",[27,689,690,702,714,724,728,745,770,791,795,829,850,875,879,884,902,907,912,922,927,931,948,972,976,981,992,1001,1011,1017,1031,1042,1085,1119,1130,1141,1151,1157,1176,1182,1188,1197,1203,1224,1230,1240,1246,1252,1261,1267,1273,1278,1299],{"__ignoreMap":79},[83,691,692,694,697,699],{"class":85,"line":86},[83,693,90],{"class":89},[83,695,696],{"class":93}," { Hono } ",[83,698,97],{"class":89},[83,700,701],{"class":100}," 'hono'\n",[83,703,704,706,709,711],{"class":85,"line":104},[83,705,90],{"class":89},[83,707,708],{"class":93}," Stripe ",[83,710,97],{"class":89},[83,712,713],{"class":100}," 'stripe'\n",[83,715,716,718,720,722],{"class":85,"line":111},[83,717,90],{"class":89},[83,719,94],{"class":93},[83,721,97],{"class":89},[83,723,101],{"class":100},[83,725,726],{"class":85,"line":140},[83,727,108],{"emptyLinePlaceholder":107},[83,729,730,732,735,737,739,742],{"class":85,"line":145},[83,731,114],{"class":89},[83,733,734],{"class":117}," app",[83,736,121],{"class":89},[83,738,124],{"class":89},[83,740,741],{"class":127}," Hono",[83,743,744],{"class":93},"()\n",[83,746,747,749,752,754,756,759,762,765,768],{"class":85,"line":160},[83,748,114],{"class":89},[83,750,751],{"class":117}," stripe",[83,753,121],{"class":89},[83,755,124],{"class":89},[83,757,758],{"class":127}," Stripe",[83,760,761],{"class":93},"(process.env.",[83,763,764],{"class":117},"STRIPE_SECRET_KEY",[83,766,767],{"class":89},"!",[83,769,137],{"class":93},[83,771,772,774,776,778,780,782,784,787,789],{"class":85,"line":172},[83,773,114],{"class":89},[83,775,118],{"class":117},[83,777,121],{"class":89},[83,779,124],{"class":89},[83,781,128],{"class":127},[83,783,761],{"class":93},[83,785,786],{"class":117},"OWLAT_API_KEY",[83,788,767],{"class":89},[83,790,137],{"class":93},[83,792,793],{"class":85,"line":183},[83,794,108],{"emptyLinePlaceholder":107},[83,796,797,800,803,805,808,810,813,816,820,823,826],{"class":85,"line":189},[83,798,799],{"class":93},"app.",[83,801,802],{"class":127},"post",[83,804,131],{"class":93},[83,806,807],{"class":100},"'\u002Fwebhooks\u002Fstripe'",[83,809,34],{"class":93},[83,811,812],{"class":89},"async",[83,814,815],{"class":93}," (",[83,817,819],{"class":818},"stnAF","c",[83,821,822],{"class":93},") ",[83,824,825],{"class":89},"=>",[83,827,828],{"class":93}," {\n",[83,830,831,834,837,839,842,845,848],{"class":85,"line":200},[83,832,833],{"class":89},"  const",[83,835,836],{"class":117}," payload",[83,838,121],{"class":89},[83,840,841],{"class":89}," await",[83,843,844],{"class":93}," c.req.",[83,846,847],{"class":127},"text",[83,849,744],{"class":93},[83,851,852,854,857,859,861,864,866,869,872],{"class":85,"line":211},[83,853,833],{"class":89},[83,855,856],{"class":117}," signature",[83,858,121],{"class":89},[83,860,844],{"class":93},[83,862,863],{"class":127},"header",[83,865,131],{"class":93},[83,867,868],{"class":100},"'stripe-signature'",[83,870,871],{"class":93},")",[83,873,874],{"class":89},"!\n",[83,876,877],{"class":85,"line":222},[83,878,108],{"emptyLinePlaceholder":107},[83,880,881],{"class":85,"line":233},[83,882,883],{"class":511},"  \u002F\u002F 1. Verify the Stripe signature\n",[83,885,886,888,891,893,896,899],{"class":85,"line":244},[83,887,833],{"class":89},[83,889,890],{"class":117}," event",[83,892,121],{"class":89},[83,894,895],{"class":93}," stripe.webhooks.",[83,897,898],{"class":127},"constructEvent",[83,900,901],{"class":93},"(\n",[83,903,904],{"class":85,"line":250},[83,905,906],{"class":93},"    payload,\n",[83,908,909],{"class":85,"line":256},[83,910,911],{"class":93},"    signature,\n",[83,913,914,917,920],{"class":85,"line":262},[83,915,916],{"class":93},"    process.env.",[83,918,919],{"class":117},"STRIPE_WEBHOOK_SECRET",[83,921,874],{"class":89},[83,923,924],{"class":85,"line":273},[83,925,926],{"class":93},"  )\n",[83,928,929],{"class":85,"line":284},[83,930,108],{"emptyLinePlaceholder":107},[83,932,933,936,939,942,945],{"class":85,"line":295},[83,934,935],{"class":89},"  if",[83,937,938],{"class":93}," (event.type ",[83,940,941],{"class":89},"===",[83,943,944],{"class":100}," 'invoice.payment_succeeded'",[83,946,947],{"class":93},") {\n",[83,949,950,953,956,958,961,964,966,969],{"class":85,"line":301},[83,951,952],{"class":89},"    const",[83,954,955],{"class":117}," invoice",[83,957,121],{"class":89},[83,959,960],{"class":93}," event.data.object ",[83,962,963],{"class":89},"as",[83,965,758],{"class":323},[83,967,968],{"class":93},".",[83,970,971],{"class":323},"Invoice\n",[83,973,974],{"class":85,"line":307},[83,975,108],{"emptyLinePlaceholder":107},[83,977,978],{"class":85,"line":644},[83,979,980],{"class":511},"    \u002F\u002F 2. Send the billing receipt\n",[83,982,983,986,988,990],{"class":85,"line":649},[83,984,985],{"class":89},"    await",[83,987,151],{"class":93},[83,989,154],{"class":127},[83,991,157],{"class":93},[83,993,994,997,999],{"class":85,"line":654},[83,995,996],{"class":93},"      slug: ",[83,998,166],{"class":100},[83,1000,169],{"class":93},[83,1002,1004,1007,1009],{"class":85,"line":1003},26,[83,1005,1006],{"class":93},"      email: invoice.customer_email",[83,1008,767],{"class":89},[83,1010,169],{"class":93},[83,1012,1014],{"class":85,"line":1013},27,[83,1015,1016],{"class":93},"      dataVariables: {\n",[83,1018,1020,1023,1026,1029],{"class":85,"line":1019},28,[83,1021,1022],{"class":93},"        customerName: invoice.customer_name ",[83,1024,1025],{"class":89},"??",[83,1027,1028],{"class":100}," 'Customer'",[83,1030,169],{"class":93},[83,1032,1034,1037,1039],{"class":85,"line":1033},29,[83,1035,1036],{"class":93},"        invoiceNumber: invoice.number ",[83,1038,1025],{"class":89},[83,1040,1041],{"class":93}," invoice.id,\n",[83,1043,1045,1048,1051,1053,1056,1058,1061,1064,1067,1070,1073,1075,1078,1080,1083],{"class":85,"line":1044},30,[83,1046,1047],{"class":93},"        amountPaid: ",[83,1049,1050],{"class":100},"`$${",[83,1052,131],{"class":100},[83,1054,1055],{"class":93},"invoice",[83,1057,968],{"class":100},[83,1059,1060],{"class":93},"amount_paid",[83,1062,1063],{"class":89}," \u002F",[83,1065,1066],{"class":117}," 100",[83,1068,1069],{"class":100},").",[83,1071,1072],{"class":127},"toFixed",[83,1074,131],{"class":100},[83,1076,1077],{"class":117},"2",[83,1079,871],{"class":100},[83,1081,1082],{"class":100},"}`",[83,1084,169],{"class":93},[83,1086,1088,1091,1094,1097,1100,1103,1106,1108,1111,1113,1116],{"class":85,"line":1087},31,[83,1089,1090],{"class":93},"        billingDate: ",[83,1092,1093],{"class":89},"new",[83,1095,1096],{"class":127}," Date",[83,1098,1099],{"class":93},"(invoice.created ",[83,1101,1102],{"class":89},"*",[83,1104,1105],{"class":117}," 1000",[83,1107,1069],{"class":93},[83,1109,1110],{"class":127},"toLocaleDateString",[83,1112,131],{"class":93},[83,1114,1115],{"class":100},"'en-US'",[83,1117,1118],{"class":93},", {\n",[83,1120,1122,1125,1128],{"class":85,"line":1121},32,[83,1123,1124],{"class":93},"          year: ",[83,1126,1127],{"class":100},"'numeric'",[83,1129,169],{"class":93},[83,1131,1133,1136,1139],{"class":85,"line":1132},33,[83,1134,1135],{"class":93},"          month: ",[83,1137,1138],{"class":100},"'long'",[83,1140,169],{"class":93},[83,1142,1144,1147,1149],{"class":85,"line":1143},34,[83,1145,1146],{"class":93},"          day: ",[83,1148,1127],{"class":100},[83,1150,169],{"class":93},[83,1152,1154],{"class":85,"line":1153},35,[83,1155,1156],{"class":93},"        }),\n",[83,1158,1160,1163,1166,1169,1171,1174],{"class":85,"line":1159},36,[83,1161,1162],{"class":93},"        planName: invoice.lines.data[",[83,1164,1165],{"class":117},"0",[83,1167,1168],{"class":93},"]?.description ",[83,1170,1025],{"class":89},[83,1172,1173],{"class":100}," 'Subscription'",[83,1175,169],{"class":93},[83,1177,1179],{"class":85,"line":1178},37,[83,1180,1181],{"class":93},"      },\n",[83,1183,1185],{"class":85,"line":1184},38,[83,1186,1187],{"class":93},"      attachments: invoice.invoice_pdf\n",[83,1189,1191,1194],{"class":85,"line":1190},39,[83,1192,1193],{"class":89},"        ?",[83,1195,1196],{"class":93}," [\n",[83,1198,1200],{"class":85,"line":1199},40,[83,1201,1202],{"class":93},"            {\n",[83,1204,1206,1209,1212,1214,1216,1219,1222],{"class":85,"line":1205},41,[83,1207,1208],{"class":93},"              filename: ",[83,1210,1211],{"class":100},"`invoice-${",[83,1213,1055],{"class":93},[83,1215,968],{"class":100},[83,1217,1218],{"class":93},"number",[83,1220,1221],{"class":100},"}.pdf`",[83,1223,169],{"class":93},[83,1225,1227],{"class":85,"line":1226},42,[83,1228,1229],{"class":93},"              url: invoice.invoice_pdf,\n",[83,1231,1233,1236,1238],{"class":85,"line":1232},43,[83,1234,1235],{"class":93},"              contentType: ",[83,1237,290],{"class":100},[83,1239,169],{"class":93},[83,1241,1243],{"class":85,"line":1242},44,[83,1244,1245],{"class":93},"            },\n",[83,1247,1249],{"class":85,"line":1248},45,[83,1250,1251],{"class":93},"          ]\n",[83,1253,1255,1258],{"class":85,"line":1254},46,[83,1256,1257],{"class":89},"        :",[83,1259,1260],{"class":93}," [],\n",[83,1262,1264],{"class":85,"line":1263},47,[83,1265,1266],{"class":93},"    })\n",[83,1268,1270],{"class":85,"line":1269},48,[83,1271,1272],{"class":93},"  }\n",[83,1274,1276],{"class":85,"line":1275},49,[83,1277,108],{"emptyLinePlaceholder":107},[83,1279,1281,1284,1287,1290,1293,1296],{"class":85,"line":1280},50,[83,1282,1283],{"class":89},"  return",[83,1285,1286],{"class":93}," c.",[83,1288,1289],{"class":127},"json",[83,1291,1292],{"class":93},"({ received: ",[83,1294,1295],{"class":117},"true",[83,1297,1298],{"class":93}," })\n",[83,1300,1302],{"class":85,"line":1301},51,[83,1303,310],{"class":93},[15,1305,1307],{"id":1306},"nächste-schritte","Nächste Schritte",[20,1309,1310,1317,1324],{},[23,1311,1312,1316],{},[53,1313,1315],{"href":1314},"\u002Fapi\u002Ftransactional","Referenz zur Transactional-API"," — vollständige Dokumentation der Anhangsfelder",[23,1318,1319,1323],{},[53,1320,1322],{"href":1321},"\u002Fexamples\u002Fwebhook-handler","Webhook-Handler"," — den Zustellstatus Ihrer Rechnungs-E-Mails verfolgen",[23,1325,1326,1330],{},[53,1327,1329],{"href":1328},"\u002Fapi\u002Fsdk","TypeScript-SDK"," — Fehlerbehandlung und typisierte Antworten",[1332,1333,1334],"style",{},"html pre.shiki code .s7YZ4, html code.shiki .s7YZ4{--shiki-default:#D73A49;--shiki-dark:#F47067}html pre.shiki code .sYgZi, html code.shiki .sYgZi{--shiki-default:#24292E;--shiki-dark:#ADBAC7}html pre.shiki code .s-HuK, html code.shiki .s-HuK{--shiki-default:#032F62;--shiki-dark:#96D0FF}html pre.shiki code .sviXB, html code.shiki .sviXB{--shiki-default:#005CC5;--shiki-dark:#6CB6FF}html pre.shiki code .sPO5f, html code.shiki .sPO5f{--shiki-default:#6F42C1;--shiki-dark:#DCBDFB}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sOLd2, html code.shiki .sOLd2{--shiki-default:#6F42C1;--shiki-dark:#F69D50}html pre.shiki code .s74oq, html code.shiki .s74oq{--shiki-default:#005CC5;--shiki-dark:#F47067}html pre.shiki code .sDN9O, html code.shiki .sDN9O{--shiki-default:#6A737D;--shiki-dark:#768390}html pre.shiki code .stnAF, html code.shiki .stnAF{--shiki-default:#E36209;--shiki-dark:#F69D50}",{"title":79,"searchDepth":104,"depth":104,"links":1336},[1337,1338,1339,1340,1341],{"id":17,"depth":104,"text":18},{"id":60,"depth":104,"text":61},{"id":450,"depth":104,"text":451},{"id":676,"depth":104,"text":677},{"id":1306,"depth":104,"text":1307},"md",{},"\u002Fexamples\u002Fbilling-email",{"title":6,"description":13},"4.examples\u002F2.billing-email","rtHE2vpJUbCMOc9SPD4ALwzTBJy4remiQXZ6nnMg0BI",[1349,1353],{"title":1350,"path":1351,"stem":1352,"children":-1},"Willkommens-E-Mail","\u002Fexamples\u002Fwelcome-email","4.examples\u002F1.welcome-email",{"title":1354,"path":1355,"stem":1356,"children":-1},"Event-Automatisierung","\u002Fexamples\u002Fevent-automation","4.examples\u002F3.event-automation",1786915111659]