Поэтому я пытаюсь отправить заказ, для которого пользователь ввел свою кредитную карту.
Для этого я вызываю метод order
, который выполняет API-вызов Stripe (createSource
) для создания источника оплаты. Затем я отправляю параметры заказа в свой бэкэнд Rails, используя axios, в котором отправляю идентификатор только что созданного источника (source.id
).
async order() {
let {source} = await this.props.stripe.createSource({type: 'card', currency: 'eur', owner: {email: this.props.currentUserEmail}});
axios.post("/orders", {sourceId: source.id,
mealId: this.props.mealId,
price: this.state.mealPrice,
selectedPickupTime: this.state.selectedPickupTime
})
}
Проблема в том, что я думаю, что источник еще не создан, когда axios отправляет запрос на публикацию бэкэнду, так как я получаю следующую ошибку:
Unhandled Rejection (TypeError): Cannot read property 'id' of undefined
для source.id
Как мне это изменить и дождаться создания источника, прежде чем axios отправит запрос на публикацию?