El artículo es de poca utilidad para los países de la CEI, pero puede que le guste

Últimamente he estado trabajando mucho con la API de varios bancos. Hay una razón para esto: una nueva directiva llamada PSD2 (Directiva revisada de servicios de pago). Te contaré sobre ella.
Entrada
Todo comenzó con compañías como PayPal. Usted se registra en el sitio web de PayPal, a su vez recoge su tarjeta de crédito, retira dinero de ella cuando es necesario, acumula deducibles en sus cuentas y luego, en el día señalado, envía la enésima cantidad de dinero a la cuenta de la tienda en línea. Por lo tanto, su tarjeta de crédito permanece segura, la tienda en línea ahorra dinero, lo que significa que usted ahorra dinero. Parece que todos son buenos.
Por otro lado, surge una pregunta lógica: ¿la tienda está perdiendo clientes que no tienen una tarjeta de crédito o no quieren tener una para compras individuales en Internet?
Y aquí entran en escena compañías más pequeñas, que no ponen en servicio su tarjeta de crédito, sino su cuenta bancaria. Ni siquiera eso, su banca en línea! Ahora no necesita ninguna tarjeta de crédito, no necesita PayPal, ni siquiera necesita realizar transferencias. Simplemente ingrese su nombre de usuario y contraseña en el sitio web de la tienda, y el intermediario hará el resto por usted.
Ingresa datos en el formulario en el sitio web de la tienda en línea, el intermediario ingresa simultáneamente los mismos datos en el formulario del banco en línea y luego, con la ayuda del mismo Selenium, hace clic aquí y allá en su banco en línea, haciendo así una transferencia a donde sea necesario. Más precisamente, a sus expensas, desde donde también envía todos los fondos a las cuentas de las tiendas una vez cada dos semanas.
Por supuesto, con cualquier cambio en la página del banco en línea, todo esto deja de funcionar inmediatamente, lo que molesta a las personas. Pero los bancos rara vez cambian algo, por lo que esto rara vez sucede.
Otra cosa es que a algunos bancos no les gusta realmente ese agujero de seguridad, por lo que intentan bloquear a dichos intermediarios. Se puede argumentar con éxito y exactamente cómo lo hacen durante mucho tiempo, pero el artículo continuará.
En general, a solicitud de los trabajadores y los trabajadores de estos sistemas de pago intermedios, el Consejo de Europa avanzó y emitió una directiva que obliga a los bancos a crear una API que permita las mismas cosas que se hicieron con el banco en línea antes, pero ahora solo con la ayuda de las solicitudes. Los bancos, por supuesto, estaban muy molestos, e incluso sin estos reguladores, tienen suficientes reglas que seguir, pero no hay nada que hacer: necesitan ser creados.
Naturalmente, los bancos tampoco son de una tímida docena y sabotean esta ley de diferentes maneras, porque no obtienen ningún beneficio de ella. Sí, hay algunas excepciones cuando todo funciona inmediatamente como debería y la documentación está en su lugar, pero en la mayoría de los casos es solo una masacre de una motosierra de Texas, no solo una motosierra y no en Texas, sino correos electrónicos, llamadas y maldiciones frente a la pantalla de su monitor en la oficina.
Sabotean magistralmente. Algunos simplemente no traducen su documentación. Es decir, es, por así decirlo, pero no lo es, por así decirlo, porque Google no ayudará a traducir 90 páginas de español técnico por alguna razón. Los españoles generalmente viven en su propio vacío y no reconocen que hay otro tipo de idioma internacional además del español. Muchos más presentan la documentación en forma de un archivo
YAML en el que no hay un solo comentario, lo que no está claro a dónde enviar, los nombres de los campos no tienen ningún estándar, y no entenderá qué firmar con qué certificado o no firmar nada.
La parte superior del sabotaje es la página de documentación, donde solo se indican los puntos finales de la API, pero en principio no hay encabezado o cuerpo con una descripción. Ni siquiera se indica una solicitud POST o GET. Por supuesto, el departamento legal persigue a esos tipos, diciendo que las quejas a la autoridad de supervisión pueden no implicar una multa, pero en el futuro puede llevar a una atención excesiva a este banco. En la mayoría de los casos, esto ayuda, pero el tiempo pasa.
Sabía sobre los bancos de basura, ahora puedes escribir sobre la ley misma.
¿Qué es el PSD2?
Esta es una directiva emitida por la Comisión Europea para mejorar el mercado de pagos en línea, así como aumentar la seguridad de estos pagos.
De hecho, todavía había un PSD, pero simplemente regulaba los pagos entre estados de la UE, sin regular los pagos en línea. Aunque cuáles son los pagos en línea en 2007m entonces.
Tomaron la mencionada PSD como base y le asignaron una docena de capítulos con el hermoso nombre de "banca abierta" (open banking). Estos diez capítulos se convirtieron en un dolor de cabeza para los bancos y una alegría para los sistemas de pago (en teoría, de hecho, los bancos también causaron dolor de cabeza a los pagadores, para no sufrir).
PSD2 también regula la seguridad del cliente, indicando cómo y de qué manera se deben transmitir las solicitudes, qué certificados usar y qué se puede solicitar al banco y qué no. Es decir, para el pago puede solicitar un nombre y apellido, así como una lista de cuentas de usuario, pero no obtendrá nada más, incluso si pide mucho.
Ahora debe solicitar un token al banco, registrarse como organización, que puede y debe realizar cualquier acción en nombre del cliente, además debe tener una clave secreta, etc., etc. En general, la seguridad ha crecido significativamente. Bueno, la responsabilidad de ambas partes también.
Pero aquí, los bancos son libres de agregar sus propias capas de seguridad. Por ejemplo, los bancos le permiten ingresar datos de clientes solo en las páginas del banco. Es decir, en cualquier caso, tendrá que redirigir al usuario a la página del banco y luego devolvérselo (está bien, Selenium también puede ayudarlo, pero ahora los bancos pueden enviarle saludos ardientes y negarle el acceso a su API si algo está mal).
Bien, ahora sobre lo obvio, y no tan, ventajas
Como dije anteriormente, la seguridad ha crecido significativamente. Ahora, los sistemas de pago no inventan bicicletas y no interactúan con las API multicolores de los bancos, sino que se conectan a API más o menos estandarizadas, por lo que todo está bien con la seguridad.
Ahora, si es un sistema de pago, por ejemplo, en Estonia, puede utilizar la API de los bancos europeos para aceptar pagos de clientes europeos. Y para esto solo necesita registrarse como institución financiera, leer alrededor de un centenar de documentos e implementar todo esto en su sistema. Sin embargo, la mayor parte de la documentación estará en inglés, además, tendrá un soporte más o menos distinto del banco.
Y también, si usted es un banco fuera de la UE, puede unirse a esta banca abierta y sus clientes podrán pagar con sistemas de pago europeos.
Bueno, aquí también puede escribir más que si no es una empresa tan grande como para romper los precios de las transferencias y compartir parte con los bancos, ahora puede hacer libremente lo mismo que una gran empresa, porque tiene derecho a acceder a los pagos. ahora todos tienen igual.
Ahora sobre los contras
Hay una directiva, pero la API en su versión de trabajo no lo es. La situación es bastante común incluso ahora, un año después de que los bancos comenzaron a trabajar en la implementación (y, bueno, sí, deberían haber comenzado a trabajar ...).
Las API no están completamente unificadas, al igual que el proceso de pago. Es decir, no puede crear algo universal para todos los bancos, debe ajustar la funcionalidad para las solicitudes de cada banco por separado, lo que ralentiza enormemente el desarrollo.
Incluso el mismo banco puede tener diferentes API en diferentes países. Porque cada país tiene sus propios organismos reguladores que agregan algún tipo de "regulación" al proceso. Allí necesita tokens adicionales, allí necesita autorizar al usuario tres veces, hay algo más ...
Bueno, ahora su negocio del sistema de pago depende completamente del banco, cuyos servidores pueden fallar repentinamente, y mientras toda la máquina burocrática se ejecuta y los inicia nuevamente, puede tomar un día o dos, lo que privará sus ingresos decentes. En este caso, no puede presentar algo al banco.
Eso es todo