Я новичок в Flask. Я знаю, как отправить данные из формы в flask, но когда я пытаюсь отправить данные о продукте из кассы. js с помощью PayPal, в приложение flask ничего не отправляется. Я пробовал много способов, и я искал слишком много. Мой код ниже. Заранее спасибо!
Это код Html
<div class="pricingTable-sign-up">
<input type="hidden" id="price" name="price" value=110.00/>
<button type="submit"><div id="paypal-button"></div></button>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
</div>
Это код Javascript, который отправляет информацию о транзакции flask.
<script>
var CREATE_PAYMENT_URL = 'https://127.0.0.1:5000/payment';
var EXECUTE_PAYMENT_URL = 'https://127.0.0.1:5000/execute';
paypal.Button.render({
env: 'sandbox', // Or 'sandbox'
commit: true, // Show a 'Pay Now' button
payment: function() {
return paypal.request.post(CREATE_PAYMENT_URL).then(function(data) {
return data.paymentID;
});
},
onAuthorize: function(data) {
return paypal.request.post(EXECUTE_PAYMENT_URL, {
paymentID: data.paymentID,
payerID: data.payerID
}).then(function(res) {
console.log(res.success)
// The payment is complete!
// You can now show a confirmation message to the customer
});
}
}, '#paypal-button');
</script>
Вот код python. Когда я нажимаю кнопку flask, я не получаю никакого значения от HTML, поэтому, возможно, есть другой способ, которого я не знаю
@app.route('/payment', methods=["GET", "POST"])
def payment():
price = request.form.get('price')
print("###############################", price)
payment = paypalrestsdk.Payment({
"intent": "sale",
"payer": {
"payment_method": "paypal"},
"redirect_urls": {
"return_url": "http://localhost:3000/payment/execute",
"cancel_url": "http://localhost:3000/"},
"transactions": [{
"item_list": {
"items": [{
"name": "testitem",
"sku": "12345",
"price": price,
"currency": "USD",
"quantity": 1}]},
"amount": {
"total": price,
"currency": "USD"},
"description": "This is the payment transaction description."}]})
if payment.create():
print('Payment success!')
else:
print(payment.error)
return jsonify({'paymentID' : payment.id})