Invalid request. Please check all given information

Hola,

Estoy utilizando la extensión de Magento 2 y al momento en que se envía el charge solo retorna el error del título. Existe algún problema con el sandbox? Hay algo que estoy omitiendo?

Este es el cuerpo del request que se está generando.

{
	"exp_month": 10,
	"exp_year": 2023,
	"credit_card_number": 4111111111111111,
	"credit_card_security_code_number": 123,
	"currency": "USD",
	"entity_description": " #000000023",
	"description": " #000000023",
	"amount": 15
}

@Manuel_Arias no hay problemas con sandbox en este momento. Aunque el plugin Magento2 no fue creado directamente por 4Geeks, sino por la comunidad, por favor publica aqui el POST completo (endpoint, headers, etc)? Oculta datos sensibles por favor.

Trataste de enviar la solicitud mediante Postman?

@alpocr sí, en postman obtengo el mismo resultado. Así luce el request

POST /v1/charges/simple/create/ HTTP/1.1
Host: api.payments.4geeks.io
Content-Transfer-Encoding: application/json
Authorization: Bearer {{access_token}}
Content-Type: application/json
Content-Length: 230

{
	"exp_month": 10,
	"exp_year": 2022,
	"credit_card_number": 4111111111111111,
	"credit_card_security_code_number": 123,
	"currency": "USD",
	"entity_description": "#000000030",
	"description": " #000000030",
	"amount": "30.00"
}

Acabo de probar yo enviando tu body, y me funcionó perfecto. Lo único que envié distinto fue amount en forma de número y no texto (sin comillas).

"amount": 30.00

Cambialo, intenta nuevamente y avísame aqui el resultado.

Hice el ajuste como lo mencionas y el resultado es el mismo:
Request:

POST /v1/charges/simple/create/ HTTP/1.1
Host: api.payments.4geeks.io
Content-Transfer-Encoding: application/json
Authorization: Bearer YMqxqQtiAWa4ZSz2AYlXcCsdCQzNE4
Content-Type: application/json
Content-Length: 228

{
	"exp_month": 10,
	"exp_year": 2022,
	"credit_card_number": 4111111111111111,
	"credit_card_security_code_number": 123,
	"currency": "usd",
	"entity_description": "#000000030",
	"description": " #000000030",
	"amount": 30.00
}

Resultado:

{
    "detail": "Invalid request. Please check all given information",
    "error": {
        "en": "Invalid request. Please check all given information",
        "es": "Invalid request. Please check all given information"
    }
}

Volví a probar, y funcionó bien. Y como publicaste tu token, entonces lo usé para enviar un request, y funcionó. Deberías ver la transacción en la Consola. Pero usé mi body, y no el tuyo porque me dio el error invalid request.

Este body fue el que envié:

{
  "amount": 10.32,
  "description": "testing deploy paydate",
  "entity_description": "Plan 1",
  "currency": "usd",
  "credit_card_number": 4242424242424242,
  "credit_card_security_code_number": 123,
  "exp_month": 11,
  "exp_year": 2022
}

Respuesta:

{
    "charge_id": "3K7QqCA8K6ieu1OJ0dFqWILy",
    "customer": null,
    "charge_by_customer": false,
    "charge_log": {
        "status": "succeeded",
        "description": "testing deploy paydate",
        "entity_description": "Plan 1",
        "currency": "usd",
        "amount": 10.32,
        "card": {
            "last4": "4242",
            "exp_year": 2022,
            "exp_month": 11,
            "brand": "Visa",
            "cvc": "pass",
            "country": "US"
        }
    },
    "created_on": "2021-12-16T20:46:17.388843-06:00",
    "created_on_pretty": "2021-12-16 20:46:17 ",
    "created_on_date": "2021-12-16",
    "test": true,
    "amount_usd": "10.32",
    "dollar_exchange": "0.00",
    "refund": false
}

Al parecer el problema está en que los campos de entity_description no acepta únicamente números a pesar de que se envía como string, agregué una letra y ya funciona perfecto.

Gracias por la ayuda.

1 Like