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 con Visa, 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 proceso de integración se ejecuta de la siguiente forma:

  1. Se establece la conexión entre servidores SFTP, mediante VPN o red pública.
  2. Se generan y validan los datos de acceso para la comunicación SFTP.
  3. Se define la periodicidad de procesamiento de archivos.
  4. El cliente genera y comparte su llave pública PGP/RSA a Placetopay.
  5. El cliente recibe la llave pública PGP/RSA de Placetopay.
  6. El cliente genera un archivo CSV con la información necesaria para procesar los cobros.
  7. El archivo se cifra con la llave pública de Placetopay usando PGP.
  8. 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.
  9. Placetopay descarga desde el SFTP del cliente los archivos que coincidan con la configuración definida.
  10. Placetopay descifra el archivo.
  11. Placetopay genera un archivo de resultados.
  12. Placetopay cifra el archivo de resultados con PGP.
  13. Placetopay deposita el archivo resultante en la ruta de salida definida por el cliente dentro de su servicio SFTP.
  14. El cliente descifra la información.
  15. 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: T para Token o S para 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, USD o EUR.

  • 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

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, REJECTED o FAILED.

  • 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, USD o EUR.

  • 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

Reglas de formato

Regla
Descripción
Separador de columnas
Coma (CSV)
Encabezados
Obligatorios
Campos
Todos son requeridos
Decimales
Deben separarse con punto (11244.13)
Longitud de datos
Los tipos de datos proporcionados indican longitudes máximas; los archivos no son de longitud fija

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 job en 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-----