### Payment Exception Handling Example Source: https://developers.paguelofacil.com/guias/enlace-de-pago This example shows the JSON structure for an exception response, indicating an invalid service gateway or data gateway. It includes a header status code and description, server time, and a success flag. ```json {"headerStatus":{"code":615,"description":"INVALID SERVICE GATEWAY OR DATA GATEWAY"},"serverTime":"2021-08-11T21:56:20","message":null,"requestId":null,"data":{},"success":false} ``` -------------------------------- ### Payment Return Parameters Examples Source: https://developers.paguelofacil.com/guias/enlace-de-pago These examples show the JSON response structure for different payment methods when using an anonymous payment link. They include details like total paid, date, time, payment type, operator, user, email, status, and reason. ```json //Pagos a través de anónimo tipo VISA {"TotalPagado":"3.21","Fecha":"27\/07\/2021","Hora":"08:59:45","Tipo":"VISA","Oper":"SANDBOX_LK-SKADZYRMUMB4","Usuario":"prueba pf","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.719","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C"} //Pagos a través de anónimo tipo PagoCash {"TotalPagado":"0","Fecha":"27\/07\/2021","Hora":"09:03:58","Tipo":"CASH","Oper":"SANDBOX_PP48123808","Usuario":"null","Email":"correo@prueba.com","Estado":"Pendiente","Razon":"PENDING PAYMENT","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.720","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C"} //Pagos a través de anónimo tipo CLAVE {"TotalPagado":"3.21","Fecha":"16\/08\/2021","Hora":"16:08:28","Tipo":"CLAVE","Oper":"LK-PGRPP1BNEYDW","Usuario":"null","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"Operaci\u00f3n Satisfactoria","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.774","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C","RelatedTx":"LK-JHRWYP6E8WXZ"} //Pagos a través de anónimo tipo NEQUI {"TotalPagado":"1.07","Fecha":"16\/08\/2021","Hora":"16:41:10","Tipo":"NEQUI","Oper":"LK-GPDVOKF052OU","Usuario":"null","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"PAGADO","CMTN":"1.07","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.777","CCLW":"2C7C0A86517030E7A1C96166DE612C064567D04A6C6CFEF109FDB85BAB0E4CC622EBEF2824785778A1F5179AE1FA7B1999FB9ACF71E00FEBFCA6AA8083BCEFD6"} ``` -------------------------------- ### Webhook Parameters Example Source: https://developers.paguelofacil.com/guias/enlace-de-pago This JSON object represents the parameters received in a webhook event, detailing transaction information, user data, and bin information. ```json { "date": "2025-07-17T11:05:14", "relatedTx": "STG-7TYUHNJMKLHUAM", "description": " Yo soy Alam Brito de Cobre el mejor conductor de Uber", "merchantDescriptor": "PF*", "type": "MC", "cardToken": "1690163708596321459", "userLogn": "Brito Alam", "idUsr": 64, "revisionLevel": null, "totalPay": "38.39", "binInfo": { "id": "69c57914-890c-4413-a485-d3d171cb73ed", "risk_score": 55.0, "funds_remaining": 397.592, "queries_remaining": 19879, "ip_address": { "risk": 22.5, "city": { "confidence": 10, "geoname_id": 4744870, "names": { "de": "Ashburn", "en": "Ashburn", "es": "Ashburn", "fr": "Ashburn", "ja": "", "pt-BR": "Ashburn", "ru": "", "zh-CN": "" } }, "continent": { "code": "NA", "geoname_id": 6255149, "names": { "de": "Nordamerika", "en": "North America", "es": "Norteamrica", "fr": "Amrique du Nord", "ja": "", "pt-BR": "Amrica do Norte", "ru": " ", "zh-CN": "" } }, "country": { "confidence": 99, "geoname_id": 6252001, "is_high_risk": false, "iso_code": "US", "names": { "de": "USA", "en": "United States", "es": "Estados Unidos", "fr": "tats Unis", "ja": "", "pt-BR": "EUA", "ru": "", "zh-CN": "" } }, "location": { "accuracy_radius": 1000, "average_income": 33772, "latitude": 39.0469, "local_time": "2025-07-17T12:05:14-04:00", "longitude": -77.4903, "metro_code": 511, "population_density": 1443, "time_zone": "America/New_York" }, "postal": { "code": "20149", "confidence": 10 }, "registered_country": { "geoname_id": 6252001, "iso_code": "US", "names": { "de": "USA", "en": "United States", "es": "Estados Unidos", "fr": "tats Unis", "ja": "", "pt-BR": "EUA", "ru": "", "zh-CN": "" } }, "subdivisions": [ { "confidence": 40, "geoname_id": 6254928, "iso_code": "VA", "names": { "de": "Virginia", "en": "Virginia", "es": "Virginia", "fr": "Virginie", "ja": "", "pt-BR": "Virgnia", "ru": "", "zh-CN": "" } } ], "traits": { "autonomous_system_number": 14618, "autonomous_system_organization": "AMAZON-AES", "domain": "amazonaws.com", "ip_address": "34.231.38.183", "isp": "Amazon.com", "organization": "Amazon.com", "user_type": "hosting" } }, "credit_card": { "issuer": { "name": "BANCO DEL TESORO, C.A., BANCO UNIVERSAL" }, "brand": "Mastercard", "country": "VE", "is_prepaid": false, "type": "debit" }, "email": { "first_seen": "2024-02-29", "is_free": false, "is_high_risk": false }, "disposition": { "action": "manual_review", "reason": "custom_rule" } }, "displayNum": "21453", "returnUrl": "https://checkout.paguelofacil.com/pf/default-receipt/AUTH_CAP-IMUXPG", "requestPayAmount": 38.39, "email": "alambrito@decobre.com", "isExternalUrl": false, "authStatus": "00", "cardType": "MC", "userName": "Alam Brito", "idtx": 123456, "inRevision": false, "isTxCampaign": false, "name": "Alam Brito", "operationType": "AUTH_CAPTURE", "txDescriptor": "PF*", "revisionOptions": null, "codOper": "AUTH_CAP-IMUXPG", "status": 1, "messageSys": "Aprobada" } ``` -------------------------------- ### PagueloFacil App Payment Return Parameters Source: https://developers.paguelofacil.com/guias/enlace-de-pago These examples demonstrate the JSON response structure for authenticated users paying via the PagueloFacil App. They cover different payment types and include fields specific to app transactions. ```json //Pagos a través de PagueloFacil App (usuarios autenticados) tipo Mastercard {"TotalPagado":"3.21","Fecha":"27\/07\/2021","Hora":"09:09:10","Tipo":"MC","Oper":"SANDBOX_PFW-Z6BCK2TCR2R","Usuario":"prueba pf","Email":"wajih@paguelofacil.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.721","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C","activityCode":"0000000280","txAmount":"3.21","Order":"721"} //Pagos a través de PagueloFacil App (usuarios autenticados) tipo PagoCash {"TotalPay":"0","Date":"2021-07-27T09:16:50","Type":"CASH","Oper":"SANDBOX_PP98057873","User":"null","Email":"wajih@paguelofacil.com","Status":"Pending","StatusCode":"PUNTOPAGO","msg":"PENDING PAYMENT","RequestPay":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.722"} //Pagos a través de PagueloFacil App (usuarios autenticados) tipo VISA {"TotalPagado":"15.15","Fecha":"24\/07\/2021","Hora":"09:58:03","Tipo":"VISA","Oper":"SANDBOX_PFW-EP10GCGQKDI","Usuario":"Yousset Chacon","Email":"cpag3@prueba.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"15.15","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.659","CCLW":"15224BE0CBB8EAAC33B53850FF71EAE732253AFC4AB224938A491D0B3E9D3F7B","activityCode":"0000000276","txAmount":"15.15","Order":"659"} //Pagos a través de PagueloFacil App (usuarios autenticados) tipo CLAVE {"TotalPay":"3.21","Date":"2021-08-16T16:11:36","Type":"CLAVE","Oper":"LK-EADXDQM6KILB","User":"prueba pf pf","Email":"wajih@paguelofacil.com","Status":"Approved","StatusCode":"Procesada","msg":"Operaci\u00f3n Satisfactoria","RequestPay":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.775","RelatedTx":"LK-TWXPATXBCDXC"} //Pagos a través de PagueloFacil App (usuarios autenticados) tipo NEQUI {"TotalPay":"1.07","Date":"2021-08-16T16:45:07","Type":"NEQUI","Oper":"LK-ZFD3SF7FUMZD","User":"null","Email":"maryiliana@gmail.com","Status":"Approved","StatusCode":"35","msg":"PAGADO","RequestPay":"1.07","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.778"} ``` -------------------------------- ### Query Transactions with Custom Fields Filter Source: https://developers.paguelofacil.com/api/transacciones This example shows how to filter transactions using custom fields and set a limit on the results. ```http https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?conditional=customFields%24lk%25tramiteId%25%7CcustomFields%24lk%25TID2345%25&limit=1 ``` -------------------------------- ### Payment Validation Example Source: https://developers.paguelofacil.com/guias/enlace-de-pago This PHP snippet demonstrates how to validate payment return parameters. It checks if the total paid is greater than zero and the status is not 'Denegada' (Denied) before echoing a success message or an error. ```php //******** GET VARS *********/ ////linkdemon///// $response = $_REQUEST; //Puede enviar los parámetros que desee en el enlace y le serán devueltas if ($TotalPagado>0 && $Estado != 'Denegada') { //Podemos hacer validaciones adicionales de nuestro sistema echo "Pago Completado"; } else { echo "Su pago ha presentado problema:"; echo 'Estado: '.$Estado; eecho 'Razón: '.$Razon; } ``` -------------------------------- ### Validar pago con ID de actividad y estado Source: https://developers.paguelofacil.com/api/estaciones Verifica si una actividad ha sido pagada por un usuario utilizando este servicio GET. Debes proporcionar el ID de la actividad y el estado '2' para indicar un pago completado. ```http https://admin.paguelofacil.com/PFManagementServices/api/v1/Activities?conditional=status::2|idActivity::{_YOUR_ID_ACTIVITY_} ``` -------------------------------- ### Initialize and Configure CLAVE SDK Source: https://developers.paguelofacil.com/guias/clave Initialize the CLAVE SDK with your API keys and configure transaction details, user info, and callback functions for success, error, and close events. ```javascript ``` -------------------------------- ### Respuesta del Servicio de Enlace de Pago Source: https://developers.paguelofacil.com/guias/enlace-de-pago Este es un ejemplo de la respuesta JSON que recibes del servicio de enlace de pago. Contiene el estado de la transacción, el tiempo del servidor y los datos de la transacción, incluyendo la URL de redirección y un código único para el enlace. ```json { "headerStatus":{ "code":200,"description":"Success"}, "serverTime":"2021-01-12T16:13:50","message":"Success", "data":{"url":"https://checkout.paguelofacil.com?code=LK-RQC5CO5G3TLNNJUU","code":"LK-RQC5CO5G3TLNNJUU"}, "success":true } ``` -------------------------------- ### Asignar un pago a una estación Source: https://developers.paguelofacil.com/api/estaciones Utiliza este servicio POST para asignar un pago a una estación de pago específica. Asegúrate de incluir la descripción, monto, descuento y el ID de la estación. ```json { "description" : "Pago Mesa 2 Orden ABC", "amount" : 10.0, "discount" : 0.0, "idPaymentStation" : 4 // A que estacion asignaras un pago } ``` -------------------------------- ### Obtener URL de Redirección de Pago Source: https://developers.paguelofacil.com/guias/enlace-de-pago Utiliza este script PHP para generar una solicitud POST segura a la API de Payfacil y obtener la URL de redirección para el pago. Asegúrate de reemplazar los valores de ejemplo para `CCLW`, `CMTN`, y `CDSC` con tus datos reales. ```php $data = array( "CCLW" => $cclw , "CMTN" => $amount, "CDSC" => $descrition, "RETURN_URL" => '68747470733A2F2F70616775656C6F666163696C73612E7A656E6465736B2E636F6D2F6167656E742F66696C746572732F3439313933393538', "PF_CF" => '5B7B226964223A227472616D6974654964222C226E616D654F724C6162656C223A2249642064656C205472616D697465222C2276616C7565223A2254494432333435227D5D', "PARM_1" => '19816201', "EXPIRES_IN" => 3600, ); $postR=""; foreach($data as $mk=>$mv) { $postR .= "&".$mk."=".$mv; } $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, "https://secure.paguelofacil.com/LinkDeamon.cfm"); //curl_setopt($ch,CURLOPT_URL, "https://secure.paguelofacil.com/LinkDeamon.cfm/AUTH"); ****En Caso de querer Pre-autorizar y capturar en procesos separados. curl_setopt($ch, CURLOPT_POST, true); curl_setopt( $ch, CURLOPT_AUTOREFERER, true ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded','Accept: */*')); curl_setopt($ch,CURLOPT_POSTFIELDS,$postR); $result = curl_exec($ch); ``` -------------------------------- ### Solicitar un Código (Request) Source: https://developers.paguelofacil.com/api/pagocash Initiates a cash payment transaction by requesting a payment code (PP). This endpoint is used to generate a payment code that customers can use at Punto Pago kiosks. It requires transaction details such as amount, customer information, and a unique identifier. ```APIDOC ## POST /webservices/rest/regCashTx ### Description Requests a payment code (PP) for a cash transaction. This code can then be used by customers at Punto Pago kiosks to complete their payment. ### Method POST ### Endpoint /webservices/rest/regCashTx ### Parameters #### Request Body - **amount** (string) - Required - The total amount for the transaction. - **email** (string) - Required - The customer's email address. - **phone** (string) - Required - The customer's phone number. - **concept** (string) - Required - A description for the payment. - **idUsrRegTx** (string) - Optional - User identifier for transaction registration. - **cclw** (string) - Required - Paguelofacil connection code. - **cashExpired** (integer) - Optional - Duration in minutes for the payment link validity. If null, the link does not expire based on this parameter. - **customFieldValues** (array) - Optional - An array of custom fields for the transaction. Each object should have: - **id** (string) - Required - The ID of the custom field. - **nameOrLabel** (string) - Required - The name or label of the custom field. - **value** (string) - Required - The value of the custom field. ### Request Example ```json { "amount": "1.00", "email": "alabrito@gmail.com", "phone": "+50766666666", "concept": "Pay for cash", "idUsrRegTx": null, "cclw": "18054582121180545821211805458212118054582121180545821211805458212118054582121", "cashExpired": null, "customFieldValues": [ {"id": "idOrder", "nameOrLabel": "Nro de Orden", "value": "OD-234567"}, {"id": "idUser", "nameOrLabel": "User", "value": "24"}, {"id": "idTx", "nameOrLabel": "Txtx", "value": "678643"}, {"id": "reference", "nameOrLabel": "Referencia", "value": "6754"}, {"id": "activo", "nameOrLabel": "estado", "value": "true"} ] } ``` ### Response #### Success Response (200) - **headerStatus** (object) - Contains status information about the request. - **code** (integer) - The status code of the operation (e.g., 200 for success). - **data** (string) - Contains the operation code (PP) for the transaction, typically in the format '1|PPXXXXXX'. #### Response Example ```json { "headerStatus": { "code": 200, "message": "OK" }, "data": "1|PP735886" } ``` #### Error Handling - **connection error message**: Indicates a failure to connect with the Paguelofacil service. - **service error message**: Indicates that a code for Paguelofacil could not be obtained due to a service error. ``` -------------------------------- ### Solicitud API Operations Source: https://developers.paguelofacil.com/api/solicitud This section outlines the parameters available for interacting with the Solicitud API. It covers authentication, filtering, pagination, sorting, and field selection. ```APIDOC ## Solicitud API ### Description Provides access to Solicitud services with various filtering and pagination options. ### Headers #### Authorization - **Authorization** (String) - Required - Authentication token for service access. Obtain your accessToken via [link to accessToken retrieval]. ### Parameters #### Query Parameters - **Filter** (String) - Optional - Allows filtering and querying the service. Format: `{field}::{value}|{field2}::{value}`. Query Params are not case-sensitive. - **Conditional** (String) - Optional - Used for advanced conditional filtering. Format: `{field}{operator}{value}|{field2}{operator $bt}{value}::{value2}`. - **Limit** (Integer) - Optional - Specifies the maximum number of expected results. - **Offset** (Integer) - Optional - Indicates the starting point for the query, used for pagination. - **Sort** (String) - Optional - Allows sorting the query results. Use `-` before a field for descending order (e.g., `{field},{-field2}`). - **Field** (String) - Optional - Allows returning only specified fields and applying operations on them. Format: `{field},{field2::{Operator}}`. ``` -------------------------------- ### Include CLAVE SDK Script Source: https://developers.paguelofacil.com/guias/clave Include this script in the head of your HTML to enable CLAVE functionality. ```html
... ... ``` -------------------------------- ### Consultar Transacciones Source: https://developers.paguelofacil.com/api/transacciones Allows querying transactions using filters, date ranges, and operators. Supports pagination and field selection. ```APIDOC ## GET /PFManagementServices/api/v1/MerchantTransactions ### Description Retrieves transaction data based on specified filters, date ranges, and sorting options. Supports pagination and allows selection of specific fields. ### Method GET ### Endpoint /PFManagementServices/api/v1/MerchantTransactions ### Parameters #### Query Parameters - **Authorization** (String) - Required - Authentication token for service access. - **Filter** (String) - Optional - Allows filtering by fields and values (e.g., `{field}::{value}`). - **Conditional** (String) - Optional - Used for more complex filtering conditions (e.g., `{field}{operator}{value}|{field2}{operator $bt}{value}::{value2}`). - **Limit** (Integer) - Optional - Specifies the maximum number of results to return. - **Offset** (Integer) - Optional - Indicates the starting point for the query results, used for pagination. - **Sort** (String) - Optional - Defines the order of results (e.g., `{field},{-field2}` for descending). - **Field** (String) - Optional - Specifies which fields to return and allows applying operations (e.g., `{field}::{Operator}`). ### Request Example ```json { "example": "https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?filter=codOper::AUTH_CAP-TL22CD" } ``` ```json { "example": "https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?conditional=customFields%24lk%25tramiteId%25|customFields%24lk%25TID2345%25&limit=1" } ``` ```json { "example": "https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?conditional=dateTms$bt2020-05-27T00:00:00::2020-05-28T23:59:59" } ``` ```json { "example": "https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?field=idTransaction::COUNT" } ``` ### Response #### Success Response (200) - **field1** (type) - Description (Details not provided in source) #### Response Example (Response examples not provided in source) ``` -------------------------------- ### Asignar un pago Source: https://developers.paguelofacil.com/api/estaciones Assign a payment to a specific payment station. This service allows you to create a pending transaction that users can pay via the PagueloFacil App. ```APIDOC ## POST /PFManagementServices/api/v1/api/v1/Activities ### Description Assign a payment to a specific payment station. ### Method POST ### Endpoint /PFManagementServices/api/v1/api/v1/Activities ### Request Body - **description** (string) - Required - Description of the payment. - **amount** (number) - Required - The amount of the payment. - **discount** (number) - Optional - The discount applied to the payment. - **idPaymentStation** (integer) - Required - The ID of the payment station to assign the payment to. ### Request Example { "description" : "Pago Mesa 2 Orden ABC", "amount" : 10.0, "discount" : 0.0, "idPaymentStation" : 4 } ``` -------------------------------- ### Customize Popup Size with JavaScript Source: https://developers.paguelofacil.com/guias/clave Adjust the height of the CLAVE payment form container using JavaScript after it has been rendered. ```javascript ``` -------------------------------- ### Query Transactions by Date Range Source: https://developers.paguelofacil.com/api/transacciones Retrieve transactions within a specified date and time range using the '$bt' operator. ```http https://admin.paguelofacil.com/PFManagementServices/api/v1/MerchantTransactions?conditional=dateTms$bt2020-05-27T00:00:00::2020-05-28T23:59:59 ``` -------------------------------- ### Requesting a Payment Code (PHP) Source: https://developers.paguelofacil.com/api/pagocash Use this PHP script to generate a payment code for Pago Cash transactions. Ensure you have your API connection keys and a valid SSL certificate. ```php $restUrl = "https://sandbox.paguelofacil.com/webservices/rest/regCashTx"; $amount = "1.00"; //amount total for transaction $email = "alabrito@gmail.com"; //customer email $phone = "+50766666666"; //customer phone $description = "Pay for cash"; //Description for pay $cclw = "180545821211805458212118054582121180545821211805458212118054582121"; //Paguelofacil code $cashExpired = null; //$cashExpired = 10; //duration in minutes for link payment (ex: 10 minutes) $data = Array( "amount" => $amount, "email" => $email, "phone" => $phone, "concept" => $description, "idUsrRegTx" => null, "cclw" => $cclw, "cashExpired" => $cashExpired, "customFieldValues" => [["id"=>"idOrder","nameOrLabel"=>"Nro de Orden","value"=>"OD-234567"], ["id"=>"idUser","nameOrLabel"=>"User","value"=>"24"], ["id"=>"idTx","nameOrLabel"=>"Txtx","value"=>"678643"], ["id"=>"reference","nameOrLabel"=>"Referencia","value"=>"6754"], ["id"=>"activo","nameOrLabel"=>"estado","value"=>"true"]], ); $jsonR = json_encode($data); $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL, $restUrl); curl_setopt ($ch, CURLOPT_POST, true); curl_setopt ($ch, CURLOPT_AUTOREFERER, true); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Accept: */*')); curl_setopt ($ch, CURLOPT_POSTFIELDS, $jsonR); $result = curl_exec($ch); if($result){ $result = json_decode($result,true); //transform response in array if(array_key_exists("code",$result['headerStatus']) == 200){ //is processed the request //ex for response message: 1|PP735886 $data = $result['data']; $code = substr($data, 2); //operation code $status = substr($data, 0, -9); //status 1|0 -> for the code generation echo $code; // show the code for pagocash } else{ //dont get a code for paguelofacil //show an error message die("service error message"); } } else{ //cannot connect with the service in paguelofacil (error message) die("connection error message"); } ``` -------------------------------- ### Cancelar un pago Source: https://developers.paguelofacil.com/api/estaciones Cancela un pago existente utilizando este servicio POST. Proporciona la razón de la cancelación, el ID de la actividad y el monto. ```json { "reason" : "Error de Carga", "idActivity" : 3513, // Actividad devuelta en la creación del pago, si la perdió puede hacer la búsqueda de un pago pendiente, como en el primer ejemplo "amount" : 10.0 } ``` -------------------------------- ### Add HTML Container for CLAVE Form Source: https://developers.paguelofacil.com/guias/clave Add a div with a specific ID to your HTML body where the CLAVE SDK will render the payment form. ```html