Información general
  • 09 Nov 2021
  • 5 Minutes to read
  • Contributors
  • Dark
    Light

Información general

  • Dark
    Light

Article summary

Split Payments o pagos divididos es la forma de poder gestionar pagos entre el comercio, proveedores y vendedores, esta herramienta solo está disponible para cuentas ePayco en el modelo agregador.

Antes de iniciar el proceso de Pagos divididos debe tomar en cuenta que debe estar registrado como un comercio dentro de su cuenta para poder dividir en pago entre los recibidores correspondientes.

A continuación, podrá encontrar los pasos a seguir para integrar correctamente esta funcionalidad en su comercio.

1. Activación del servicio

La cuenta principal (Comercio o Marketplace) debe tener Split Payment Activo, esta activación se debe solicitar vía ticket de soporte al área de servicio al cliente.

2. Matrícula de Comercios y Receptores

Una vez se encuentre activo el servicio. Es necesario registrar los comercios y receptores a los cuales se les va a dividir los pagos, desde el panel de clientes de ePayco en:  Pagos Divididos ingresando el email con el cual el usuario se encuentra registrado en la plataforma.

1. Click en Admin>Split payment>Receptores>Nuevos Usuarios

Paso 1 agregar receptor desde el dashboard


2. Completar el formulario

Paso 2 agregar receptor desde el dashboard


  

3. Tipos de integración

a. Pagos divididos Checkout

Con esta integración se podrá desplegar el checkout con las opciones de pagos divididos por medio de la siguiente configuración en javascript.

Agrega el script en su web.


<script type="text/javascript" src="https://checkout.epayco.co/checkout.js">   </script>
   
Configuración inicial

key: llave secreta del comercio.

test: true (prueba), false (producción).


  var handler = ePayco.checkout.configure({
                key: '45b960805ced5c27ce34b1600b4b9f54',
                test: true
            })
 
Configuración de variables

Iniciar un objeto con los  parámetros de la compra (Requerido),  Atributos cliente (Opcional) y  Ocultar métodos de pago.


     <script
            var handler = ePayco.checkout.configure({
            key: 'public_key comercio principal',
            test: false
        })
        var date = new Date().getTime();
        var data = {
            name: "Vestido Mujer Primavera",
            description: "Vestidó Mujer Prímaverá",
            invoice: date + 126351321,
            currency: "cop",
            amount: "10",
            tax_base: "0",
            tax: "0",
            country: "co",
            lang: "es",
            split_app_id: "30085",
            split_merchant_id: "30085",
            split_type: "01", 
            split_primary_receiver: "30085",
            split_primary_receiver_fee: "0", 
            splitpayment: "true",
            split_rule: "multiple",  
            split_receivers: [
                { "id": "19786", "total": "7", "iva": "", "base_iva": "", "fee": "3" },
                { "id": "93006", "total": "3", "iva": "", "base_iva": "", "fee": "1" }
            ],
            external: "false",
            //Los parámetros extras deben ser enviados como un string
            extra1: "extra1",
            extra2: "extra2",
            extra3: "extra3",
            extra9: "test| pipe|revisar|",
            confirmation: "http://secure2.payco.co/prueba_curl.php",
            response: "http://secure2.payco.co/prueba_curl.php",
            //Atributos cliente
            name_billing: "Andres Perez",
            address_billing: "Carrera 19 numero 14 91",
            type_doc_billing: "cc",
            mobilephone_billing: "3050000000",
            number_doc_billing: "100000000"
        }

        var openChekout = function () {
            handler.open(data)
        }
        
        </script>
    

Teniendo en cuenta sus necesidades y la arquitectura de su comercio o aplicación seleccionar uno de los siguientes métodos de integración:


variables

CampoDescripción
nameNombre del producto
descriptionDescripción del producto
invoiceId de la factura
currencyCódigo de la moneda (COP,USD)
amountValor total del producto
tax_baseValor sin IVA
taxIVA
countryPaís del cobro
langIdioma
split_app_idId de la cuenta principal
split_merchant_idId de la cuenta principal y a nombre de quien quedara la transacción
split_typeTipo de dispersión 01 -> fija ---- 02 -> porcentual, hace referencia al tipo de fee que se enviará al comercio principal
split_primary_receiverId de la cuenta principal - parámetro para recibir valor de la dispersión destinado
split_primary_receiver_feeParámetro no a utilizar pero que debe de ir en cero
splitpaymentIndicación de funcionalidad split
split_ruleParámetro para configuración de Split_receivers - se debe enviar el valor "multiple"
split_receiversarray de recibidores entre los cuales se dispersara el dinero, si es split 1-1 se envía un array de dimensión 1
externalEnviar por defecto false
extra1, extra2, extra3, extra9Campos para enviar detalles extras de la transacción
name_billingAtributo del cliente, nombre del cliente
address_billingAtributo del cliente, dirección del cliente
type_doc_billingAtributo del cliente, tipo del documento del cliente
number_doc_billingAtributo del cliente, número de documento del cliente
mobilephone_billingAtributo del cliente, teléfono del cliente
split_receivers

Array tipo split_receiver que contiene el id y el valor de la comisión de cada recibidor. (Si se envía el parámetro split_rule este campo se vuelve obligatorio).

El array de split_receivers está compuesto de los siguientes campos obligatorios.

CampoDescripción
idId del usuario que va a recibir el pago
feeValor de la comisión que se paga al comercio principal, puede ser % o valor fijo según el split_type

b.SDK

Puede hacer uso de alguno de nuestros SDKs Disponibles:

Para realizar el proceso de forma correcta debe seguir los siguientes pasos:

1. Inicializar la librería con las llaves secretas.

2. Crear Token de la tarjeta de crédito. 

3.Crear Customer con los datos del tarjetahabiente.

Split 1-1

Adicionalmente a los pasos anteriores se ejecutan los siguientes pasos para cada medio de pago.

4.Crear pago dividido con tarjeta de crédito.

5.Crear pago dividido con PSE.

6.Crear pago dividido con Efectivo.


Pagos divididos APIFY

Puede emplear cada uno de los servicios que tenemos en APIFY para realizar el procedimiento de pagos divididos según sea el medio de pago, entre estos servicios tenemos:


Después de finalizar una transacción con un botón de pago, botón de donación, link de cobro o pago divido se retornan los siguientes datos a la URL de respuesta por POST y a la URL de confirmación según el método enviado en la variable p_confirm_method. 


Al concluir la transacción ePayco enviará información relevante al comercio en la url programada por medio de los siguientes atributos.

Atributos

CampoDescripción
x_cust_id_clienteId del cliente
x_ref_paycoNúmero de recibo de la transacción
x_id_facturaId de la factura
x_id_invoiceId de la factura
x_descriptionDescripción del producto
x_amountValor total del producto
x_amount_countryValor total del producto
x_amount_okValor total del producto
x_taxIVA
x_amount_baseValor sin IVA
x_currency_codeCódigo de la moneda (COP,USD)
x_bank_nameNombre del banco
x_cardnumberNombre del tarjetahabiente
x_quotasNúmero de cuotas a diferir el pago
x_respuestax_respuesta
x_responsex_respuesta
x_approval_codeCódigo de aprobación
x_transaction_idNúmero de recibo de la transacción
x_fecha_transaccionFecha y hora de la transacción
x_transaction_dateFecha y hora de la transacción
x_cod_respuestaCódigo de respuesta de la transacción
x_cod_responseCódigo de respuesta de la transacción
x_response_reason_textDescripción de la respuesta
x_errorcodeCódigo error de la transacción
x_cod_transaction_stateCódigo estado de la transacción
x_transaction_stateEstado de la transacción
x_franchiseFranquicias
x_businessNegocio
x_customer_doctypeTipo de documento del tarjetahabiente
x_customer_documentDocumento del tarjetahabiente
x_customer_nameNombre del tarjetahabiente
x_customer_lastnameApellidos del tarjetahabiente
x_customer_emailEmail del tarjetahabiente
x_customer_phoneTeléfono del tarjetahabiente
x_customer_movilCelular del tarjetahabiente
x_customer_ind_paisIndicador del pais del cliente
x_customer_countryPaís del tarjetahabiente
x_customer_cityCiudad del tarjetahabiente
x_customer_addressDirección del tarjetahabiente
x_customer_ipUbicación IP del tarjetahabiente
x_signature Firma de la respuesta
x_test_requestEstado de la petición (prueba="TRUE" producción="FALSE")
x_extra1Dato extra 1
x_extra2Dato extra 2
x_extra3Dato extra 3
x_extra4Dato extra 4
x_extra5Dato extra 5
x_extra6Dato extra 6
x_extra7Dato extra 7
x_extra8Dato extra 8
x_extra9Dato extra 9
x_extra10Dato extra 10



Was this article helpful?

What's Next