Получить адрес доставки из детали заказа PayPal в JavaScript - PullRequest
0 голосов
/ 22 марта 2019

Итак, я пытаюсь создать для кого-то сайт электронной коммерции и поэтому настроил кнопку PayPal для приема платежей. Я прошу клиента заплатить цену, а затем отправляю данные раскрывающегося списка / переключателя в php, чтобы отправить себе (через php-рассылку) детали заказа (например, цвет / размер одежды, а также идентификатор заказа для его идентификации). ). Но я обнаружил, что было бы намного проще и автоматически получить адрес доставки покупателя и отправить его по электронной почте вместе с другими деталями. Сейчас я нашел только способ получить идентификатор заказа и имя покупателя, но мне действительно нужен адрес.

onApprove: function (data, actions) {
                                return actions.order.capture().then(function (details) {
                                    var BlackCheckbox = document.getElementById("black");
                                    // Getting the color by checking if the checkbox `black` is checked or not
                                    var color = (BlackCheckbox.checked === true) ? 'Black' :
                                        'White';
                                    // Finding the size by seeing which size the user has selected from the dropdown.
                                    var size = $('span.size').text();

                                    var item = 'Script Windbreaker';

                                    var name = details.payer.name.given_name;

                                    var address = details.payer.address.street_address;
                                    alert('The address is ' + address);

                                    $.post('Payment_Validation.php', {
                                        postitem: item,
                                        postname: name,
                                        postcolor: color,
                                        postsize: size,
                                        postid: data.orderID
                                    }, function () {});

                                    return fetch('/paypal-transaction-complete', {
                                        method: 'post',
                                        body: JSON.stringify({
                                            orderID: data.orderID,
                                        })
                                    });
                                });
                            },

А вот и php:

<?php

$item = $_POST['postitem'];
$name = $_POST['postname'];
$color = $_POST['postcolor'];
$size = $_POST['postsize'];
$id = $_POST['postid'];

$to='taha.rhidouani@gmail.com';
$subject= 'Payment information for order '.$id;
$message="Item: ".$item."\n"."Color: ".$color."\n"."Name of buyer: ".$name."\n"."Size: ".$size."\n"."Purchase ID: ".$id."\n\n"."Check full payment details: https://www.paypal.com/mep/dashboard";

mail($to, $subject, $message);

?>

Я пытаюсь получить адрес:

var address = details.payer.address.street_address;

И тестирование с помощью:

alert('The address is ' + address);

Но он просто возвращается как неопределенный.

...