Отправьте счет по электронной почте при регистрации и подтвердите адрес электронной почты при регистрации
Во время оформления заказа отправьте счет по электронной почте пользователю.
Для этого электронная почта пользователя должна быть подтвержденным, когда пользователь зарегистрируется.
Я хочу добавить адрес электронной почты при оформлении заказа, чтобы он отправлял счет-фактуру после успешного завершения проверки.
index. js (оформление заказа)
app.post('/b/checkout', authAndRedirectSignIn, async (req, res) => {
if (!req.session.cart) {
res.setHeader('Cache-Control', 'private');
return res.send('Shopping Cart is Empty!')
}
// data format to store in firebase
// collection: orders
// {uid, timestamp, cart}
// cart = [{product, qty} ....] // contents in shoppingcart
const data = {
uid: req.decodedIdToken.uid,
//timestamp: firebase.firestore.Timestamp.fromDate(new Date()),
cart: req.session.cart
}
try {
await adminUtil.checkOut(data)
req.session.cart = null;
res.setHeader('Cache-Control', 'private');
return res.render('shoppingcart.ejs',
{message: 'Checked Out Successfully!', cart: new ShoppingCart(), user: req.decodedIdToken, cartCount: 0})
} catch (e) {
const cart = ShoppingCart.deserialize(req.session.cart)
res.setHeader('Cache-Control', 'private');
return res.render('shoppingcart.ejs',
{message: 'Checked Out Failed. Try Again Later!', cart, user: req.decodedIdToken, cartCount: cart.contents.length}
)
}
})
index. js (регистрация)
app.get('/b/signup', (req, res) => {
res.render('signup.ejs', {page: 'signup', user: null, error: false, cartCount: 0})
})
регистрация.e js
<form class="form-signin" action="/admin/signup" method="post">
<% if (error) { %>
<p style="color: red;"><%= error %></p>
<% } %>
<h3>Create an account</h3>
<input type="email" class="form-control" name="email" placeholder ="Email address">
<input type="password" class="form-control" name="password" placeholder = "Password">
<input type="text" class="form-control" name="displayName" placeholder ="Display Name">
<input type="tel" class="form-control" name="phoneNumber" placeholder ="+1-222-333-4444">
<input type="text" class="form-control" name="photoURL" placeholder ="Profile Image URL">
<button type="submit" class="btn btn-primary">Create</button>
</form>
shoppingcart.e js оформить заказ
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Image</th>
<th scope="col">Name</th>
<th scope="col">Price</th>
<th scope="col">Qty</th>
<th scope="col">Sub-Total</th>
<th scope="col">Summary</th>
</tr>
</thead>
<tbody>
<% for (let i = 0; i < cart.contents.length; i++) { %>
<tr>
<th scope="row"><img width=50 height=50 src="<%= cart.contents[i].product.image_url%>"></th>
<td><%= cart.contents[i].product.name %></td>
<td><%= cart.contents[i].product.price.toFixed(2) %></td>
<td><%= cart.contents[i].qty %></td>
<td><%= (cart.contents[i].qty * cart.contents[i].product.price).toFixed(2) %></td>
<td><%= cart.contents[i].product.summary %></td>
</tr>
<% } %>
</tbody>
</table>
<h2>TOTAL: <%= cart.getTotal().toFixed(2) %></h2>
<% if (cart.contents.length > 0) { %>
<div>
<form action="/b/checkout" method="post">
<button type="submit" class="btn btn-primary">Check Out</button>
</form>
</div>
<% } %>