Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

367
Vistas
Las capturas de Paypal dan un error 400 cuando se usan caracteres que no son ingleses en la dirección de envío

El usuario puede realizar pagos a mi sitio con paypal. Todo está bien hasta que el usuario envía a la solicitud de PayPal un carácter no inglés.

Entonces, tengo un botón de paypal con una dirección para que el cliente complete. Cuando el cliente rellena caracteres no ingleses enviándolo a

aplicación.post('/paypal',

Allí la solicitud va a esta solicitud de publicación.

https://${config.hostname}/v2/checkout/orders

haciéndolo dar al try catch and error de 400.

Error: la solicitud falló con el código de estado 400

La dirección es solo información que el usuario debe completar, pero si la envía con ö or ä , el usuario verá en la ventana emergente de PayPal solo cargando. Entonces no puedo pagar.

La dirección de envío con caracteres no ingleses llega a mi backend y arroja un error, por lo que la ventana emergente de PayPal sigue cargándose para siempre.

¿Debo usar algún idioma para que la dirección acepte letras que no sean en inglés? EX DE .

¿Cómo puedo hacer que la orden CAPTURE acepte otros caracteres? La solución actual que tengo es una expresión regular que reemplaza los caracteres que no están en inglés con los ingleses.

Los datos del código de solicitud con la información de envío de paypal CAPTURE:

 // if something is non-english character, then this will post to paypal: /v2/checkout/orders` and give 400 error const customerOrder = { intent: "CAPTURE" , purchase_units: [{ amount: { "value": totalAmount.toFixed(2), "currency_code": "EUR" } , shipping: { name: { full_name: `${data.address.firstName || 'not set'} ${data.address.lastName || ''}` } , address: { address_line_1: data.address.street || 'not set' , admin_area_2 : data.address.city || 'not set' // , admin_area_1 : "" , postal_code : data.address.zipCode || 'not set' , country_code : data.address. , phone: data.phone || '1234567' } } }] , application_context: { locale: "de-DE" , return_url: `http://localhost:${PORT}/sucess/` , cancel_url: `http://localhost:${PORT}/cancel/` } };

Gracias. ¿Qué más debo llenar aquí? Parte de la respuesta de error es:

 data: { name: 'INVALID_REQUEST', message: 'Request is not well-formed, syntactically incorrect, or violates schema.', debug_id: '22dde7fbb568e', details: [Array], links: [Array] }
 response: { status: 400, statusText: 'Bad Request', headers: {

NOTA: funciona cuando reemplazo con expresiones regulares los caracteres usados. EX

 word.replace(/ä/g, 'ae');

pero es imposible cubrir todos los casos.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda