Link dinámico del Botón de Pagos para Desarrolladores
PayAgile le permite conectarse a través de APIREST a la funcionalidad del botón.
Para la integración se describe los siguientes procesos:
- Se debe enviar mediante APIREST lo siguientes datos:
Tipo: POST | |
---|---|
Url de envío: https://portal.botonpagos.com/api/datafast/linksApi | |
1.1 Parámetros Obligatorios: | |
1.1.1 Código del Establecimiento | code => texto (30) (Se envía como cabecera de la petición y este código es proporcionado por Botón Pagos) |
1.1.2 Productos (Enviar en formato Json) | products => array ( 0 => array ( id => int, quantity => double (10,2), price => double (10,2), subtotal => double (10,2), tax => double (10,2), total => double (10,2) ) ) |
1.2 Parámetros Opcionales: | |
1.2.1 Datos de Cliente (Enviar en formato Json) | customer => array ( name => texto(50) (opcional), last_name => texto(50) (opcional), document => texto(20) (opcional), email => texto (opcional), phone => texto(20) (opcional), address => texto (opcional), aditional_data => texto (opcional) ) |
1.2.2 URL de respuesta | url_response => texto (Opcional) Llamada tipo POST |
1.2.3 Descripción | description => texto (Opcional) |
<?php //Armo los productos de la orden //ID del Producto en la Tienda $products[0]['id'] = 01; //Cantidad del producto $products[0]['quantity'] = 2; //Valor del producto $products[0]['price'] = 5.00; // Subtotal del producto $products[0]['subtotal'] = 10.00; // Impuesto del producto $products[0]['tax'] = 1.20; //Valor total del producto $products[0]['total'] = 11.20; //Armo los datos del cliente //Nombres del cliente (Opcional) $customer['name'] = 'Pedro Andres'; //Apellidos del cliente (Opcional) $customer['last_name'] = 'Ramirez Cando'; //Documento de Identidad del cliente (Opcional) $customer['document'] = '1785698847'; //Email del cliente (Opcional) $customer['email'] = '[email protected]'; //Telefono del cliente (Opcional) $customer['phone'] = '0984571241'; //Direccion del cliente (Opcional) $customer['address'] = 'Av. Amazonas y Patria'; //Motivo de Transacción / Notas Adicionales (Opcional) $customer['aditional_data'] = 'Venta de Suministro'; //Armo el array a enviar $datos = array( 'products' => json_encode($products), 'customer' => json_encode($customer) // (Opcional) Enviar solo si se desea enviar datos del cliente 'url_response' => 'https://url_de_respuesta.com', // (Opcional) Llamada tipo POST 'description' => 'Descripción de link' // (Opcional) ); //Dirección para generar link de pagos $url = 'https://portal.botonpagos.com/api/datafast/linksApi'; //Consulta vía CURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'code: ID del comercio'//ID provisto por BotónPagos )); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $datos); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $responseData = curl_exec($ch); //Si existe un error de conexión if (curl_error($ch)) { echo curl_error($ch); } curl_close($ch); //Paso a array los datos obtenidos en Json $responseData = json_decode($responseData, true); ?>
2. Link de Pagos
Como resultado del paso anterior se obtiene un objeto json con código de error en caso de que no se haya podido procesar los datos enviados.La variable $responseData[‘error_code’] será igual a 1 si existe un error y la descripción del error estará contenida en la variable $responseData[‘error_description’]
En caso de que no existe un error se obtendra un link mediante el cual el cliente podrá realizar el pago.
El resultado debería ser el siguiente:
https://portal.botonpagos.com/datafast/pagos/checkout/[code]
Con eso se termina la generación del link de pagos.