Как отправить данные в таблицу БД «Заказ» после успешного оформления заказаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как отправить данные в таблицу БД «Заказ» после успешного оформления заказа

Сообщение Anonymous »

Итак, я впервые работаю со Stripe, и я хочу сделать так, чтобы после оформления заказа он отправлял купленные товары в мою базу данных, которая содержит таблицу продуктов (содержащую продукты меню) и таблицу заказов. который содержит столбцы, показанные на рисунке.
Здесь, когда пользователь нажимает кнопку оформления заказа, он отправляет запрос на публикацию на мой внутренний сервер (код ниже)

Код: Выделить всё

 checkoutBtn.addEventListener('click', () => {
let itemsToBuy = []
const itemRows = document.querySelectorAll('.item-row')
itemRows.forEach(row => {
let obj = {
id: row.getAttribute('item-id'),
quantity: row.children[3].firstElementChild.value
}
itemsToBuy.push(obj)
})
fetch('http://localhost:8080/src/public/backend/myserver.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify(itemsToBuy)
}).then(res => res.json())
.then(data => {
stripe = Stripe('pk_test')
stripe.redirectToCheckout({ sessionId: data.id })
})
})
Это myserver.php, который управляет серверной частью

Код: Выделить всё

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$itemList = json_decode(trim(file_get_contents('php://input')));
$total = 0;
foreach ($itemList as $item) {
$id = $conn->real_escape_string(($item->id));
$quantity = $conn->real_escape_string(($item->quantity));

$result = $conn->query('select price from products where id =' . $id . ';');
if ($result->num_rows) {
$row = $result->fetch_assoc();
$total += $row['price'];
} else {
echo json_encode(['status' => 'no such product found']);
exit();
}
}

$stripe = new Stripe\StripeClient('sk_test');
$session = $stripe->checkout->sessions->create([
'success_url' => 'http://localhost:8080/src/public//html/success.html?sessionId={CHECKOUT_SESSION_ID}',
'cancel_url' => 'http://localhost:8080/src/public/html/cart.html?status=failure',
'payment_method_types' => ['card'],
'mode' => 'payment',
'line_items' => [
[
'quantity' => 1,
'price_data' => [
'currency' => 'gbp',
'unit_amount' => $total,
'product_data' => [
'name' => 'Serve2U',
'description' => 'Your Invoice for Serve2U'
]
]
]
]
]);

echo json_encode(['id' => $session->id]);

}
После того, как пользователь успешно осуществил оплату, я хочу, чтобы он перенаправлял его на страницу, содержащую форму с полями ввода «Имя клиента», «Место» и «Название стадиона», и после того, как он отправит их дополнительно. подробности, он отправляет идентификатор купленных продуктов вместе с количеством + имя, место и стадион (поскольку я пытаюсь создать панель управления для персонала, на которой будет отображаться вся информация).
Несколько удачно. на данный момент камень преткновения и не знаю точно, куда идти дальше.

Подробнее здесь: https://stackoverflow.com/questions/783 ... l-checkout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»