Получение деталей заказа из PayPal API JavaScript для сохранения в базе данных - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь сохранить данные о моем клиенте в базе данных. Как я могу получить другую информацию о клиенте, например адрес доставки?

Я использую следующее, чтобы получить имя и идентификатор заказа транзакции

return actionsenter code here.order.capture().then(function(details) {
>                     var order_id = details.id;
>                     var name = details.payer.name.given_name +" "+details.payer.name.surname; }

Но когда я пытаюсь получить адрес на основе шаблона json, чтобы получить другие детали, которые он возвращает undefined.

var name = details.purchase_units.shipping.address.address_line_1;

https://developer.paypal.com/docs/api/orders/v2/#definitions

1 Ответ

2 голосов
/ 06 августа 2020

Не используйте JavaScript для захвата, а затем ретранслируйте детали, чтобы сохранить их в базе данных.

Вместо этого используйте интеграцию на стороне сервера. Вот код пользовательского интерфейса: https://developer.paypal.com/demo/checkout/# / pattern / server

На стороне сервера вам понадобятся два соответствующих маршрута: один для «Настроить транзакцию», а второй - для «Захват транзакции», задокументировано здесь: https://developer.paypal.com/docs/checkout/reference/server-integration/

Таким образом, вы не будете отправлять захваченные данные на сервер, потому что захват будет происходить с сервера - и на сервере будет немедленный ответ API со всеми подробностями.

Ваш конкретный вопрос о том, что что-то не определено, просто означает, что вам нужно улучшить поиск и устранение неисправностей console.log(details) или аналогичного, чтобы узнать точное местоположение того, что вы ищете. Наверное, это что-то тривиальное, вроде необходимости purchase_units[0]

...