PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.5.0
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.5.0
1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 1.3.19 trunk All 48 releases
fluent-cart / app / Views / invoice / receipt_slip.php

receipt_slip.php in FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler 1.5.0, at app/Views/invoice/receipt_slip.php

545 lines 33.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php if ( ! defined( 'ABSPATH' ) ) exit; ?>
2 <style>
3 html {
4 background-color: rgb(248, 249, 250);
5 font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
6 }
7
8 body {
9 background-color: rgb(248, 249, 250);
10 padding-top: 40px;
11 padding-bottom: 40px;
12 font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
13 }
14
15 p {
16 font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
17 font-size: 14px;
18 margin: 0px;
19 margin-bottom: 8px;
20 line-height: 24px;
21 }
22
23 .email_footer p {
24 font-size: 12px;
25 color: rgb(127, 140, 141);
26 margin: 0px;
27 line-height: 24px;
28 margin-bottom: 8px;
29 }
30
31 hr {
32 border-color: rgb(229, 231, 235);
33 margin-bottom: 20px;
34 width: 100%;
35 border: none;
36 border-top: 1px solid #eaeaea;
37 }
38
39 .space_bottom_30 {
40 display: block;
41 width: 100%;
42 margin-bottom: 30px;
43 }
44
45 .fct-transaction-table tr:last-child td {
46 border-bottom: none !important;
47 padding-bottom: 0 !important;
48 }
49 </style>
50
51 <?php
52
53 use FluentCart\Api\StoreSettings;
54 use FluentCart\App\Models\Order;
55 use FluentCart\Framework\Support\Arr;
56 use FluentCart\App\Helpers\AddressHelper;
57 use FluentCart\App\Modules\Tax\TaxModule;
58 use FluentCart\App\Services\DateTime\DateTime;
59
60 $settings = new StoreSettings();
61
62 /**
63 * @var Order $order
64 */
65
66 $profilePage = $settings->getCustomerProfilePage();
67 $orderTaxRates = $order->getPrimaryOrderTaxRate();
68
69
70 ?>
71
72 <div style="background-color: #fff;max-width: 620px;margin-left: auto;margin-right: auto;border: 1px solid #e7eaee;padding: 10px;border-radius: 8px;">
73 <div style=" border-radius: 5px;" id="receipt">
74 <div class="fct-email-template-content email-template-content"
75 style="font-family: Arial, Helvetica, sans-serif; margin: 0 auto; padding: 0px; width: 100%;">
76
77 <div class="fct-email-template-content-inner" style="font-size: 13px;line-height: 1.4;color: #333;">
78 <div style="padding: 20px;">
79
80 <table role="presentation"
81 style="width: 100%;border-collapse: collapse;margin-bottom: 10px;border: none;">
82 <tbody style="width:100%">
83 <tr style="width:100%">
84 <td style="width:60%;border: none;">
85 <h1 style="font-size:24px;font-weight:700;color:rgb(17,24,39);margin:0px">
86 <?php
87 $imageLink = $settings->get('store_logo.url');
88 $storeName = $settings->get('store_name');
89 if (empty($imageLink)) {
90 echo esc_html($storeName);
91 } else {
92 echo "<img src=".esc_url($imageLink)." alt=".esc_attr($storeName)." style='max-height: 40px;'>";
93 }
94 ?>
95 </h1>
96
97 <!-- show tax content -->
98 <?php
99 $storeVatNumber = Arr::get($orderTaxRates->meta ?? [], 'store_vat_number', '');
100 $taxcountry = Arr::get($orderTaxRates->meta ?? [], 'tax_country', '');
101 if (!empty($storeVatNumber)): ?>
102 <span class="fct_invoice_tax_content" style="font-weight: 500; font-size: 14px;">
103 <?php echo esc_html(TaxModule::getCountryTaxTitle($taxcountry)); ?>:
104 <?php
105 if ($storeVatNumber !== '') {
106 echo esc_html($storeVatNumber);
107 }
108 ?>
109 </span>
110 <?php endif; ?>
111 </td>
112 <td style="vertical-align: middle; width: 15%; text-align: right; border: none;padding-right: 10px;">
113 <p style="white-space: nowrap; color: #94a3b8; text-align: right; margin: 0;font-size:12px;">
114 <?php echo esc_html__('Order At', 'fluent-cart'); ?>
115 </p>
116 <p style="white-space: nowrap; font-weight: bold; color: #000; text-align: right; margin: 0;font-size:14px;">
117 <?php
118 echo esc_html(
119 date_i18n(
120 /* translators: Date format for order creation date */
121 __('M d, Y', 'fluent-cart'),
122 DateTime::anyTimeToGmt($order->created_at)->getTimestamp()
123 )
124 );
125 ?>
126 </p>
127 </td>
128 <td style="width:15%;text-align:right;border:none;vertical-align:baseline;">
129 <p style="white-space: nowrap; color: #94a3b8; text-align: right; margin: 0;font-size:12px;">
130 <?php echo esc_html__('Invoice number #', 'fluent-cart'); ?>
131 </p>
132 <p id="fct-order-invoice-no"
133 style="white-space: nowrap; font-weight: bold; color: #000; text-align: right; margin: 0;font-size:14px;">
134 <?php echo esc_html($order->invoice_no); ?>
135 </p>
136 </td>
137 </tr>
138 </tbody>
139 </table>
140
141 <?php if ($order->fulfillment_type === 'physical') : ?>
142 <div style="background: #f8f9fa;padding: 15px;margin-bottom: 20px;">
143 <div style="font-size: 18px;font-weight: bold;margin-bottom: 8px;">
144 <?php echo esc_html($settings->get('store_name')); ?>
145 </div>
146 <div style="margin-bottom: 3px;">
147 <?php echo esc_html($settings->get('store_address1')); ?>
148 </div>
149
150 <div>
151 <?php echo esc_html(AddressHelper::getStateNameByCode(
152 $settings->get('store_state'),
153 $settings->get('store_country')
154 )); ?>
155 <?php echo esc_html(AddressHelper::getCountryNameByCode($settings->get('store_country'))); ?>
156 </div>
157 </div>
158 <?php endif; ?>
159
160 <div style="display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 20px;">
161 <?php if ($order->fulfillment_type === 'digital') : ?>
162 <div style="border-radius: 5px;print-color-adjust: exact;">
163 <h5 style="font-weight: bold;font-size: 14px;margin: 0 0 10px 0;color: #495057;border-bottom: 1px solid #dee2e6;padding-bottom: 5px;">
164 <?php echo esc_html($settings->get('store_name')); ?>
165 </h5>
166 <div style="margin-bottom: 3px;">
167 <?php echo esc_html($settings->get('store_address1')); ?>
168 </div>
169 <div>
170 <?php echo esc_html(AddressHelper::getStateNameByCode(
171 $settings->get('store_state'),
172 $settings->get('store_country')
173 )); ?>
174 <?php echo esc_html(AddressHelper::getCountryNameByCode($settings->get('store_country'))); ?>
175 </div>
176 </div>
177 <?php endif; ?>
178 <div style="border-radius: 5px;print-color-adjust: exact;">
179 <h5 style="font-weight: bold;font-size: 14px;margin: 0 0 10px 0;color: #495057;border-bottom: 1px solid #dee2e6;padding-bottom: 5px;">
180 <?php echo esc_html__('Bill To', 'fluent-cart'); ?>
181 </h5>
182 <?php if (!empty($order->billing_address)) : ?>
183
184 <div style="margin-bottom: 3px;">
185 <?php echo esc_html($order->billing_address->getAddressAsText()); ?>
186 </div>
187 <div style="margin-top: 10px;">
188 <?php echo esc_html($order->customer->email); ?>
189 </div>
190 <?php
191 $phoneNumber = Arr::get($order->billing_address->meta ?? [], 'other_data.phone', '');
192 if ($phoneNumber !== ''):
193 ?>
194 <div style="margin-top: 3px;">
195 <?php echo esc_html($phoneNumber); ?>
196 </div>
197 <?php endif; ?>
198 <div>
199 <?php
200 $companyName = Arr::get($order->billing_address->meta ?? [], 'other_data.company_name', '');
201 if ($companyName == '') {
202 $companyName = $order->getCustomerTaxName();
203 }
204 echo esc_html($companyName);
205 ?>
206 </div>
207 <div style="margin-top: 5px;">
208 <?php
209 $vatNumber = $order->getCustomerTaxNumber();
210
211 if ($vatNumber !== '') {
212 $vatLabel = __('VAT/Tax ID', 'fluent-cart');
213 echo esc_html($vatLabel) . ': ' . esc_html($vatNumber);
214 }
215 ?>
216 </div>
217 <?php
218 $reverseChargeDeclaration = Arr::get($order->getBusinessInfo(), 'reverse_charge_declaration', '');
219 if ($reverseChargeDeclaration !== ''):
220 ?>
221 <div style="margin-top: 5px;">
222 <strong><?php echo esc_html__('Reverse Charge Declaration', 'fluent-cart'); ?>:</strong>
223 <?php echo esc_html($reverseChargeDeclaration); ?>
224 </div>
225 <?php endif; ?>
226
227 <?php else: ?>
228 <div style="margin-top: 10px;">
229 <?php echo esc_html($order->customer->full_name); ?>
230 </div>
231 <div style="margin-top: 3px;">
232 <?php echo esc_html($order->customer->email); ?>
233 </div>
234 <?php endif; ?>
235 </div>
236 <?php if ($order->fulfillment_type === 'physical') : ?>
237 <div style="border-radius: 5px;print-color-adjust: exact;">
238 <h5 style="font-weight: bold;font-size: 14px;margin: 0 0 10px 0;color: #495057;border-bottom: 1px solid #dee2e6;padding-bottom: 5px;">
239 <?php echo esc_html__('Ship To', 'fluent-cart'); ?>
240 </h5>
241 <?php if (!empty($order->shipping_address)) : ?>
242 <div style="margin-bottom: 3px;">
243 <?php echo esc_html($order->shipping_address->getAddressAsText()); ?>
244 </div>
245 <?php
246 $phone = Arr::get($order->shipping_address->meta ?? [], 'other_data.phone', '');
247 if ($phone !== ''):
248 ?>
249 <div style="margin-top: 3px;">
250 <?php echo esc_html($phone); ?>
251 </div>
252 <?php endif; ?>
253 <?php else: ?>
254 <div style="margin-top: 10px;">
255 <?php echo esc_html($order->customer->full_name); ?>
256 </div>
257 <div style="margin-top: 3px;">
258 <?php echo esc_html($order->customer->email); ?>
259 </div>
260 <?php endif; ?>
261 </div>
262 <?php endif; ?>
263 </div>
264
265 <?php if ($order->order_items) : ?>
266 <table style="margin-top: 20px;margin-bottom: 10px;width: 100%;text-align: left;border-spacing: 0;border-collapse: collapse;border: none;">
267 <thead>
268 <tr>
269 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold;print-color-adjust: exact;border: none;">
270 <?php echo esc_html__('Description', 'fluent-cart'); ?>
271 </th>
272 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold;width: 80px;text-align: right;print-color-adjust: exact;border: none;">
273 <?php echo esc_html__('Qty', 'fluent-cart'); ?>
274 </th>
275 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold;width: 80px;text-align: right;print-color-adjust: exact;border: none;">
276 <?php echo esc_html__('Unit price', 'fluent-cart'); ?>
277 </th>
278 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold;width: 80px;text-align: right;print-color-adjust: exact;border: none;">
279 <?php echo esc_html__('Amount', 'fluent-cart'); ?>
280 </th>
281 </tr>
282 </thead>
283 <tbody>
284 <?php
285 $orderItems = $order->getProductItems()->toArray();
286 $transaction = $order->getLatestTransaction();
287
288 foreach ($orderItems as $item) :
289 ?>
290 <tr>
291 <td style="font-size:15px;padding: 12px 8px;border: none;border-bottom: 1px solid #dee2e6;print-color-adjust: exact;">
292 <?php echo esc_html($item['post_title']); ?>
293 <br>
294 <?php if (!empty($item['title'])) : ?>
295 <small style="font-size: 13px;color: #758195;">- <?php echo esc_html($item['title']); ?></small>
296 <br>
297 <?php endif; ?>
298 <?php if (!empty($item['payment_info'])) : ?>
299 <small style="font-size: 13px;color: #758195;"><?php echo esc_html($item['payment_info']); ?></small>
300 <?php endif; ?>
301 </td>
302 <td style="padding: 12px 8px;border: none;border-bottom: 1px solid #dee2e6;text-align: right;">
303 <?php echo esc_html($item['quantity']); ?>
304 </td>
305 <td style="padding: 12px 8px;border: none;border-bottom: 1px solid #dee2e6;text-align: right">
306 <?php echo esc_html(\FluentCart\Api\CurrencySettings::getFormattedPrice($item['unit_price'])); ?>
307 </td>
308 <td style="padding: 12px 8px;border: none;border-bottom: 1px solid #dee2e6;text-align: right">
309 <?php echo esc_html($item['formatted_total']); ?>
310 </td>
311 </tr>
312 <?php endforeach; ?>
313 </tbody>
314 </table>
315
316 <div style="margin-top: 20px;">
317 <table style="max-width: 250px;width: 100%;margin-left: auto;border-collapse: collapse;background: #f8f9fa;print-color-adjust: exact;border: none;">
318 <tbody>
319 <?php
320 if ($order->subtotal != ($order->total_amount - $order->total_refund) || $order->tax_total > 0): ?>
321 <tr>
322 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
323 <?php echo esc_html__('Subtotal', 'fluent-cart'); ?>
324 </td>
325 <td style="font-weight:700;padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
326 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->subtotal));
327 ?>
328 </td>
329 </tr>
330 <?php endif; ?>
331 <?php
332 $prorateCredit = (int) \FluentCart\Framework\Support\Arr::get($order->config, 'prorate_credit', 0);
333 $upgradeDiscount = $order->manual_discount_total - $prorateCredit;
334 // When the prorate credit IS the whole discount, label the row directly
335 // instead of showing "Discount" with a single redundant breakdown row.
336 $onlyProrateCredit = $prorateCredit > 0 && $upgradeDiscount <= 0 && $order->coupon_discount_total <= 0;
337 ?>
338 <?php if ($order->manual_discount_total + $order->coupon_discount_total > 0): ?>
339 <tr>
340 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
341 <?php echo $onlyProrateCredit ? esc_html__('Prorate Credit', 'fluent-cart') : esc_html__('Discount', 'fluent-cart'); ?>
342 </td>
343 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
344 - <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->manual_discount_total + $order->coupon_discount_total)); ?>
345 </td>
346 </tr>
347 <?php if ($prorateCredit > 0 && $upgradeDiscount > 0): ?>
348 <tr>
349 <td style="padding: 2px 20px 2px 20px;text-align: right;border: none;font-size:12px;color:rgb(107,114,128);">
350 <?php echo esc_html__('Upgrade Discount', 'fluent-cart'); ?>
351 </td>
352 <td style="padding: 2px 8px 2px 0;width: 100px;text-align: right;border: none;font-size:12px;color:rgb(107,114,128);">
353 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($upgradeDiscount)); ?>
354 </td>
355 </tr>
356 <?php endif; ?>
357 <?php if ($prorateCredit > 0 && !$onlyProrateCredit): ?>
358 <tr>
359 <td style="padding: 2px 20px 2px 20px;text-align: right;border: none;font-size:12px;color:rgb(107,114,128);">
360 <?php echo esc_html__('Prorate Credit', 'fluent-cart'); ?>
361 </td>
362 <td style="padding: 2px 8px 2px 0;width: 100px;text-align: right;border: none;font-size:12px;color:rgb(107,114,128);">
363 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($prorateCredit)); ?>
364 </td>
365 </tr>
366 <?php endif; ?>
367 <?php endif; ?>
368 <?php if ($order->shipping_total > 0): ?>
369 <tr>
370 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
371 <?php echo esc_html__('Shipping', 'fluent-cart'); ?>
372 </td>
373 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
374 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->shipping_total)); ?>
375 </td>
376 </tr>
377 <?php endif; ?>
378 <?php
379 $feeItems = $order->feeItems()->get();
380 foreach ($feeItems as $feeItem): ?>
381 <tr>
382 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
383 <?php echo esc_html($feeItem->title); ?>
384 </td>
385 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
386 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($feeItem->subtotal)); ?>
387 </td>
388 </tr>
389 <?php endforeach; ?>
390 <?php if ($order->isReverseChargeTaxOrder()): ?>
391 <?php
392 $rcReversedTotal = $order->getReversedTaxTotal();
393 $rcChargeLabel = $rcReversedTotal > 0
394 ? sprintf(
395 /* translators: %1$s: formatted reversed tax amount */
396 __('Tax reversed: %1$s', 'fluent-cart'),
397 \FluentCart\App\Helpers\Helper::toDecimal($rcReversedTotal)
398 )
399 : __('Charge reversed', 'fluent-cart');
400 ?>
401 <tr>
402 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
403 <?php echo esc_html__('Tax', 'fluent-cart'); ?>
404 </td>
405 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
406 <?php echo esc_html($rcChargeLabel); ?>
407 </td>
408 </tr>
409 <?php elseif ($order->tax_total > 0): ?>
410 <tr>
411 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
412 <?php echo esc_html__('Tax', 'fluent-cart');
413 echo esc_html(\FluentCart\App\Helpers\Helper::getOrderTaxLabel($order));
414 ?>
415 </td>
416 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
417 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->tax_total)); ?>
418 </td>
419 </tr>
420 <?php endif; ?>
421 <?php if ($order->shipping_tax > 0): ?>
422 <tr>
423 <td style="padding: 8px 20px 8px 0;text-align: right;border: none;">
424 <?php echo esc_html__('Shipping Tax', 'fluent-cart');
425 echo esc_html(\FluentCart\App\Helpers\Helper::getOrderTaxLabel($order));
426 ?>
427 </td>
428 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border: none;">
429 <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->shipping_tax)); ?>
430 </td>
431 </tr>
432 <?php endif; ?>
433
434 <?php if ($order->total_refund > 0): ?>
435 <tr style="font-weight: bold;font-size: 14px;">
436 <td style="font-weight:500;padding: 8px 20px 8px 0;text-align: right;border:none;">
437 <?php echo esc_html__('Refund', 'fluent-cart'); ?>
438 </td>
439 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border:none;">
440 - <?php echo esc_html(\FluentCart\App\Helpers\Helper::toDecimal($order->total_refund)); ?>
441 </td>
442 </tr>
443 <?php endif; ?>
444 <tr style="font-weight: bold;font-size: 14px;">
445 <td style="font-weight:500;padding: 8px 20px 8px 0;text-align: right;border:none;">
446 <?php echo esc_html__('Total', 'fluent-cart'); ?>
447 </td>
448 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border:none;">
449 <?php echo esc_html(\FluentCart\Api\CurrencySettings::getFormattedPrice($order->total_amount - $order->total_refund)); ?>
450 </td>
451 </tr>
452 <tr style="font-weight: bold;font-size: 14px;">
453 <td style="font-weight:500;padding: 8px 20px 8px 0;text-align: right;border:none;">
454 <?php echo esc_html__('Amount Paid', 'fluent-cart'); ?>
455 </td>
456 <td style="padding: 8px 8px 8px 0;width: 100px;text-align: right;border:none;">
457 <?php echo esc_html(\FluentCart\Api\CurrencySettings::getFormattedPrice($order->total_paid - $order->total_refund)); ?>
458 </td>
459 </tr>
460 </tbody>
461 </table>
462 </div>
463 <?php endif; ?>
464
465 <!-- tax note -->
466 <?php
467 if($order->isReverseChargeTaxOrder()): ?>
468
469 <div style="text-align: right; font-size: 14px; margin-top: 10px;">
470 <?php echo '*' . esc_html__('Tax to be paid on reverse charge basis', 'fluent-cart'); ?>
471 </div>
472
473 <?php endif ?>
474
475 <?php
476 $transactions = $order->transactions;
477 if (!empty($transactions)) :
478 ?>
479 <div style="margin-top: 30px;">
480 <div style="font-weight: bold;font-size: 14px;color: #495057;margin: 0;padding: 0;">
481 <?php echo esc_html__('Payment history', 'fluent-cart'); ?>
482 </div>
483 <table class="fct-transaction-table"
484 style="margin-top: 10px;width: 100%;text-align: left;border-spacing: 0;border-collapse: collapse;border: none;">
485 <thead>
486 <tr>
487 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold;print-color-adjust: exact;border:none;">
488 <?php echo esc_html__('Payment method', 'fluent-cart'); ?>
489 </th>
490 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold; text-align: center;print-color-adjust: exact;border:none;">
491 <?php echo esc_html__('Date', 'fluent-cart'); ?>
492 </th>
493 <th style="background-color: #f8f9fa;padding: 12px 8px;font-weight: bold; text-align: right;print-color-adjust: exact;border:none;">
494 <?php echo esc_html__('Amount', 'fluent-cart'); ?>
495 </th>
496 </tr>
497 </thead>
498 <tbody>
499 <?php foreach ($transactions as $transaction) :
500 if ($transaction->transaction_type === 'refund') {
501 continue;
502 }
503 ?>
504 <tr>
505 <td style="padding: 10px;border:none;border-bottom: 1px solid #dee2e6;">
506 <?php echo esc_html($transaction->getPaymentMethodText()); ?>
507 </td>
508 <td style="padding: 10px;border:none;border-bottom: 1px solid #dee2e6;text-align: center;">
509 <?php
510 echo esc_html(
511 date_i18n(
512 /* translators: Date format for order creation date */
513 __('M d, Y', 'fluent-cart'),
514 DateTime::anyTimeToGmt($transaction->created_at)->getTimestamp()
515 )
516 );
517 ?>
518 </td>
519 <td style="padding: 10px;border:none;border-bottom: 1px solid #dee2e6;text-align: right;">
520 <?php echo esc_html(\FluentCart\Api\CurrencySettings::getFormattedPrice($transaction->total)); ?>
521 </td>
522 </tr>
523 <?php endforeach; ?>
524 </tbody>
525 </table>
526 </div>
527 <?php endif; ?>
528
529 </div>
530 </div>
531 </div>
532 <?php
533 // include(__DIR__ . '/../emails/components/cta.php')
534 ?>
535 </div>
536 </div>
537
538
539 <?php if ($is_first_time) {
540 do_action('fluent_cart/order/receipt_viewed', [
541 'order' => $order,
542 'order_operation' => $order_operation
543 ]);
544 } ?>
545