Cobro masivo
El servicio de cobro masivo permite procesar múltiples cobros recurrentes mediante archivos CSV cifrados. El comercio genera un archivo de entrada con las transacciones a ejecutar y recibe un archivo de respuesta con el estado final de cada cobro.
¿Cuándo usar este servicio?
Este mecanismo es recomendado cuando se necesita ejecutar una gran cantidad de cobros de forma recurrente y se desea automatizar el intercambio de información por archivos.
Flujo general del proceso
Antes de iniciar el procesamiento, el cliente debe compartir con Placetopay la información necesaria para ubicar y gestionar los archivos en su servicio SFTP:
- Ruta de entrada: directorio donde el cliente depositará los archivos que Placetopay debe descargar y procesar.
- Patrón del nombre del archivo: criterio utilizado para identificar los archivos a procesar. Puede definirse mediante un patrón simple, como
Visa*, para tomar todos los archivos cuyo nombre inicie conVisa, o mediante una expresión regular compatible con la configuración acordada. - Ruta de salida: directorio donde Placetopay depositará los archivos resultantes una vez finalizado el procesamiento.
El nombre del archivo no está limitado a una convención única. Placetopay procesará los archivos que coincidan con la ruta de entrada y el patrón de búsqueda previamente configurados.
El proceso de integración se ejecuta de la siguiente forma:
- Se establece la conexión entre servidores SFTP, mediante VPN o red pública.
- Se generan y validan los datos de acceso para la comunicación SFTP.
- Se define la periodicidad de procesamiento de archivos.
- El cliente genera y comparte su llave pública PGP/RSA a Placetopay.
- El cliente recibe la llave pública PGP/RSA de Placetopay.
- El cliente genera un archivo CSV con la información necesaria para procesar los cobros.
- El archivo se cifra con la llave pública de Placetopay usando PGP.
- El cliente debe depositar el archivo en la ruta de entrada de su servicio SFTP, de acuerdo con el patrón del nombre compartido a Placetopay.
- Placetopay descarga desde el SFTP del cliente los archivos que coincidan con la configuración definida.
- Placetopay descifra el archivo.
- Placetopay genera un archivo de resultados.
- Placetopay cifra el archivo de resultados con PGP.
- Placetopay deposita el archivo resultante en la ruta de salida definida por el cliente dentro de su servicio SFTP.
- El cliente descifra la información.
- El cliente actualiza su base de datos con los tokens y subtokens recibidos.
Estructura del archivo de cobro
El archivo de entrada debe estar separado por comas, incluir encabezado y respetar los nombres de columna descritos a continuación.
- Name
siteId- Type
- int
- is Required
- REQUERIDO
- Description
Identificador del sitio proporcionado por Placetopay.
- Name
reference- Type
- string(32)
- is Required
- REQUERIDO
- Description
Referencia única del cobro.
- Name
instrumentType- Type
- string(1)
- is Required
- REQUERIDO
- Description
Tipo de instrumento a usar:
Tpara Token oSpara Subtoken.
- Name
instrument- Type
- string(64)
- is Required
- REQUERIDO
- Description
Token o subtoken utilizado para ejecutar el cobro.
- Name
currency- Type
- string(3)
- is Required
- REQUERIDO
- Description
Moneda conforme a ISO 421:
COP,USDoEUR.
- Name
amount- Type
- decimal(14,2)
- is Required
- REQUERIDO
- Description
Monto definitivo a cobrar.
- Name
valueAddedTax- Type
- decimal(14,2)
- is Required
- REQUERIDO
- Description
Monto correspondiente al IVA.
- Name
exciseDuty- Type
- decimal(14,2)
- is Required
- REQUERIDO
- Description
Monto correspondiente al impuesto al consumo.
Ejemplo de archivo de entrada
siteId,reference,instrumentType,instrument,currency,amount,valueAddedTax,exciseDuty
1001,KX00001,T,1860563980451111,COP,98185.71,15676.71,0
Todos los campos son requeridos. Los valores decimales deben separarse con punto (.).
Estructura del archivo de respuesta
El archivo de respuesta contiene el resultado del procesamiento de cada cobro.
- Name
siteId- Type
- int
- is Required
- REQUERIDO
- Description
Identificador del sitio proporcionado por Placetopay.
- Name
reference- Type
- string(32)
- is Required
- REQUERIDO
- Description
Referencia del cobro.
- Name
status- Type
- string(20)
- is Required
- REQUERIDO
- Description
Estado de la transacción:
APPROVED,REJECTEDoFAILED.
- Name
iso- Type
- string(2)
- is Required
- REQUERIDO
- Description
Código del motivo de la respuesta en formato ISO 8583 Response Code Version 1987.
- Name
base24- Type
- string(3)
- is Required
- REQUERIDO
- Description
Código del motivo de respuesta en formato Base24.
- Name
currency- Type
- string(3)
- is Required
- REQUERIDO
- Description
Moneda en la cual se realizó el cobro:
COP,USDoEUR.
- Name
amount- Type
- decimal(14,2)
- is Required
- REQUERIDO
- Description
Monto definitivo cobrado.
- Name
discount- Type
- decimal(10,2)
- is Required
- REQUERIDO
- Description
Descuento aplicado en la transacción.
- Name
internalReference- Type
- string(20)
- is Required
- REQUERIDO
- Description
Código interno de la transacción en Placetopay.
- Name
authorization- Type
- string(6)
- is Required
- REQUERIDO
- Description
Código de autorización de la transacción.
- Name
receipt- Type
- string(10)
- is Required
- REQUERIDO
- Description
Código de la transacción en la red.
Ejemplo de archivo de respuesta
siteId,reference,status,iso,base24,currency,amount,discount,internalReference,authorization,receipt
1001,KX00001,APPROVED,00,000,COP,98185.71,1234.29,12345678901234567890,000000,0000000000
Los valores decimales deben separarse con punto (.). Todos los campos son requeridos. El archivo contiene encabezado y los nombres del encabezado corresponden a los definidos en la propiedad name.
Reglas de formato
Consideraciones operativas
- El servidor donde se realice el cargue y descarga de archivos debe ser accesible mediante llaves RSA para que el proceso pueda ejecutarse automáticamente.
- El tiempo de procesamiento, desde la descarga del archivo de entrada hasta la carga del archivo de respuesta, es variable y depende de la cantidad de transacciones, el estado de las redes, entre otros factores.
- Se puede crear un
cron joben el servidor del comercio para verificar la disponibilidad del archivo de respuesta cada 30 minutos a partir del cargue inicial.
Llave pública PGP de Placetopay
Uso restringido a entornos de pruebas. Esta llave no debe usarse en producción.
Datos de la llave
Fecha de expiración: 2028-08-04
Llave pública
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGpzxVkBEACr8ISL5/rCOLn4XdvGgJn3qzb8O5gReJtvavkbvZfKvYHXlH/m
u5DJDdzyEHralNjfhwqAFHYBHTaa79EIUnd3yMsEzH6/weRqSiUYZgB69bZwLOJV
dk0PyU0wqZTXGKx0iekFU4ElOKPxxSGpT5qwrQONtjTpkqGQCsLNSKU4Gk4xzhzo
rwLf2niGhMPwVP4PN9F3XiM0wAms5cfq7pMVKXQPKIW2v0akpOJbd4OZMVJZYX7m
fMrEmN4tCfKZhLY7VskaBBikg6q4rTf2uXN1/1bmSapQxlP+gKk1CyQH1AijO6+a
mzI2faX6qdnzduA5JxoP/HTMGMlV4kLleZsUvfnZo7ruB6d7mIbSdRkgahs29qDF
nrvJtDOtRqXP3L6rFhk/ckbuSXu5wjd7tpSHsuXHP2xUKc1CL4aVn9pXXTwa+QH9
9RRgkhzbWNWwlAtw/fBAfZTlnLEbwPXoAeJlYNIljbtD7xCGowmWjUGRDOwgYcD4
VN7cRlVlN9q4kVWTR4eIFzCMRueqRejo8psgO9DJceH5i84z1l2W9I+at4u0+P+j
9BmYnZhi8r+LuNtHQ9OLYzM3rLJifLerHQyK2P7iZp2Id1P8jMR6lc+7WnC/3QeC
HUWbUZ6sdXfym6wLnsstxGdiIyD+6/kwSX1jnxNgvjo+Y37jGYPtVXv9OwARAQAB
tExQbGFjZXRvcGF5IFRQTS1UZXN0IChNYXNzaXZlIFJlY3VycmluZyB0ZXN0aW5n
KSA8b3BlcmFjaW9uZXNAcGxhY2V0b3BheS5jb20+iQI+BBMBCAAoBQJqc8VZAhsD
BQkDwmcABgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDaKLzYxcEfiVkPD/96
4ZwSI/fs2aRBFNMxQoTGaHp5s45+j0GO1ARFEfZm8FIg314cpSqQbsyMInFu4Gxx
wjjO5mWz2CiKCkMb551Uz6W5aIOQaJ/tnz8HjSB1Qy8dtIEAXvLT99OVEYWGAFX9
eht33A14Ju40kEvYCxjssUpa5vG9Arw3ESIk/YpaoCImZiEp3TycCpLA/MEWMn4k
eV+aOIioKhVo7DWyiW+pHj+7ARl9NtFKC+FZ8qGAtgiqu5l2mBaYUPlw290Bu1vy
szm60ShqV4Sn6XFpEfxHKte7SNjxMyv4W/Z5s8yxuaeMVVwuGoaClf/ZguGupYkZ
uCQ7SaydeA6QZEtpK2Ju6euyl2OLHTwp589u5lWQ415Hgrq84mY1zoVPL+zk3wby
V8cPmNmyQBuSjLsjj+ijsPsEBoSHryxG34Ibt2hGf2LsCjRlvYQoutAn1saO3w4j
HEKN/gLfQY7N3LUDA0e3xZilWVITE+RtOgn01qYfbhc8azD416hy5gG5/U/0qcBN
IyONmbi1hfbSZhoGf7xbQEktoW667QfSgT9xRQqlf2i+vHpnp9Uv9zHhshzOpAkn
em8TwjuS8VdSdjIN4gXEtjyRRVqnLWlcIfa+Ete9nRIFn3u7zjhBj/S7+Uk2q0V0
qJmdK0XJ6zjI3M97UI2Y65c63dqaK5xzn/DHFXdyqLkCDQRqc8VZARAAsb8RCsT7
i+npQsoBG80F7WEAE2QTJlQM594LGom9ii6Q4kGIZtrGr2ZFqScIAePlOyBoAezt
jedCRsp7EYpESUiGCjdMN3C1clZM9Vu5Yv+FfL50cuooN1f7jneyDiY0NBVUZKw7
nXnEnfDUASesvyb4nLuTc+O97fiDO4OREZJ3bxhTR4M2AehFZod6T/SGfU2LTofO
FzncJi3bjWLPMc9cF67MDnCDni+dovgWxUR8DW09vW5HctbWC/inIX31ts5GcpcT
tkMwSWeoH2mM1d8wLihz+/4765fgiULkaHmbJFAJb9ARDbB61AsrYZLQqEanxrYj
5gQgzlx1cNz2w1yL+ZWaUz2I1BFA9OUL5BSmhm6YkK5zFKhdVKB3XrfO3qMKTFvo
lxGQAFLZNiilv/jRwmbCacC7jROy0lPpZXA7KPa5KzrHk7lrgfJPN1OW//Fag/S3
rV07KEgda39icKP+1PjJCUS/PTJgab0vToFXQq5ZIW5np+2Iwo6MUPJYo/KJOvTJ
wyJ2mUxwFVDQiqT8T0hCWUgrPZZbwzmQREnMoGs+0UeuGShEwTPWhxRMFEi6JkGh
JFS6TSYvf5uPHKHWSPq958WCrIzeAdwHm/ltlTrMhSCkBtHNoEzGDj8VY749zTMg
URI6J5d3k7fj9sIqVc3ERCBYhRRgBRdZ/0sAEQEAAYkCJQQYAQgADwUCanPFWQIb
DAUJA8JnAAAKCRDaKLzYxcEfiYyKD/wMkvtmOtZLwBUQFaHw3aQmhxjKfXpyxiEs
j3AGAXSbcIURdHbSMOkbx8jwgMykGxDeGUMAUC+yDxiwqEKmwWnY26DI/Et7MYFh
V8gYrQ4zYjENR36+bKAffXU5bo74eMZmE9zNz5caIssnot2SPOq3KnYGLVMGDM+j
wvttdI/KeLWfkSDviO7Qx5L+Im6wstYt5PfkfQLepURZbN+FNfSGgyDOvc/oNvsF
TTCnAhMS6ArD+6J3Lr8Oz0w4riIjwo0i9UZGoAzHmv+83s+ZZxGdZsoghkatEYQx
Na0W2mmUnx41d/Tic6WTrYQ/cZI3f5SHXr7XhZEl2raTKAMFJ9iPZjAm2XAhxPWp
00pmQSGq/BLlpRLgWYVOszCzLVHgZ+o31aJNi3PQT8BzbjLzeHa8s4M4L9gUutiG
dyeAhogXbT59PBFQi67/VQRHi7HMgDFL44wHZV6Eu6GkDDNo1PLYlNuCl1FIiM/x
nG2cUtAuy2auw02Yg9eNwlwhE+dr7EjlqY6vI0JEKZzADjw1OQl2fVEq+fYozLHC
pJ/4uqysLMI4S0DRT7M5EhaBtWwDPBd3mzy3sqbdxw4lPyWwNawRD62/7Z4obeQX
HaopDWCQfya2ICVB8Yr7ta9L+bk9Pstm49vlJtPUwmMN2Zl9NMUQGUIVHJwRsEsJ
USIGk4NPlA==
=f+Qq
-----END PGP PUBLIC KEY BLOCK-----