1. Appian - Submerchant Register
Español
  • English
  • Español
  • Docs de API 🇨🇴
  • Online Payments
    • Errores del API de Kushki
    • Errores ISO
    • Notas de versión
    • Card Payments
      • Solicitar un token de tarjeta
      • Hacer un cargo o cargo diferido
      • Crear pago (sin token)
      • Anular una transacción
      • Reembolsar una transacción
      • Solicitar opciones de diferido
      • Autorizar pagos
      • Preautorización (sin token)
      • Reautorizar pagos
      • Capturar un pago autorizado
      • Verificar cuenta
      • Validar OTP
      • Información de BIN
      • Información de BIN V2
    • One-Click & Scheduled Payments
      • Solicitar un token de cargo recurrente
      • Crear un cargo recurrente
      • Hacer un pago One-click
      • Actualizar los datos de la tarjeta del cargo recurrente
      • Cancelar un cargo recurrente
      • Actualizar un cargo recurrente
      • Agregar un cargo o descuento temporal
      • Autorizar pagos
      • Capturar un pago autorizado
      • Consultar información del cargo recurrente
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Transfer in
      • Consultar la configuración de Transfer In
      • Consultar lista de bancos
      • Solicitar un token de Transfer In
      • Iniciar transacción
      • Consultar estado
      • Cancelar transacción
    • Transfer out
      • Consultar lista de bancos
      • Consultar lista de bancos V2
      • Solicitar un token de Transfer Out
      • Iniciar transacción
      • Consultar estado
      • Saldo para payouts
    • Cash in
      • Solicitar un token de Cash In
      • Iniciar transacción
      • Estado de la transacción
      • Eliminar una transacción de Cash In
      • Actualizar una transacción de Cash In
    • Cash-out
      • Solicitar un token de Cash Out
      • Iniciar transacción
      • Estado de la transacción
      • Actualizar una transacción de Cash Out
      • Eliminar una transacción de Cash Out
    • Smartlinks-v2
      • Crear un Smartlink
      • Consultar un Smartlink
      • Actualizar un Smartlink
      • Eliminar un Smartlink
    • Analytics
      • Consultar listado de transacciones v2
    • Gateway-status
      • Consultar estado del gateway
      • Consultar estado de la plataforma
    • Payment Credentials
      • Crear una credencial
      • Buscar credenciales
      • Búsqueda avanzada
      • Eliminar credencial
      • Regenerar una credencial
      • Activar o desactivar
      • Actualizar credencial
    • Payment Button
      • Crear un Payment Button
    • Settlement
      • Consultar liquidación
    • Subscription Transactions
      • Consultar transacciones de suscripción
    • Fraud Report
      • Consultar alertas de fraude
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
      • Diagnostics
        • Connection test
        • Terminal info
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Diagnostics
        • Connection test
        • Terminal info
  • API Raw Card Present Payments
    • Notas de versión
    • Catálogo de errores
    • El objeto Amount
    • Proceso de intercambio de llaves
    • Datos de prueba
    • One-time Payments
      • Pago único
    • Two-step Payments
      • Autorización y captura
    • Card Information
      • Consultar información de BIN
      • Información de BIN V2
      • Solicitar opciones de diferido
    • Voids & Refunds
      • Anular y reversar
      • Reembolsar una transacción
    • Query Transactions
      • Búsqueda de transacciones
    • Webhooks
      • Introducción
      • Buenas prácticas
      • Webhooks-Pagos con tarjeta
      • Webhooks-Reembolsos
      • Revisa tus webhooks
    • Chargebacks
      • Consultar chargebacks
      • Solicitar exportación de chargebacks
    • Fraud Report
      • Consultar alertas de fraude
  • Appian - Submerchant Register
    • Release Notes
    • Submerchant Validation in Batch
      POST
    • Query submerchant status by requestId/submerchantId
      GET
    • Get submerchantIds
      GET
    • Get credentials for submerchants
      POST
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • ChargebackListResponse
    • TransactionResponse
    • PrintJobRequest
    • card
    • one-and-two-step-payment-3
    • Card Present (CP)
    • one-and-two-step-payment-3
    • SubscriptionTransactionsResponse
    • Amount-cash-in
    • SettlementDateRangeRequest
    • amount
    • FraudAlertRequest
    • SubscriptionTransaction
    • ChargebackItem
    • SettlementRecord
    • RawResponse
    • CommandText
    • Card Not Present (CNP)
    • networkToken
    • FraudAlertResponse
    • ErrorResponse400
    • CardData
    • CommandColumns
    • extra_taxes
    • FraudAlertRecord
    • ErrorResponse
    • currency
    • Deferred
    • webhooksItem
    • SettlementResponse
    • ErrorResponse401
    • LinkFailure
    • ColumnItem
    • Amount
    • ValidationError
    • pos_details
    • ErrorResponse403
    • CommandDivider
    • enc_tlv
    • TransactionEvent
    • extraTaxes
    • card_details
    • Country
    • payment_method
    • ErrorResponse500
    • CommandFeed
    • TransactionStatus
    • deferred
    • CommandSpace
    • ReadingType
    • contact_details
    • ContactDetails
    • CommandCut
    • sub_merchant
    • FailureReason
    • CommandImage
    • metadata
    • EventTerminal
    • documentType
    • Subscription
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • EventExtraTaxes
    • PrintJobAccepted
    • PrinterError
    • EventMetadata
    • SubscriptionUpdate
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • AmountCore
    • product
    • webhooks
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • webhooksChargeback
    • AmountWithTip
    • citMit
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • network
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • TransactionEvent_2
    • messageFields
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
    • ErrorResponse
    • TransactionEvent_23
    • TransactionStatus4
    • ReadingType5
    • FailureReason_26
    • EventTerminal_27
    • EventOperation_28
    • EventAmount_29
    • EventMetadata_210
    • EventExtraTaxes_211
    • PrintWebhookPayload12
    • TransactionEvent13
    • FailureReason14
    • EventTerminal15
    • EventOperation16
    • EventAmount17
    • EventMetadata18
    • EventExtraTaxes19
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
HomePerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
Status
Soporte / Support
Español
  • English
  • Español
  1. Appian - Submerchant Register

Submerchant Validation in Batch

https://api-uat.kushkipagos.com
https://api-uat.kushkipagos.com
https://api-uat.kushkipagos.com
https://api-uat.kushkipagos.com
POST
/onboarding/v1/submerchants/batch
Este endpoint permite a los Payment Service Providers (PSPs) enviar uno o más subcomercios para una validación inicial antes de que entren al proceso de onboarding. Este paso todavía no crea ni hace onboarding de los subcomercios; solo verifica que la estructura de datos y el contexto operativo sean válidos.
Esta validación ayuda a asegurar que los registros de subcomercios cumplan el formato requerido y que el PSP sea elegible para el proceso de onboarding.
Solo los subcomercios que pasan las validaciones avanzan al proceso de onboarding. Los que fallan deben corregirse y volver a enviarse.

Cuerpo de la petición (JSON)#

La solicitud debe incluir un array de subcomercios, cada uno con los datos relevantes: país de operación, representantes legales, beneficiarios finales (UBOs), correos y más.

Campos de adquirencia para Card Present (CP) / Kushki POS#

Cuando operationType es CP, se requieren campos adicionales para registrar el subcomercio en Kushki POS.
Cuando operationType es CP, el campo usesKushkiPos es obligatorio.
Si usesKushkiPos es true, también son obligatorios estos campos: operationMode, emails, paymentTypes, enableTipping, terminalCount, storeName y storeAddress.
Si usesKushkiPos es false, o si operationType no es CP, esos campos no deben enviarse.
📌 Importante
Ten en cuenta que submerchantName tiene un límite dinámico de caracteres según el prefijo configurado para tu PSP: MIN(18, 21 - length(PSP Prefix) - 1). El sistema convierte el texto a mayúsculas automáticamente y construye el Soft Descriptor. Revisa el detalle del campo más abajo para conocer las restricciones de caracteres.

Manejo de la respuesta#

Si la validación fue exitosa, la respuesta incluye un campo status, que puede tener uno de los siguientes valores:
INITIALIZED – La solicitud fue recibida y está en procesamiento.
VALIDATION_FAILED – Al menos un subcomercio de la solicitud tiene errores, lo que impide procesarla con éxito.
Una vez que un subcomercio es aprobado y queda listo para el onboarding, cada solicitud genera un requestId único, que puedes usar para dar seguimiento al estado del proceso de creación.
Además, la respuesta entrega un array de subcomercios, cada uno con:
submerchantId – Un identificador único asignado al subcomercio.
submerchantName – El nombre del subcomercio.
status – Indica si el subcomercio pasó la validación:
VALID – El subcomercio se validó correctamente.
INVALID – El subcomercio tiene errores y requiere corrección.
Revisa la webhook notification. Ahí confirmas si el proceso de validación fue exitoso o rechazado.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200OK
application/json
Successful response
Bodyapplication/json

🟠403Forbidden
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api-uat.kushkipagos.com/onboarding/v1/submerchants/batch' \
--header 'X-Api-Key;' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "pspCustomerId": "20000000105771766000",
        "operationType": "CNP",
        "operationCountry": "COL",
        "submerchantCountryTaxResidency": "COL",
        "submerchantTaxId": "9001234567",
        "submerchantLegalName": "COMERCIAL COLOMBIA S.A.S.",
        "submerchantLegalEntityType": "Private",
        "submerchantName": "COL API DOC",
        "submerchantAddress": "Calle 93 # 11A - 28",
        "submerchantCity": "Bogotá",
        "submerchantPostalCode": "110221",
        "submerchantUrl": "https://www.ejemplo.co",
        "submerchantMcc": "5732",
        "legalRepresentativeName": "Juan Carlos",
        "legalRepresentativeFirstLastName": "Esquer",
        "legalRepresentativeSecondLastName": "Ramos",
        "legalRepresentativeDateBirth": "12/07/1990",
        "legalRepresentativeIdNumber": "1018456789",
        "legalRepresentativeSameAsUbo": true,
        "uboName": "Juan Carlos",
        "uboFirstLastName": "Esquer",
        "uboSecondLastName": "Ramos",
        "uboDateBirth": "12/07/1990",
        "ubo2Name": "",
        "ubo2FirstLastName": "",
        "ubo2SecondLastName": "",
        "ubo2DateBirth": "",
        "secondConcurrenceNeeded": true,
        "pspNotificationEmail": "test@kushkipagos.com",
        "openField": ""
    }
]'
Response Response Example
200 - INITIALIZED (successful response)
{
    "status": "INITIALIZED",
    "requestId": "5c91b0ee-677f-448e-b2e8-eb13bf2efcab",
    "message": "The submerchants are ready to be processed. We will notify you once all have been processed",
    "results": [
        {
            "submerchantId": "5e9a859c-2112-4e8e-b819-2d18bc0f4d29",
            "submerchantName": "Kushki Colombia",
            "status": "VALID",
            "message": "The format is valid",
            "errors": []
        },
        {
            "submerchantId": "c0d99b38-9590-49fc-b348-899affe20726",
            "submerchantName": "Empresa Bogotá SAS",
            "status": "VALID",
            "message": "The format is valid",
            "errors": []
        }
    ]
}
Modified at 2026-09-28 17:05:55
Previous
Release Notes
Next
Query submerchant status by requestId/submerchantId
Built with