Javascript 如何为PayPal Express签出配置IPN?
我想使用PayPal Express结账,我使用PayPal的官方客户端示例Javascript 如何为PayPal Express签出配置IPN?,javascript,php,paypal,Javascript,Php,Paypal,我想使用PayPal Express结账,我使用PayPal的官方客户端示例 //渲染贝宝按钮 paypal.Button.render({ x //设置您的环境 env:'沙盒',//沙盒|生产 //PayPal客户端ID-替换为您自己的 //创建PayPal应用程序:https://developer.paypal.com/developer/applications/create 客户:{ 沙盒:“AZDXJDSCFPQTJWTOUTHKBYN_bDt4OgqaF4eYXlewfBP4
//渲染贝宝按钮
paypal.Button.render({
x
//设置您的环境
env:'沙盒',//沙盒|生产
//PayPal客户端ID-替换为您自己的
//创建PayPal应用程序:https://developer.paypal.com/developer/applications/create
客户:{
沙盒:“AZDXJDSCFPQTJWTOUTHKBYN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R”,
生产:''
},
//设置为“立即付款”
承诺:对,
//等待贝宝按钮被点击
支付:职能(行动){
//对RESTAPI进行客户端调用以创建付款
返回操作.payment.create({
交易:[
{
金额:{总额:'0.01',币种:'USD'}
}
]
});
},
//等待客户授权付款
onAuthorize:函数(数据、操作){
//执行付款
返回actions.payment.execute().then(function()){
window.alert('Payment Complete!');
});
}
}“#贝宝按钮容器”);
我的问题是,我如何通过notifiy_url获得付款确认和客户数据
我认为onAuthorize函数是不够的。
如果有人能澄清,我将不胜感激
谢谢你的帮助 使用您需要使用的REST API,而不是IPN。IPN用于经典API。快速签出不会触发IPN吗?经典API上的快速签出会触发IPN。REST API上的快速签出将触发Webhook。因此,使用javascript实现的快速签出不会触发IPN?我发现我可以创建一个配置了IPN的沙箱商户帐户。我可以确认,JS express签出仍会发生IPN。Webhook是可选的(phew)。
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<div id="paypal-button-container"></div>
<script>
// Render the PayPal button
paypal.Button.render({
x
// Set your environment
env: 'sandbox', // sandbox | production
// PayPal Client IDs - replace with your own
// Create a PayPal app: https://developer.paypal.com/developer/applications/create
client: {
sandbox: 'AZDxjDScFpQtjWTOUtWKbyN_bDt4OgqaF4eYXlewfBP4-8aqX3PiV8e1GWU6liB2CUXlkA59kJXE7M6R',
production: '<insert production client id>'
},
// Set to 'Pay Now'
commit: true,
// Wait for the PayPal button to be clicked
payment: function(actions) {
// Make a client-side call to the REST api to create the payment
return actions.payment.create({
transactions: [
{
amount: { total: '0.01', currency: 'USD' }
}
]
});
},
// Wait for the payment to be authorized by the customer
onAuthorize: function(data, actions) {
// Execute the payment
return actions.payment.execute().then(function() {
window.alert('Payment Complete!');
});
}
}, '#paypal-button-container');
</script>