Saltar al contenido principal

Account Funding Transactions (AFT)

Descripción general​

Una Account Funding Transaction (AFT) es una operación que permite transferir fondos desde una tarjeta hacia una cuenta bancaria o hacia otra persona. Este tipo de transacción está disponible para tarjetas Visa y Mastercard, y su disponibilidad depende del MCC (Merchant Category Code) del comercio y de la marca de tarjeta.

En PaynoPain, la lógica que determina si se aplica AFT y de qué tipo se basa en la presencia del campo aft y de los datos del usuario en el extra_data al generar la orden de pago y en las condiciones del comercio.


Tipos de AFT​

TipoDescripciónRequiere datos del receptor
NONEFuerza que no se realice AFT.No
ACCOUNT_TO_ACCOUNTTransferencia de fondos desde tarjeta hacia una cuenta del propio usuario.No
PERSON_TO_PERSONTransferencia de fondos hacia otra persona (requiere datos del receptor).Sí

Si no se indica el campo aft, PaynoPain puede aplicar AFT de tipo ACCOUNT_TO_ACCOUNT automáticamente, siempre que:

  • El comercio esté configurado para ello (según su MCC).
  • Se incluyan correctamente los datos del usuario (remitente) en los campos profile y billing_address.

Estructura de extra_data.aft​

El campo aft se incluye dentro de extra_data. Su estructura depende del tipo de AFT que se quiera realizar:

"aft": {
"type": "PERSON_TO_PERSON",
"receiver": {
"first_name": "John",
"last_name": "Doe",
"country": "ESP",
"account_number": "4111111111111111",
"account_type": "CARD_NUMBER"
}
}

Campos del objeto aft​

CampoTipoObligatorioDescripción
typestringSíTipo de AFT: NONE, ACCOUNT_TO_ACCOUNT, PERSON_TO_PERSON
receiverobjetoSolo si type = PERSON_TO_PERSONDatos del destinatario de la transferencia

Campos del objeto receiver​

CampoTipoObligatorioDescripción
first_namestringSíNombre del receptor
last_namestringSíApellido del receptor
countrystringSíPaís del receptor (ISO 3 letras, ej. ESP)
account_numberstringSíNúmero de cuenta, tarjeta o teléfono del receptor
account_typestringNoTipo de cuenta: CARD_NUMBER (por defecto), ACCOUNT_NUMBER, MOBILE_PHONE_NUMBER
state_codestringSolo si el país es USA o CANCódigo del estado o provincia

Datos obligatorios del remitente​

Para que una AFT (explícita o implícita) se pueda ejecutar correctamente, deben proporcionarse los siguientes datos dentro de extra_data:

profile​

CampoObligatorioDescripción
first_nameSíNombre del usuario
last_nameSíApellido del usuario
birthdateSíFecha de nacimiento (YYYY-MM-DD)
emailNoEmail del usuario (recomendado)

billing_address​

CampoObligatorioDescripción
countrySíPaís del usuario
address1SíDirección
citySíCiudad
zip_codeSíCódigo postal
state_codeSolo si el país es USA o CANCódigo de estado

Compatibilidad de AFT por marca y MCC​

La siguiente tabla detalla qué tipos de AFT son compatibles según la marca de tarjeta y el código MCC del comercio:

Visa​

Tipo de AFTMCC compatibles
ACCOUNT_TO_ACCOUNT4829, 6012, 6051, 6211, 6540
PERSON_TO_PERSON4829

Mastercard​

Tipo de AFTMCC compatibles
ACCOUNT_TO_ACCOUNT4829, 6051, 6211, 6536, 6537, 6540, 7800, 7801, 7802, 7994, 7995, 9406
PERSON_TO_PERSON4829, 6536, 6537, 6538, 6540

Ejemplos de integración​

AFT tipo ACCOUNT_TO_ACCOUNT (explicita)​

"extra_data": {
"profile": {
"first_name": "Joy",
"last_name": "Cardholder",
"email": "joy@carholder.com",
"birthdate": "1996-06-04"
},
"billing_address": {
"country": "ESP",
"address1": "Avda. del Mar",
"city": "Castellon",
"state_code": "CT",
"zip_code": "12006"
},
"aft": {
"type": "ACCOUNT_TO_ACCOUNT"
}
}

AFT tipo ACCOUNT_TO_ACCOUNT (implícita)​

"extra_data": {
"profile": {
"first_name": "Joy",
"last_name": "Cardholder",
"email": "joy@carholder.com",
"birthdate": "1996-06-04"
},
"billing_address": {
"country": "ESP",
"address1": "Avda. del Mar",
"city": "Castellon",
"state_code": "CT",
"zip_code": "12006"
}
}

AFT tipo PERSON_TO_PERSON​

"extra_data": {
"profile": {
"first_name": "Joy",
"last_name": "Cardholder",
"email": "joy@carholder.com",
"birthdate": "1996-06-04"
},
"billing_address": {
"country": "ESP",
"address1": "Avda. del Mar",
"city": "Castellon",
"state_code": "CT",
"zip_code": "12006"
},
"aft": {
"type": "PERSON_TO_PERSON",
"receiver": {
"first_name": "John",
"last_name": "Doe",
"country": "ESP",
"account_number": "4111111111111111",
"account_type": "CARD_NUMBER"
}
}
}

Forzar que no se realice AFT (NONE)​

"extra_data": {
"aft": {
"type": "NONE"
}
}

Servicios que soportan AFT​

Los siguientes servicios son compatibles con la funcionalidad de AFT en PaynoPain:

  • Cecabank
  • Paynopain
  • Trustpayments
  • Nuvei
  • Finaro (Credorax)
  • Worldpay