Я хочу использовать Paypal на своем веб-сайте, поэтому я следую учебному пособию здесь . Пока все работает: скачал SDK с composer. Создан класс PayPalClient
и CreateOrder
.
. В конце этого раздела урока результат CreateOrder
необходимо связать с кнопками, используя javascript:
<script>
paypal.Buttons({
createOrder: function() {
return fetch('test_paypal_create_paypal_transaction.php', {
method: 'post',
headers: {
'content-type': 'application/json'
}
}).then(function(res) {
return res.json();
}).then(function(data) {
return data.orderID;
});
},
onApprove: function(data, actions) {
// This function captures the funds from the transaction.
return actions.order.capture().then(function(details) {
// This function shows a transaction success message to your buyer.
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container');
//This function displays Smart Payment Buttons on your web page.
</script>
И это файл php (test_paypal_create_paypal_transaction.php
):
require __DIR__ . '/../../vendor/autoload.php';
use MyProject\PayPay\CreateOrder;
$response = CreateOrder::createOrder(false);
echo json_encode($response);
Класс CreateOrder
работает правильно. Я могу поставить ответ от PayPal. Вопрос, похоже, не там. Я также вижу в Firefox -Dev-Tools, что XHR-запрос выполняется правильно, когда я нажимаю кнопку Paypal. Существует также ответ XHR, возвращающийся к кнопкам. Но, похоже, я использую неправильный формат или неправильную часть данных, которые возвращаются в fetch()
-функцию.
Кто-нибудь задумался?
Спасибо за помощь !!!
Тим