如何获得贝宝智能支付按钮响应Flask



我正在尝试在我的Flask项目中设置Paypal支付。我正在从贝宝复制智能支付按钮代码并粘贴在我的模板中。支付过程工作购买响应详细信息在javascript中。我如何才能将响应返回到我的Flask应用程序,以便确认付款?

这在我的模板中:

<div id="paypal-button-container"></div>
<script src="https://www.paypal.com/sdk/js?client-id=fake&currency=USD" data-sdk-integration-source="button-factory"></script>
<script>
paypal.Buttons({
style: {
shape: 'pill',
color: 'gold',
layout: 'vertical',
label: 'paypal',

},
//method: 'POST',
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: '10'
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
// Show a success message to the buyer
// window.write('Transaction completed by ' + details.payer.name.given_name + '!');
console.log("success");
return details;
})
}
}).render('#paypal-button-container');
</script>

应用程序代码:

@app.route('/upgrade/<username>', methods=['GET','POST'])
@login_required
def upgrade(username):
user = User.query.filter_by(username=username).first()
result = request.get_json()
flash(result)
return render_template('upgrade.html', user=user)  

flash消息返回空dict。

Flask是一个服务器框架,因此您应该使用以下前端UI:https://developer.paypal.com/demo/checkout/#/pattern/server

将其与服务器上的两个相应路由进行比较,一个用于"设置事务",另一个用于"捕获事务",记录如下:https://developer.paypal.com/docs/checkout/reference/server-integration/

您可以在这些调用中使用Checkout Python SDK。

最新更新