商品支付 用html,css,js和java写出来
时间: 2024-03-08 14:20:33 浏览: 121
由于涉及到支付功能,我们需要使用一些安全性更高的技术来实现,例如使用SSL证书加密通信、使用第三方支付平台等。因此,以下代码只是一个简单的模拟支付页面,仅供参考。
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>商品支付页面</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>商品支付页面</h1>
<form id="payment-form" method="post">
<div class="form-row">
<label for="card-element">
信用卡号码
</label>
<div id="card-element">
<!-- 信用卡输入框将由Stripe.js动态生成 -->
</div>
<!-- 用于显示错误信息 -->
<div id="card-errors" role="alert"></div>
</div>
<button type="submit">支付</button>
</form>
</div>
<!-- 引入Stripe.js -->
<script src="https://js.stripe.com/v3/"></script>
<script src="app.js"></script>
</body>
</html>
```
CSS代码:
```
.container {
max-width: 600px;
margin: 0 auto;
padding: 50px;
text-align: center;
}
h1 {
font-size: 32px;
margin-bottom: 30px;
}
.form-row {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 10px;
}
#card-element {
border: 1px solid #ccc;
padding: 10px;
}
```
JS代码(使用Stripe.js实现信用卡支付):
```
// 设置Stripe API密钥
var stripe = Stripe('sk_test_XXXXXXXXXXXXXXXXXXXXXXXX');
// 获取信用卡输入框
var elements = stripe.elements();
var cardElement = elements.create('card');
cardElement.mount('#card-element');
// 当信用卡输入框发生变化时,显示错误信息
cardElement.on('change', function(event) {
var displayError = document.getElementById('card-errors');
if (event.error) {
displayError.textContent = event.error.message;
} else {
displayError.textContent = '';
}
});
// 当提交表单时,调用Stripe API进行支付
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
// 禁用支付按钮,防止重复提交
form.querySelector('button').disabled = true;
// 创建一个Stripe支付令牌
stripe.createToken(cardElement).then(function(result) {
if (result.error) {
// 显示错误信息
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
// 启用支付按钮
form.querySelector('button').disabled = false;
} else {
// 向服务器发送支付请求
fetch('/pay', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({token: result.token.id})
}).then(function(response) {
// 处理服务器返回的支付结果
if (response.ok) {
alert('支付成功!');
} else {
alert('支付失败,请重试!');
}
});
}
});
});
```
阅读全文