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!