Я уже выполнил настройку на стороне сервера для Paypal Payments. Я получаю цену продукта из формы Html, а затем создаю платеж с помощью модуля paypalrestsdk . Важный кусок кода из всей системы находится здесь: -
payment = paypalrestsdk.Payment({
"intent": "sale",
# Set payment method
"payer": {
"payment_method": "paypal"
},
# Set redirect URLs
"redirect_urls": {
"return_url": url_for('after_payment_done_2_sol', hash_id=hash_id, user_id=current_user.user_id, _external=True),
"cancel_url": url_for('topup', _external=True)
},
# Set transaction object
"transactions": [{
"amount": {
"total": query.total_price,
"currency": "USD"
},
"description": f"Payment Method for paying {query.total_price} for Top Up"
}]
})
if payment.create():
print('Payment "{}" created successfully'.format(payment.id))
for link in payment.links:
if link.method == "REDIRECT":
redirect_url = str(link.href)
print('Redirect for approval: {}'.format(redirect_url))
return redirect(redirect_url)
Таким образом, будет создана ссылка на «Pay X Amount через Paypal». Но я хочу интегрировать умные кнопки, как здесь https://developer.paypal.com/demo/checkout/# / pattern / server . Теперь здесь есть кодовые блоки вроде:
<script>
// Render the PayPal button into #paypal-button-container
paypal.Buttons({
// How Does this work?????????????????????
// Set up the transaction
createOrder: function(data, actions) {
return fetch('/demo/checkout/api/paypal/order/create/', {
method: 'post'
}).then(function(res) {
return res.json();
}).then(function(data) {
return data.orderID;
});
},
// ???????????????????????????????????????? How does this Work?????
// Finalize the transaction
onApprove: function(data, actions) {
return fetch('/demo/checkout/api/paypal/order/' + data.orderID + '/capture/', {
method: 'post'
}).then(function(res) {
return res.json();
}).then(function(details) {
// Show a success message to the buyer
alert('Transaction completed by ' + details.payer.name.given_name + '!');
});
}
}).render('#paypal-button-container');
</script>
Так что здесь , как работает onAprrove и createOrder? И как мне настроить маршрут в flask? Любая помощь Пожалуйста!