Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为PayPal Express签出配置IPN?_Javascript_Php_Paypal - Fatal编程技术网

Javascript 如何为PayPal Express签出配置IPN?

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 Express结账,我使用PayPal的官方客户端示例


//渲染贝宝按钮
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>