Como acreditar al beneficiario
credit
del banco destino y envía la acción principal (main action
) en estado COMPLETED
como payload.
El endpoint credit
funciona de manera muy similar al endpoint debit
, pero contempla un escenario adicional que debe ser manejado correctamente:
COMPLETED
→ caso exitoso, se debe acreditar al destino de la acción principal.REJECTED
→ caso de reversa, se debe acreditar al origen de la acción principal para devolver los fondos a la cuenta de origen en caso de errores durante el procesamiento.Transfiya llama al banco destino para procesar la operación de abono.
credit
con todos los datos necesarios para iniciar el abono de fondos.El banco destino crea una acción de tipo `DOWNLOAD` en Transfiya.
PENDING
.mainAction
en los valores hace referencia a los datos de la acción principal que se recibe desde Transfiya. En otras palabras, representa el cuerpo de una llamada POST https://ban.co/transfiya/credit
.bankSigner
representa el firmante de liquidación que es registrado por el banco durante su incorporación con Transfiya. Este firmante mantiene el balance total disponible para el banco dentro del sistema.Field name | Descripción |
---|---|
source | mainAction.snapshot.target.signer.handle — Usuario destino de la transferencia (cliente del banco). |
target | bankSigner.handle — Firmante de liquidación del banco destino. |
symbol | mainAction.symbol — Moneda de la transferencia. |
amount | mainAction.amount — Monto de la transferencia. |
labels.type | DOWNLOAD — Siempre debe ser DOWNLOAD en operaciones de crédito. |
labels.tx_ref | mainAction.labels.tx_ref — Referencia única de la transferencia. |
labels.received | Timestamp en formato ISO 8601 — Momento en que Transfiya recibió la solicitud de abono. |
labels.dispatched | Timestamp en formato ISO 8601 — Momento en que se envió la solicitud de creación de la acción a Transfiya. |
El banco responde a la llamada inicial de abono.
El banco actualiza la acción con un `tx_id`.
Field name | Descripción del valor del campo |
---|---|
<download_action_id> | El <download_action_id> en la URL representa el ID de la acción de tipo DOWNLOAD creada en el paso 2. En el ejemplo, este valor es 2aa49d5d-3dcc-4841-bb3e-baeb9fef4278 . |
labels.tx_id | Identificador único de la transacción que el banco ejecutó para acreditar los fondos en la cuenta de destino. |
El banco crea y firma un objeto IOU como prueba de la operación.
DOWNLOAD
como COMPLETED
.downloadAction
.Transfiya utiliza firmas criptográficas como prueba de que los participantes autorizaron los movimientos de saldo. Los datos se hashean primero y luego se firman utilizando claves privadas que nunca deben compartirse con TransfiYa. Los algoritmos de firma y hash están documentados, y los SDKs de TransfiYa permiten realizar estas operaciones de forma sencilla para facilitar la integración.Field name | Descripción del valor del campo |
---|---|
<download_action_id> | El <download_action_id> en la URL es el ID de la acción de tipo DOWNLOAD creada en el paso 2. En el ejemplo es 2aa49d5d-3dcc-4841-bb3e-baeb9fef4278 . |
data.source | downloadAction.snapshot.source.signer.handle – Firmante fuente del abono. |
data.target | downloadAction.snapshot.target.signer.handle – Firmante destino del abono. |
data.symbol | downloadAction.snapshot.symbol.signer.handle – Identificador del símbolo o moneda. |
data.amount | downloadAction.amount – Monto a acreditar. |
data.domain | downloadAction.labels.domain – Dominio asociado a la transacción. |
data.expiry | currentTime + 1 minuto en formato ISO 8601 – Momento a partir del cual Transfiya puede expirar una operación pendiente. |
hash | Hash del objeto data , generado por los SDKs. hash.value es el valor calculado, y los demás campos indican los pasos de hash. |
meta.signatures | Firma del hash generada con la clave privada del firmante fuente. Incluye: schema (algoritmo), signer , public (clave pública) y string (firma). |
El banco realiza validaciones finales y envía una llamada `continue`.
received
y dispatched
requeridos por regulación.continue
y proporcionar las marcas de tiempo requeridas por la regulación.Field name | Valor del campo |
---|---|
<tx_ref> | El campo <tx_ref> en la URL representa la referencia de la transferencia, ubicada en labels.tx_ref del mainAction . |
received | Timestamp en formato ISO 8601. Representa el momento en que se recibió la última respuesta de Transfiya (llamada sendit ). |
dispatched | Timestamp en formato ISO 8601. Representa el momento en que se envió la llamada continue a Transfiya. |