Итак, я пытаюсь создать для кого-то сайт электронной коммерции и поэтому настроил кнопку 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);
Но он просто возвращается как неопределенный.