Не используйте 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]