- 09 Nov 2021
- 5 Minutes to read
- Contributors
- Print
- DarkLight
Información general
- Updated on 09 Nov 2021
- 5 Minutes to read
- Contributors
- Print
- DarkLight
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.
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
2. Completar el formulario
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>
Es importante que en la url que configure para la confirmación de la transacción haga una validación del monto y la factura que se está pagando, estos valores deben coincidir con los parámetros inicialmente configurado en la transacción
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
Campo | Descripción |
---|---|
name | Nombre del producto |
description | Descripción del producto |
invoice | Id de la factura |
currency | Código de la moneda (COP,USD) |
amount | Valor total del producto |
tax_base | Valor sin IVA |
tax | IVA |
country | País del cobro |
lang | Idioma |
split_app_id | Id de la cuenta principal |
split_merchant_id | Id de la cuenta principal y a nombre de quien quedara la transacción |
split_type | Tipo de dispersión 01 -> fija ---- 02 -> porcentual, hace referencia al tipo de fee que se enviará al comercio principal |
split_primary_receiver | Id de la cuenta principal - parámetro para recibir valor de la dispersión destinado |
split_primary_receiver_fee | Parámetro no a utilizar pero que debe de ir en cero |
splitpayment | Indicación de funcionalidad split |
split_rule | Parámetro para configuración de Split_receivers - se debe enviar el valor "multiple" |
split_receivers | array de recibidores entre los cuales se dispersara el dinero, si es split 1-1 se envía un array de dimensión 1 |
external | Enviar por defecto false |
extra1, extra2, extra3, extra9 | Campos para enviar detalles extras de la transacción |
name_billing | Atributo del cliente, nombre del cliente |
address_billing | Atributo del cliente, dirección del cliente |
type_doc_billing | Atributo del cliente, tipo del documento del cliente |
number_doc_billing | Atributo del cliente, número de documento del cliente |
mobilephone_billing | Atributo 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.
Campo | Descripción |
---|---|
id | Id del usuario que va a recibir el pago |
fee | Valor 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
Campo | Descripción |
---|---|
x_cust_id_cliente | Id del cliente |
x_ref_payco | Número de recibo de la transacción |
x_id_factura | Id de la factura |
x_id_invoice | Id de la factura |
x_description | Descripción del producto |
x_amount | Valor total del producto |
x_amount_country | Valor total del producto |
x_amount_ok | Valor total del producto |
x_tax | IVA |
x_amount_base | Valor sin IVA |
x_currency_code | Código de la moneda (COP,USD) |
x_bank_name | Nombre del banco |
x_cardnumber | Nombre del tarjetahabiente |
x_quotas | Número de cuotas a diferir el pago |
x_respuesta | x_respuesta |
x_response | x_respuesta |
x_approval_code | Código de aprobación |
x_transaction_id | Número de recibo de la transacción |
x_fecha_transaccion | Fecha y hora de la transacción |
x_transaction_date | Fecha y hora de la transacción |
x_cod_respuesta | Código de respuesta de la transacción |
x_cod_response | Código de respuesta de la transacción |
x_response_reason_text | Descripción de la respuesta |
x_errorcode | Código error de la transacción |
x_cod_transaction_state | Código estado de la transacción |
x_transaction_state | Estado de la transacción |
x_franchise | Franquicias |
x_business | Negocio |
x_customer_doctype | Tipo de documento del tarjetahabiente |
x_customer_document | Documento del tarjetahabiente |
x_customer_name | Nombre del tarjetahabiente |
x_customer_lastname | Apellidos del tarjetahabiente |
x_customer_email | Email del tarjetahabiente |
x_customer_phone | Teléfono del tarjetahabiente |
x_customer_movil | Celular del tarjetahabiente |
x_customer_ind_pais | Indicador del pais del cliente |
x_customer_country | País del tarjetahabiente |
x_customer_city | Ciudad del tarjetahabiente |
x_customer_address | Dirección del tarjetahabiente |
x_customer_ip | Ubicación IP del tarjetahabiente |
x_signature | Firma de la respuesta |
x_test_request | Estado de la petición (prueba="TRUE" producción="FALSE") |
x_extra1 | Dato extra 1 |
x_extra2 | Dato extra 2 |
x_extra3 | Dato extra 3 |
x_extra4 | Dato extra 4 |
x_extra5 | Dato extra 5 |
x_extra6 | Dato extra 6 |
x_extra7 | Dato extra 7 |
x_extra8 | Dato extra 8 |
x_extra9 | Dato extra 9 |
x_extra10 | Dato extra 10 |
x_cod_response
x_response
x_response_reason_text
son indispensables para entender la respuesta.x_approval_code
A continuación se muestran los códigos de las franquicias (Medios de pago) que son retornados por ePayco. aceptada y en modo producción.