Вам необходимо вернуть обещание, которое разрешается, когда вся асинхронная работа завершена. В данный момент функция ничего не возвращает, а это означает, что она немедленно прекратит работу, а вызов PayPal будет отключен. Оператор return внутри функции обратного вызова не возвращает обещание функции верхнего уровня.
Что вам нужно будет сделать, это " promisify " вызов PayPal, поскольку они в настоящее времяне поддерживать обещания (если вы не хотите использовать их бета-версию 2.0).
Если вы обещаете, это будет выглядеть примерно так, что вы, вероятно, захотите изменить в зависимости от того, что вы действительно хотите сделать сответ от PayPal:
const p = new Promise((resolve, reject)) => {
paypal.order.get(orderId, function (error, order) {
if (error) {
console.log(error);
reject(error);
} else {
console.log("Get Order Response",JSON.stringify(order));
resolve(order);
}
}
})
return p.then(order => {
var userObject = {
displayName : 'BarryAllen',
email : 'FMA@Speedster.com',
};
return admin.firestore().doc('paid/docnametest').set(userObject).then
})