Sandbox: Simulated Bank

El "banco" de Shinkansen para tu proceso de integración

¿Qué es?

SimulatedBank es el "banco" de Shinkansen que puedes usar para integrar nuestros diferentes productos. Los bancos reales no suelen tener un ambiente de pruebas en el cual puedas simular una transacción, por ello hemos creado nuestro banco ficticio, llamado Simulated Bank. Aquí puedes tener una cuenta y enviar payouts, generar notificaciones de payins, probar casos de error, y otras acciones más. El propósito de SimulatedBank es que tengas un acercamiento lo más real posible a un ambiente de producción.

Para poder operar con SimulatedBank:

  1. Visita https://simulatedbank.shinkansen.tech/ y regístrate. Te recomendamos usar una cuenta Google de tu empresa en el login.

  2. Visita la sección de Organizaciones en https://simulatedbank.shinkansen.tech/app/orgs y crea una nueva organización que representará a tu empresa en el banco ficticio. Es súper importante que pongas el id de Shinkansen asignado a tu empresa (el mismo que envías en el campo header.sender.fin_id de tus mensajes)

    📜

    Tip: Lo ideal es que pongas también el certificado público correcto

    ...pero si no lo tienes a mano puedes superar la validación escribiendo algo muuuuy largo 😅

  3. Luego vas a la página de la organización y encontrarás que tienes cuentas bancarias falsas para distintos países. Escoge la que corresponda al país donde estás haciendo pruebas. También puedes crearte cuentas a tu preferencia; verás los diferentes tipos de cuentas y divisas disponibles según el país que selecciones.

  4. Ahí te aparecerán los datos que deberás usar en el entorno de prueba en el campo debtor de tus transacciones de payout. Cuando uses esos datos como cuenta de origen y uses el endpoint dev.shinkansen.finance, nuestro switch enviará la solicitud al Simulated Bank. El id de SimulatedBank dentro del esquema Shinkansen es SIMULATED_BANK, esto es lo que deberías poner en el campo financial_institution.fin_id si lo necesitas (recordando que para México es suficiente con la cuenta clabe, y en algunos casos en Perú si usas cuentas cci).

Probar Payouts

Para hacer pruebas primero ingresas a una cuenta y presionas el botón que te permite depositar dinero. Ingresa un monto razonable que te permita hacer algunas pruebas (a menos que quieras partir probando el error de falta de fondos 😉).

Luego tienes los siguientes casos:

  • Transferir a un destinatario (creditor) en el banco con id SIMULATED_BANK. En ese caso:
    • Te saldrá error de cuenta inexistente si usas una cuenta que no ha sido creada en el banco simulado o es una cuenta para simular un caso de error
    • Funcionará ok si usas una cuenta correcta (si vas a tu dashboard personal, encontrarás un número de cuenta falso a título personal que puedes usar como cuenta de destino en una prueba exitosa)
  • Transferir a un destinatario (creditor) en cualquier otro banco. Acá funcionará todo, excepto cuando el destino (creditor) sea cualquiera de los números de cuenta para simular un caso de error
  • Nota que cualquier otro escenario será reportado como exitoso.

🇲🇽

🇵🇪 Para pruebas de pagos en MXN o PEN no se indica el identificador del banco

En México usamos la CLABE como número de cuenta para transferir. Este número ya incluye el identificador del banco en sus primeros tres dígitos. Y en Perú usamos el tipo de cuenta CCI que también contiene el identificador del banco en sus tres primeros digitos (vaya coincidencia 😮).

En el ambiente dev, asumimos que cualquier cuenta que comience con 999 es una cuenta de Simulated Bank.

Por lo tanto, cualquier transferencia en el ambiente de pruebas a una cuenta CLABE o CCI que no comience con "999" será reportada exitosa.


Cuentas para simular casos de error

Número de cuentaTipo de CuentaError que recibirás
99900current_account, cash_account, savings_accounterror
999000000000000000clabeerror
99901current_account, cash_account, savings_accounterror_creditor_account_not_found
999010000000000000clabeerror_creditor_account_not_found
99902current_account, cash_account, savings_accounterror_creditor_account_detail_mismatch
999020000000000000clabeerror_creditor_account_detail_mismatch
99903current_account, cash_account, savings_accounterror_creditor_account_over_limits
999030000000000000clabeerror_creditor_account_over_limits
99904current_account, cash_account, savings_accounterror_creditor_fi_offline
999040000000000000clabeerror_creditor_fi_offline
99905current_account, cash_account, savings_accounterror_payment_rail_offline
999050000000000000clabeerror_payment_rail_offline
99906current_account, cash_account, savings_accounterror_debtor_account_over_limits
999060000000000000clabeerror_debtor_account_over_limits
99907current_account, cash_account, savings_accounterror_debtor_insufficient_funds
999070000000000000clabeerror_debtor_insufficient_funds
99942current_account, cash_account, savings_accountNo habrá respuesta del banco. Usado por Shinkansen para protocolos de timeout, pero puedes usarlo también en caso que desarrolles alertas después de X tiempo sin tener una respuesta del banco.
999420000000000000clabeNo habrá respuesta del banco. Usado por Shinkansen para protocolos de timeout, pero puedes usarlo también en caso que desarrolles alertas después de X tiempo sin tener una respuesta del banco.

Probar Payins Notifications (Y Reversas 😬)

Para probar notificationes de payins (abonos a tu cuenta) es tan simple como ingresar a tu organización dentro de SimulatedBank, seleccionar una cuenta, selecionar el botón para depositar dinero, y dentro del formulario para depositar te aparecerá la opción de generar una notificación, si la seleccionas se mandará una notificación de payin al webhook que hayas configurado en tu dashboard en el modo test.

El caso de las reversas de payins es aún más sencillo. Una vez depositado una cantidad a tu cuenta ficticia, esta se agregará a tu lista de movimientos, y al lado de tu depositó aparecerá un botón Reverse, si lo presionas este te generará una notificación de payin_reversal, y a su vez descontará el monto revertido en tu cuenta ficticia. Si quieres saber más sobre esto de las reversas 🇨🇱 te super recomiendo leer este post de nuestro CEO en el que habla sobre esto mismo 😁.

Probar Validator


El entorno dev de Validator te permite probar los 3 posibles return_code que puede devolver el validador:

Número de cuentaTipo de CuentaResultado que recibirás
99900current_account, cash_account, savings_accountunable_to_validate
999000000000000000clabeunable_to_validate
99901current_account, cash_account, savings_accountinvalid_account_details
999010000000000000clabeinvalid_account_details
Cuenta creada en https://simulatedbank.shinkansen.techTipo de cuenta indicado por SimulatedBankvalid_account_details

😬

Simulated Bank solo verifica el número de cuenta

Por ahora Simulated Bank NO verifica que los datos de identidad coincidan con la cuenta. Por ende cualquier cuenta existente en Simulated Bank generará validaciones exitosas. Y por eso para probar validaciones fallidas debes usar lo indicado más arriba.

Probar Payins (Interactivos)

Para probar payins interactivos, solo debes usar la cuenta creada para tu organización en SimulatedBank para rellenar los datos correspondientes al creditor. Una vez enviada la petición a Shinkansen, recibirás en la respuesta una URL (interactive_payment_url) que te dirigirá a SimulatedBank, donde podrás ver el estado de la transacción. Si todo es correcto, debería mostrarse un ✅ indicando que el abono fue exitoso y verías en la lista de movimientos de tu cuenta el monto correspondiente. Además, recibirás la respuesta con el estado ok de la transacción en el webhook que configuraste en tu dashboard. Si la transacción no es exitosa, la URL mostrará un estado pending permanente y recibirás la respuesta en tu webhook con estado error, indicando el motivo del mismo.