Задать вопрос
@Andrew-Marty00shenko

Не всегда приходит хэш транзакции после оплаты web3 metamask?

есть метод, через который человек оплачивает, так скажем услугу.
суть проблемы в том, что человек оплачивает, потом должен прийти хэш, который я должен отправить на бэкенд, чтобы учетная запись человека, к примеру, активировалась.

const register = (contract, price) =>
contract.methods
._register(Number(settings.ref_id || 0))
.send({ value: window.web3.utils.toWei(String(price)) })
.on("transactionHash", (hash) => {
sendTx(hash, settings.id, token).then((res) => {
toast(JSON.stringify(t("toast:SUCCESS")), { type: "info" });
setBuyLoading(false);
});
})
.on("error", (err) => {
setBuyLoading(false);
toast(err.message, { type: "error" });
});

после ".send" проходит оплата, и иногда не приходит тот самый хэш.

вот здесь отправляется хэш, который я должен получить после отплаты человека, и отправить на бэкенд

export const sendTx = async (transactionHash, userId, token) => {
console.log(transactionHash, userId);
try {
const response = await fetch(`https://api.smart-profit.info/save-tx`, {
method: "POST",
body: JSON.stringify({ user_id: userId, tx_hash: transactionHash }),
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
});
const data = await response.json();
return data;
} catch {
sendTx(transactionHash, userId, token);
}
};
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы