Нет автоматического перенаправления с paypal / rest-api-sdk-php - PullRequest
1 голос
/ 02 июля 2019

Реализация PayPal в моем приложении Laravel 5.8

Глядя на фрагмент кода: https://developer.paypal.com/docs/archive/checkout/integrate/?mark=get%20the%20code#set-up-your-development-environment

Я не вижу, который возвращает правильный формат?

здесь https://developer.paypal.com/docs/integration/direct/payments/paypal-payments/#create-paypal-payment Я обнаружил, что нужно использовать redirect_urls, поэтому мое определение кнопки:

                    <script>
                        paypal.Button.render({
                            // Configure environment
                            env: 'sandbox',
                            client: {
                                sandbox: 'CLIENTID',
                                production: 'demo_production_client_id'
                            },
                            // Customize button (optional)
                            locale: 'en_US',
                            style: {
                                size: 'small',
                                color: 'blue',
                                shape: 'pill',
                            },

                            commit: true,

                            payment: function(data, actions) {
                                return actions.payment.create({

                                    "note_to_payer": "Contact us for any questions on your order.",

                                    "intent": "sale",
                                    "payer": {
                                        "payment_method": "paypal"
                                    },

                                    redirect_urls : { //redirect_urls
                                        return_url : 'https://www.votes.nilov-sergey-demo-apps.tk/paypal_payment',
                                        cancel_url : 'https://www.votes.nilov-sergey-demo-apps.tk/paypal_payment_cancel'
                                    },

                                    transactions: [{
                                        amount: {
                                            total: '0.01',
                                            currency: 'USD'
                                        }
                                    }]
                                });
                            },
                            // Execute the payment
                            onAuthorize: function(data, actions) {
                                console.log("onAuthorize data::")
                                console.log( data )

                                console.log("onAuthorize actions::")
                                console.log( actions )

                                return actions.payment.execute().then(function() {
                                    // Show a confirmation message to the buyer

                                    window.alert('Thank you for your purchase! 0');
                                });
                            }
                        }, '#paypal-button');

                    </script>

Я вижу предупреждение в методе actions.payment.execute, но автоматического возврата по URL, указанному в return_url, как я и ожидал, не происходит.
Я загрузил свой сайт в прямом эфире на https://www.votes.nilov -sergey-demo-apps.tk под LAMP, Ubuntu 18, Digital Ocean. Почему нет автоматического перенаправления?

$ php artisan --version
Laravel Framework 5.8.24

In composer.json:
"paypal/rest-api-sdk-php": "*",

ИЗМЕНЕНО: Я переделал способ, когда платежная переменная создала и вернула:

                            payment: function(data, actions) {
                                var payment = actions.payment.create({

                                    "note_to_payer": "Contact us for any questions on your order.",

                                    "intent": "sale",
                                    "payer": {
                                        "payment_method": "paypal"
                                    },

                                    redirect_urls : { //redirect_urls
                                        return_url : 'https://www.votes.nilov-sergey-demo-apps.tk/paypal_payment',
                                        cancel_url : 'https://www.votes.nilov-sergey-demo-apps.tk/paypal_payment_cancel'
                                    },

                                    transactions: [{
                                        amount: {
                                            total: '0.01',
                                            currency: 'USD'
                                        }
                                    }]
                                });

                                console.log("payment payment::")
                                console.log(payment);
                                // alert( "::"+var_dump(-88) )
                                return payment;

                            },

и отмеченные предупреждения:

Firefox can’t establish a connection to the server at wss://www.votes.nilov-sergey-demo-apps.tk/app/123?protocol=7&client=js&version=4.3.1&flash=false. app.js:1767:16
The connection to wss://www.votes.nilov-sergey-demo-apps.tk/app/123?protocol=7&client=js&version=4.3.1&flash=false was interrupted while the page was loading.

экран печати с выводом на консоль платежа и сообщениями об ошибках выглядит следующим образом: https://imgur.com/a/znKtMGw

Что вызвало эти ошибки?

...