Timeout at https://api.mercadopago.com/v1/payments #351
-
Tenho um lambda com api gateway que cria os pagamentos Handler const { https } = require("./src/config/https");
const { PaymentService } = require("./src/services/payment.service");
exports.handler = async (event) => {
try {
if (!event.body) throw new Error("missing request body");
const requestBody = JSON.parse(event.body);
console.log("request Body:", JSON.stringify(requestBody));
if (!requestBody.idempotencyKey || !requestBody.formData) throw new Error("missing required fields: idempotencyKey or formData");
const paymentService = new PaymentService(requestBody.idempotencyKey);
const response = await paymentService.create(requestBody.formData);
const payment = {
id: response.id,
status: response.status,
paymentMethod: response.payment_method_id,
};
return {
statusCode: https.status.HTTP_200_OK,
headers: https.headers,
body: JSON.stringify(payment),
};
} catch (error) {
console.error("error processing payment", error);
return {
statusCode: https.status.HTTP_500_INTERNAL_SERVER_ERROR,
headers: https.headers,
body: JSON.stringify({ message: error.message }),
};
}
}; Payment Service const { MercadoPagoConfig, Payment } = require("mercadopago");
const { accessToken, notificationUrl } = require("../config/enviroment");
console.log({ accessToken, notificationUrl });
exports.PaymentService = class PaymentService {
constructor(idempotencyKey) {
this.client = new MercadoPagoConfig({
accessToken,
options: {
timeout: 10000, // 10 seconds
idempotencyKey,
},
});
this.payment = new Payment(this.client);
this.notificationUrl = notificationUrl;
}
async create(payload) {
payload.notification_url = this.notificationUrl;
const response = await this.payment.create({ body: payload });
return response;
}
}; Mando pro lambda os params do onSubmit do componente Payment do "@mercadopago/sdk-react", unica diferença é que eu envio o id idempotencyKey {
"paymentType": "bank_transfer",
"selectedPaymentMethod": "bank_transfer",
"formData": {
"payment_method_id": "pix",
"transaction_amount": 100,
"payer": {
"email": "<EMAIL AQUI>"
}
},
"idempotencyKey": "<IDEMPOTENCYKEY AQUI>"
} O Error Caution ERROR FetchError: network timeout at: https://api.mercadopago.com/v1/payments Note mercadopago "^2.0.15" |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Oi, @Tiagoors Pedimos desculpas pela demora e pelo inconveniente no seu fluxo de trabalho Mesmo sendo aberto, este espaço não pretende ser uma ferramenta de suporte a erros inesperados da plataforma e suas integrações. Temos um canal oficial super preparado para solucionar rapidamente o seu caso. Muito obrigado pelo seu contato! |
Beta Was this translation helpful? Give feedback.
Oi, @Tiagoors
Pedimos desculpas pela demora e pelo inconveniente no seu fluxo de trabalho
Mesmo sendo aberto, este espaço não pretende ser uma ferramenta de suporte a erros inesperados da plataforma e suas integrações.
Temos um canal oficial super preparado para solucionar rapidamente o seu caso.
Por isso, se o erro ainda persiste, compile toda a informação e acesse o link a seguir para compartilhar conosco o problema: https://www.mercadopago.com/developers/pt/support/center/contact
Muito obrigado pelo seu contato!