Referencia Técnica

Documentación técnica API y SDK

Versión: 1.0.0

Esta guía proporciona una descripcion técnica de la API de pagos PayCash. Todos los métodos están completamente documentados y las respuestas de la API están en formato JSON estándar. PayCash proporciona un entorno sandbox y una plataforma productiva, solicite sus credenciales para integrar PayCash a su plataforma.

Cómo Iniciar

Proceso de Integración
  1. Solicita tu API Key y URL de integración
  2. Desarrolla en ambiente sandbox, esta es la guía para hacerlo
  3. Cuando estés listo validarémos y certificarémos tu integración, al finalizar recibirás tu API Key y URL del ambiente productivo
  4. Implementemos en producción tu desarrollo
  5. Listo para recibir pagos en efectivo con PayCash
Modo de Uso
  1. Autenticarse como usuario de la plataforma PayCash haciendo uso del método authre. Es necesario contar con tu API Key para solicitar un token, el cual será usado en el resto de los métodos involucrados
  2. Para pagar una referencia PayCash basta con solicitarlo a través del método makepayment. Este método responderá con la autorización del pago y un identificador, el cual servirá para que el establecimiento confirme a través del método confirmpayment que recibió la autorización del pago exitosamente. En algunos escenarios el establecimiento pudiera realizar una búsqueda previa al pago para conocer el estado en que se encuentra la referencia, haciendo uso del método searchreference
  3. Posterior al pago de la referencia PayCash, se pueden consultar los pagos realizados a una referencia o de todas las referencias pagadas en una fecha específica a través del método searchpayment
  4. También como parte de la integración, es necesario enviar un archivo con las transacciones exitosas realizadas el día anterior, con el propósito de hacer la conciliación de estas operaciones y el pago de las comisiones correspondientes al establecimiento. El archivo se deposita en un SFTP del establecimiento o de PayCash

Consumo de API'S

Obtener Token /authre

Para realizar peticiones a la API de PayCash, es necesario contar con tu llave privada, con esta llave podrás obtener un token, el cual es requerido al momento de hacer la solicitud de alguno de los métodos contenidos en este documento. Esta llave privada es configurada para ser utilizada ya sea en modo sandbox o producción. Asegúrate de nunca compartir tu llave privada con nadie, ya que podrían tener accesos a tu cuenta PayCash.

Al hacer la solicitud del token se valida que la llave privada exista, este vigente y corresponda al ambiente sandbox o productivo.

GET /authre
Ejemplos de Uso y SDK

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/authre?key=' #Es necesario reemplazar 'pais' por tu país en la URL

//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/authre?key=") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();

import io.swagger.client.api.CadenaCCApi;

public class CadenaCCApiExample {

    public static void main(String[] args) {
        CadenaCCApi apiInstance = new CadenaCCApi();
        String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
        BodyReversePaymentCC body = ; // BodyReversePaymentCC | 
        try {
            array[RespReversePaymentCC] result = apiInstance.reversePayment(authorization, body);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling CadenaCCApi#reversePayment");
            e.printStackTrace();
        }
    }
}

//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/authre?key="] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);

var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/authre?key=", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/authre?key="); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/authre?key=', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?> 

use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::AuthreApi;

my $api_instance = WWW::SwaggerClient::AuthreApi - > new();
my $key = key_example; # String | Unique key to business partner, from PayCash Global.
my $expirationdate = expirationdate_example; # String | Token expiration date.
my $unique = true; # Boolean | Token type "unique".PENDIENTE

eval {
  my $result = $api_instance - > getToken(key => $key, expirationdate => $expirationdate, unique => $unique);
  print Dumper($result);
};
if ($ @) {
  warn "Exception when calling AuthreApi->getToken: $@\n";
}

#Este ejemplo requiere de la librería http.client para Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = ''
headers = {}
conn.request("GET", "/v1/authre?key=", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Parámetros

Header

Nombre Descripción
key*
String El API Key es un identificador único utilizado para autenticar al usuario. Es proporcionado por el equipo de PayCash.
Obligado

Query

Nombre Descripción
expirationdate
String (yyyy/mm/dd) Fecha de expiración del token.
unique
Boolean Tipo de token "unique".
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "Authorization", "ErrorCode", "ErrorMessage", "ExpiresIn" ], "type" : "object", "properties" : { "Authorization" : { "type" : "string", "description": "Token generado.", "format" : "jwt", "example" : "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwidHlwIjoiSldUIn0.jTSg06LqsFTxGHYRUvZJ8xHn_pBQh-3KxsMu8Mx7c2ZDuUC7faj7PxQCW6WXO2J6HWI0WtqutHbBso0q86D9EC0OpcSWOud1.Y6k6dD_V0QZhBArpQQGGmA.u4dD0O0isMVt9lMRSC5qXQPhOWptZNy_qfgJKqwBZ0NxcsLFoF09Su_jm5KSUkwkNynO23bWZHWrl7owve65k_dSUszGaBYEAsFAYf_GVub18BbLE2TOi3kUt6KDmg0WstbCBJUKIcToQ7mB96DU4AiSQ-xgl6Nl8u3WvZxqXyquk1AayNFHvQ2JnrpyK8AMlWTcrjWf9j6cXwbcjlupSnjB6aLDU1-is0wpOxXJFa9wB-QWy62XQ24SOos4lz7DrSXaBQZDQEzDJdKyWn2iSYXrQ28d7uT7h_Cnbb0xmQuUF1acHRzW2GqJAQwSCJQxMBmiEv9HXGCS4E7_dnkbxv4PSxvGH5ZjBkJIAKAypNYmnHBBANhB7wQxcecz_zRFosAw01L46MQ1VVTnseyoKqsQNE4xJe-5N9cKT6sTptw.JRKHSTluO2XeCge1adNFCOJ-eVIO95WJhd7o51oNT8U" }, "ExpiresIn" : { "type" : "string", "description": "Fecha de expiración del token.", "example" : "6/30/2071 2:36:51 PM" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }

Status: 400 - Internal Server Error

Buscar Referencia /searchreference

Use este método para buscar una referencia PayCash y conocer algunos de sus atributos.

Este es un método de uso opcional, su uso depende de la manera de operar del establecimiento, es decir, no es obligado realizar la búsqueda de una referencia PayCash para proceder con el pago de la misma.

GET /cc/searchreference
Ejemplos de Uso y SDK

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference=' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization: '
 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference=") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("GET", null)
  .addHeader("Authorization", "")
  .build();
Response response = client.newCall(request).execute();
 
import io.swagger.client.api.CadenaCCApi;

          public class CadenaCCApiExample {

              public static void main(String[] args) {
                  CadenaCCApi apiInstance = new CadenaCCApi();
                  String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
                  String reference = reference_example; // String | Reference to search
                  try {
                      array[RespSearchRefCC] result = apiInstance.searchReference(authorization, reference);
                      System.out.println(result);
                  } catch (ApiException e) {
                      System.err.println("Exception when calling CadenaCCApi#searchReference");
                      e.printStackTrace();
                  }
              }
          }

//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference="] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @""
};

[request setAllHTTPHeaderFields:headers];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);

var myHeaders = new Headers();
myHeaders.append("Authorization", "");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference=", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference="); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?reference=', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: '
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
          ?>
 
use Data::Dumper;
          use WWW::SwaggerClient::Configuration;
          use WWW::SwaggerClient::CadenaCCApi;

          my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
          my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
          my $reference = reference_example; # String | Reference to search

          eval { 
              my $result = $api_instance->searchReference(authorization => $authorization, reference => $reference);
              print Dumper($result);
          };
          if ($@) {
              warn "Exception when calling CadenaCCApi->searchReference: $@\n";
          }
 
#Este ejemplo requiere de la librería http.client para Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = ''
headers = {
'Authorization': ''
}
conn.request("GET", "/v1/cc/searchreference?reference=", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

Query

Nombre Descripción
Reference*
String Es la referencia PayCash a buscar.
Obligado
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "SenderId", "SenderName", "ReferenceType", "Amount", "CommissionByPercent", "CommissionByStaticAmount", "CommissionAdditional", "StatusName", "ExpirationDate", "CreateDate", "Value", "CreateDateTime", "ChangeDate", "ErrorCode", "ErrorMessage" ], "type" : "object", "properties" : { "SenderId" : { "type" : "string", "description": "Id del emisor.", "example" : "1" }, "SenderName" : { "type" : "string", "description": "Nombre del emisor.", "example" : "PayCash" }, "ReferenceType" : { "type" : "string", "description": "Existen dos Tipo de referencia Unica y Recurrente. Unica: Solo una vez se reliza el pago. Recurrente: Se puede pagar varias veces.", "example" : "Unica" }, "Amount" : { "type" : "number", "description": "Monto de la referencia. Si el monto es 0 se trata de una referencia de monto abierto. Lo que significa que el cliente puede pagar cualquier monto que el establecimiento permita.", "example" : 100.50 }, "CommissionByPercent" : { "type" : "number", "description": "Comisión por porcentaje.", "example" : 10.1 }, "CommissionByStaticAmount" : { "type" : "number", "description": "Comisión de monto fijo.", "example" : 10.1 }, "CommissionAdditional" : { "type" : "number", "description": "Comisión adicional.", "example" : 10.1 }, "StatusName" : { "type" : "string", "description": "Estado de la referencia PayCash, puede ser Active o Cancelled.", "example" : "Activa" }, "ExpirationDate" : { "type" : "string", "description": "Fecha de vigencia de la referencia PayCash.", "example" : "2021-36-30T00:00:00.000Z" }, "CreateDate" : { "type" : "string", "description": "Fecha de creación de la referencia PayCash.", "example" : "2021-35-17T00:00:00.000Z" }, "Value" : { "type" : "string", "description": "Información de uso libre donde el emisor puede agregar información relevante a su cliente.", "example" : "1234567890123456789012345678901234567890123456789" }, "CreateDateTime" : { "type" : "string", "description": "Fecha de creación de la referencia PayCash.", "example" : "2021-35-17T18:16:26.000Z" }, "ChangeDate" : { "type" : "string", "description": "Fecha y hora del ultima cambio realizado a los atributos de la referencia PayCash...", "example" : "2021-35-17T18:16:26.000Z" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }

Status: 400 - Internal Server Error

Pagar Referencia /makepayment

Use este método para pagar una referencia PayCash.

Al momento de solicitar el pago de la referencia PayCash, el método valida lo siguiente:

  1. Que la referencia exista
  2. Que la referencia este vigente
  3. Que el monto a pagar sea mayor a cero y menor al permitido por el establecimiento
  4. Que en referencias de monto fijo, el monto debe de ser el correspondiente al especificado en la referencia
  5. Que una referencia única ya pagada no puede volverse a pagar
  6. Que no se permite el pago de una referencia de un emisor inactivo
  7. Que la comisión que se le cobra al cliente final debe de corresponder a lo acordado con el establecimiento
  8. Que la secuencia de pago no se esté pagando mas de 1 vez en la misma sucursal, el mismo día
POST /cc/makepayment
Ejemplos de Uso y SDK
 
curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/makepayment' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":"",
    "Commission":""
}'
		 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"Reference\":\"\",\r\n    \"Sequence\":\"\",\r\n    \"Branch\":\"\",\r\n    \"Amount\":\"\",\r\n    \"Commission\":\"\"\r\n}");
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/makepayment") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("POST", body)
  .addHeader("Authorization", "")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
	
	 
	import io.swagger.client.api.CadenaCCApi;

			  public class CadenaCCApiExample {

				  public static void main(String[] args) {
					  CadenaCCApi apiInstance = new CadenaCCApi();
					  String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
					  BodyMakePayment body = ; // BodyMakePayment | 
					  try {
						  array[RespMakePayment] result = apiInstance.makePayment(authorization, body);
						  System.out.println(result);
					  } catch (ApiException e) {
						  System.err.println("Exception when calling CadenaCCApi#makePayment");
						  e.printStackTrace();
					  }
				  }
			  }
	
	 
//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/cc/makepayment"] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"",
  @"Content-Type": @"application/json"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\r\n    \"Reference\":\"\",\r\n    \"Sequence\":\"\",\r\n    \"Branch\":\"\",\r\n    \"Amount\":\"\",\r\n    \"Commission\":\"\"\r\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
	
	 
var myHeaders = new Headers();
myHeaders.append("Authorization", "");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "Reference": "",
  "Sequence": "",
  "Branch": "",
  "Amount": "",
  "Commission": ""
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/cc/makepayment", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
	
	 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/makepayment"); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "");
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@"    ""Reference"":"""",
" + "\n" +
@"    ""Sequence"":"""",
" + "\n" +
@"    ""Branch"":"""",
" + "\n" +
@"    ""Amount"":"""",
" + "\n" +
@"    ""Commission"":""""
" + "\n" +
@"}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
	
	 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/makepayment', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":"",
    "Commission":""
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: ',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
			  ?>
	
	 
	use Data::Dumper;
			  use WWW::SwaggerClient::Configuration;
			  use WWW::SwaggerClient::CadenaCCApi;

			  my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
			  my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
			  my $body = WWW::SwaggerClient::Object::BodyMakePayment->new(); # BodyMakePayment | 

			  eval { 
				  my $result = $api_instance->makePayment(authorization => $authorization, body => $body);
				  print Dumper($result);
			  };
			  if ($@) {
				  warn "Exception when calling CadenaCCApi->makePayment: $@\n";
			  }
	
	 
#Este ejemplo requiere de la librería http.client para Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = json.dumps({
  "Reference": "",
  "Sequence": "",
  "Branch": "",
  "Amount": "",
  "Commission": ""
})
headers = {
  'Authorization': '',
  'Content-Type': 'application/json'
}
conn.request("POST", "/v1/cc/makepayment", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
	
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

Body

Nombre Descripción
Body
{ "required" : [ "Reference", "Sequence", "Branch", "Amount", "Commission" ], "type" : "object", "properties" : { "Reference" : { "type" : "string", "description": "Referencia PayCash.", "example" : "7041621293386809" }, "Sequence" : { "type" : "string", "description": "Es un identificador de la operación, es un dato interno del establecimiento. Deber ser único por sucursal y por día.", "example" : "1293226976" }, "Branch" : { "type" : "number", "description": "Identificador de la sucursal. Es el valor con el que el establecimiento identifica a la sucursal que recibe el pago.", "example" : 0 }, "Amount" : { "type" : "number", "description": "Es el monto a pagar especificado por el usuario.", "example" : 25.23 }, "Commission" : { "type" : "number", "description": "Es la comisión acordada a cobrar al usuario final por la transacción a realizar.", "example" : 0 } } }
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "PaymentId", "PaymentAuthorization", "ErrorCode", "ErrorMessage" ], "type" : "object", "properties" : { "PaymentId" : { "type" : "number", "description": "Es el número de identificador asignado a esta transacción. Este valor es único por cada pago realizado.", "example" : 7250865 }, "PaymentAuthorization" : { "type" : "string", "description": "Es el código de autorización asociado al pago.", "example" : "16565465" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }

Status: 400 - Internal Server Error

Confirmar Pago /confirmpayment

Use este método para confirmar que se recibió la respuesta de la solicitud de pago de la referencia PayCash.

Cuando se acuerda confirmar los pagos, este método es obligatorio o la operación no será considerada como exitosa. Es decir, pagar una referencia PayCash es en dos pasos, la solicitud del pago a través del método makePayment y la confirmación de que se recibió la autorización del pago con el método confirmPayment.

POST /cc/confirmpayment
Ejemplos de Uso y SDK
	 
curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "PaymentId":"",
    "Branch":""
}'
	
	 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"PaymentId\":\"\",\r\n    \"Branch\":\"\"\r\n}");
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("POST", body)
  .addHeader("Authorization", "")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
	
	 
	import io.swagger.client.api.CadenaCCApi;

			  public class CadenaCCApiExample {

				  public static void main(String[] args) {
					  CadenaCCApi apiInstance = new CadenaCCApi();
					  String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
					  BodyCancelPayment body = ; // BodyCancelPayment | 
					  try {
						  array[RespConfirmPayment] result = apiInstance.confirmPayment(authorization, body);
						  System.out.println(result);
					  } catch (ApiException e) {
						  System.err.println("Exception when calling CadenaCCApi#confirmPayment");
						  e.printStackTrace();
					  }
				  }
			  }
	
	 
//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment"] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"",
  @"Content-Type": @"application/json"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\r\n    \"PaymentId\":\"\",\r\n    \"Branch\":\"\"\r\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
	
	 
var myHeaders = new Headers();
myHeaders.append("Authorization", "");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "PaymentId": "",
  "Branch": ""
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
	
	 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment"); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "");
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@"    ""PaymentId"":"""",
" + "\n" +
@"    ""Branch"":""""
" + "\n" +
@"}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
	
	 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "PaymentId":"",
    "Branch":""
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: ',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
			  ?>
	
	 
	use Data::Dumper;
			  use WWW::SwaggerClient::Configuration;
			  use WWW::SwaggerClient::CadenaCCApi;

			  my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
			  my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
			  my $body = WWW::SwaggerClient::Object::BodyCancelPayment->new(); # BodyCancelPayment | 

			  eval { 
				  my $result = $api_instance->confirmPayment(authorization => $authorization, body => $body);
				  print Dumper($result);
			  };
			  if ($@) {
				  warn "Exception when calling CadenaCCApi->confirmPayment: $@\n";
			  }
	
	 
#Este ejemplo requiere de la librería http.client para Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = json.dumps({
  "PaymentId": "",
  "Branch": ""
})
headers = {
  'Authorization': '',
  'Content-Type': 'application/json'
}
conn.request("POST", "/v1/cc/confirmpayment", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
	
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

body

Nombre Descripción
Body
{ "required" : [ "PaymentId", "Branch" ], "type" : "object", "properties" : { "PaymentId" : { "type" : "number", "description": "Es el número de identificador asignado a la transacción de pago.", "example" : 7250865 }, "Branch" : { "type" : "number", "description": "Identificador de la sucursal. Es el valor con el que el establecimiento identifica a la sucursal que recibe el pago.", "example" : 16565465 } } }
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "PaymentId", "PaymentAuthorization", "ErrorCode", "ErrorMessage" ], "type" : "object", "properties" : { "PaymentId" : { "type" : "number", "description": "Es el número de identificador asignado a la transacción de pago.", "example" : 7250865 }, "PaymentAuthorization" : { "type" : "string", "description": "Es el código de autorización asociado al pago.", "example" : "16565465" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }

Status: 400 - Internal Server Error

Reverso del Pago /reversepayment

Use este método para anular la solicitud de pago de una referencia PayCash.

El uso principal de este método aplica cuando no se recibe respuesta por temas de timeout u otra falla local.

POST /cc/reversepayment
Ejemplos de Uso y SDK
	 
curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":""
}'
	
	 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"Reference\":\"\",\r\n    \"Sequence\":\"\",\r\n    \"Branch\":\"\",\r\n    \"Amount\":\"\"\r\n}");
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("POST", body)
  .addHeader("Authorization", "")
  .addHeader("Content-Type", "application/json")
  .build();
Response response = client.newCall(request).execute();
	
	 
	import io.swagger.client.api.CadenaCCApi;

	public class CadenaCCApiExample {

		public static void main(String[] args) {
			CadenaCCApi apiInstance = new CadenaCCApi();
			String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
			BodyReversePaymentCC body = ; // BodyReversePaymentCC | 
			try {
				array[RespReversePaymentCC] result = apiInstance.reversePayment(authorization, body);
				System.out.println(result);
			} catch (ApiException e) {
				System.err.println("Exception when calling CadenaCCApi#reversePayment");
				e.printStackTrace();
			}
		}
	}
	
	 
//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment"] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"",
  @"Content-Type": @"application/json"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\r\n    \"Reference\":\"\",\r\n    \"Sequence\":\"\",\r\n    \"Branch\":\"\",\r\n    \"Amount\":\"\"\r\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
	
	 
var myHeaders = new Headers();
myHeaders.append("Authorization", "");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "Reference": "",
  "Sequence": "",
  "Branch": "",
  "Amount": ""
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
	
	 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment"); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "");
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@"    ""Reference"":"""",
" + "\n" +
@"    ""Sequence"":"""",
" + "\n" +
@"    ""Branch"":"""",
" + "\n" +
@"    ""Amount"":""""
" + "\n" +
@"}";
request.AddParameter("application/json", body,  ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
	
	 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":""
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: ',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
	?>
	
	 
	use Data::Dumper;
	use WWW::SwaggerClient::Configuration;
	use WWW::SwaggerClient::CadenaCCApi;

	my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
	my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
	my $body = WWW::SwaggerClient::Object::BodyReversePaymentCC->new(); # BodyReversePaymentCC | 

	eval { 
		my $result = $api_instance->reversePayment(authorization => $authorization, body => $body);
		print Dumper($result);
	};
	if ($@) {
		warn "Exception when calling CadenaCCApi->reversePayment: $@\n";
	}
	
	 
#Este ejemplo requiere de la librería http.client para Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = json.dumps({
  "Reference": "",
  "Sequence": "",
  "Branch": "",
  "Amount": ""
})
headers = {
  'Authorization': '',
  'Content-Type': 'application/json'
}
conn.request("POST", "/v1/cc/reversepayment", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
	
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

body

Nombre Descripción
Body
{ "required" : [ "Reference", "Sequence", "Branch", "Amount" ], "type" : "object", "properties" : { "Reference" : { "type" : "string", "description": "Referencia PayCash.", "example" : "7041621293226976" }, "Sequence" : { "type" : "string", "description": "Es un identificador de la operación, es un dato interno del establecimiento. Deber ser único por sucursal y por día.", "example" : "1293226976" }, "Branch" : { "type" : "number", "description": "Identificador de la sucursal. Es el valor con el que el establecimiento identifica a la sucursal que recibe el pago.", "example" : 0 }, "Amount" : { "type" : "number", "description": "Es el monto a pagar especificado por el usuario.", "example" : 25.23 } } }
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "PaymentId", "PaymentAuthorization", "ErrorCode", "ErrorMessage" ], "type" : "object", "properties" : { "PaymentId" : { "type" : "string", "description": "Es el número de identificador asignado a la transacción de reverso.", "example" : "156548" }, "PaymentAuthorization" : { "type" : "string", "description": "Es el código de autorización asociado a la cancelación.", "example" : "2129449826" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }

Status: 400 - Internal Server Error

Buscar Pagos /searchpayment

Esté método generalmente es usado cuando el emisor está interesado en conocer si sus referencias ya fueron pagadas. Queda del lado del emisor el implementar este mecanismo de búsqueda.Para este escenario se recomienda solicitar la habilitación de la notificación de pago automatica a través de webHooks.

GET /cc/searchpayment
Ejemplos de Uso y SDK
	 
curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization;'
	
	 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("GET", null)
  .addHeader("Authorization", "")
  .build();
Response response = client.newCall(request).execute();
	
	 
	import io.swagger.client.api.CadenaCCApi;

	public class CadenaCCApiExample {

		public static void main(String[] args) {
			CadenaCCApi apiInstance = new CadenaCCApi();
			String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
			String reference = reference_example; // String | Reference to search
			String branch = branch_example; // String | Branch to search
			String sequence = sequence_example; // String | Sequence to search
			String amount = amount_example; // String | Amount to search
			try {
				array[RespSearchPayment] result = apiInstance.searchPayment(authorization, reference, branch, sequence, amount);
				System.out.println(result);
			} catch (ApiException e) {
				System.err.println("Exception when calling CadenaCCApi#searchPayment");
				e.printStackTrace();
			}
		}
	}
	
	 
//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad"] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @""
};

[request setAllHTTPHeaderFields:headers];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
	
	 
var myHeaders = new Headers();
myHeaders.append("Authorization", "");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
	
	 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad"); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
	
	 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: '
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
	?>
	
	 
	use Data::Dumper;
	use WWW::SwaggerClient::Configuration;
	use WWW::SwaggerClient::CadenaCCApi;

	my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
	my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
	my $reference = reference_example; # String | Reference to search
	my $branch = branch_example; # String | Branch to search
	my $sequence = sequence_example; # String | Sequence to search
	my $amount = amount_example; # String | Amount to search

	eval { 
		my $result = $api_instance->searchPayment(authorization => $authorization, reference => $reference, branch => $branch, sequence => $sequence, amount => $amount);
		print Dumper($result);
	};
	if ($@) {
		warn "Exception when calling CadenaCCApi->searchPayment: $@\n";
	}
	
	 
#Este ejemplo requiere de la librería http.client para Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = ''
headers = {
  'Authorization': ''
}
conn.request("GET", "/v1/cc/searchpayment?Reference=null&Secuencia=null&Branch=null&Cantidad=null", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
	
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

Query

Nombre Descripción
Referencia
String Referencia PayCash a buscar.
Branch
String Sucursal a buscar.
Secuencia
String Secuencia a buscar.
Cantidad
String Monto a buscar.
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "ErrorCode", "ErrorMessage", "PaymentAuthorization", "PaymentId" ], "type" : "object", "properties" : { "PaymentId" : { "type" : "number", "description": "Id del pago", "example" : 156548 }, "PaymentAuthorization" : { "type" : "string", "description": "Autorización del pago", "example" : "2129449826" }, "ErrorCode" : { "type" : "string", "description": "Código de error. Si el resultado de la operación es exitosa regresa un 0, de otro modo regresa un valor diferente a 0.", "example" : "0" }, "ErrorMessage" : { "type" : "string", "description": "Mensaje descriptivo del resultado de la operación solicitada.", "example" : "Operacion Exitosa." } } }
Consultar Pagos

Consulta los pagos de referencias realizados en una fecha específica a partir de una hora.

Esté método generalmente es usado cuando la cadena está interesado en conocer si sus referencias ya fueron pagadas. Queda del lado delas cadenas el implementar este mecanismo de búsqueda. Para este escenario se recomienda solicitar la habilitación de la notificación de pago automatica a través de webHooks.

Ejemplos de Uso y SDK
	 
curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour' \ #Es necesario reemplazar 'pais' por tu país en la URL
--header 'Authorization;'
	
	 
//Este ejemplo requiere de la librería OkHttp para JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour") //Es necesario reemplazar 'pais' por tu país en la URL
  .method("GET", null)
  .addHeader("Authorization", "")
  .build();
Response response = client.newCall(request).execute();
	
	 
	import io.swagger.client.api.EmisorApi;
		
		public class CadenaCCApiExample {
		  public static void main(String[] args) {
			CadenaCCApi apiInstance = new CadenaCCApi();
			  String authorization = authorization_example; // String | Token to business partner , from PayCash Global.
			  String Date = date_example; // String | Date to yyyy-mm-dd
			  String Hour = hour_example; // String | Hour to HH:MM:ss
			  try {
				  array[RespPaymentRef] result = apiInstance.Payments(authorization, Date,Hour);
				  System.out.println(result);
			  } catch (ApiException e) {
				  System.err.println("Exception when calling CadenaCCApi#Payments");
				  e.printStackTrace();
			  }
		  }
		}
	
	 
//Este ejemplo requiere de la librería NSURLSession para Obj-C
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour"] //Es necesario reemplazar 'pais' por tu país en la URL
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @""
};

[request setAllHTTPHeaderFields:headers];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
	
	 
var myHeaders = new Headers();
myHeaders.append("Authorization", "");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour", requestOptions) //Es necesario reemplazar 'pais' por tu país en la URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
	
	 
//Este ejemplo requiere de la librería RestSharp para C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour"); //Es necesario reemplazar 'pais' por tu país en la URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
	
	 
<?php
//Este ejemplo requiere de la librería cURL para PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour', //Es necesario reemplazar 'pais' por tu país en la URL
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: '
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
		?>
	
	 
	use Data::Dumper;
		use WWW::SwaggerClient::Configuration;
		use WWW::SwaggerClient::CadenaCCApi;
		
		my $api_instance = WWW::SwaggerClient::CadenaCCApi->new();
		my $authorization = authorization_example; # String | Token to business partner , from PayCash Global.
		my $Date = date_example; # String | Date to yyyy-mm-dd
		my $Hour = date_example; # String | Hour to HH:MM:ss
		
		eval { 
		  my $result = $api_instance->Payments(authorization => $authorization,Date => $date,Hour => $hour);
		  print Dumper($result);
		};
		if ($@) {
		  warn "Exception when calling CadenaCCApi->Payments: $@\n";
		}
	
	 
#Este ejemplo requiere de la librería http.client para Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #Es necesario reemplazar 'pais' por tu país en la URL
payload = ''
headers = {
  'Authorization': ''
}
conn.request("GET", "/v1/payments?Date=null&Hour=null", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
	
Parámetros

Header

Nombre Descripción
authorization*
String Token obtenido al momento de autenticarse. Resultado de ejecutar el método para obtener el token (authre).
Obligado

Query

Nombre Descripción
Referencia
String Fecha en la que se desea consultar los pagos. Formato: yyy-mm-dd.
Obligado
Branch
String Hora a partir de la cual se hace la consulta de pagos. Formato: hh:mm:ss.
Obligado
Respuestas

Status: 200 - Successful Process

Schema

{ "required" : [ "PaymentId", "Type", "SenderId", "Amount", "Commission", "Date", "Hour" , "Authorization", "Reference", "Status", "RefValue"], "type" : "object", "properties" : { "PaymentId" : { "type" : "number", "description" :"Es el número de identificador asignado a esta transacción. Este valor es único por cada pago realizado.", "example" : 7041625086521565 }, "Type" : { "type" : "number", "description": "Indica si la referencia es de pago único o recurrente. 1.- Referencia de pago único. 2.- Referencia de pago recurrente.", "example" : 2 }, "SenderId" : { "type" : "number", "description" :"Identificador del emisor.", "example" : 72 }, "Sequence" : { "type" : "string", "description" :"Es un identificador de la operación, es un dato interno del establecimiento. Deber ser único por sucursal y por día.", "example" : "1293226976" }, "Amount" : { "type" : "number", "description" :"Monto del pago.", "example" : 1221.55 }, "Commission" : { "type" : "number", "description" :"Es la comisión acordada a cobrar al usuario final por la transacción realizada.", "example" : 10.00 }, "Date" : { "type" : "string", "description": "Fecha en la que fue pagada la referencia.", "example" : "2020-10-23" }, "Hour" : { "type" : "string", "description": " Hora en la que fue pagada la referencia.", "example" : "15:47:26" }, "Authorization" : { "type" : "number", "description": "Es el código de autorización asociado al pago.", "example" : 100406056466644 }, "Reference" : { "type" : "number", "description":"Referencia PayCash.", "example" : 1004000427402 }, "Status" : { "type" : "number", "description": "Estatus del pago consultado. 0.- Pago Exitoso. 3.- Pago Cancelado.", "example" : 0 }, "RefValue" : { "type" : "number", "description": "Información establecida al momento de crear la referencia PayCash. Es una cadena que recibe datos alfanuméricos de hasta 40 posiciones.", "example" : 427402 } } }

Códigos de Respuesta

API REST México
Propósito

Identificar los códigos de respuesta que existen para cada método.

La siguiente tabla muestra los códigos de respuesta que existen para cada método.

No. Método Código Mensaje de Respuesta
1 Authre 0 Operacion Exitosa.
2 111 Error General. El acceso para generar el token es inválido.
3 111 Error General. Llave de usuario es invalida.
4 SearchReference 0 Operacion Exitosa.
5 102 Error General. AuthCode es inválido.
6 102 Error General. AuthCode Estatus inválido.
7 102 Error General. AuthCode type es inválido.
8 102 Error General. AuthCode ha expirado.
9 102 Error General. El emisor indicado no es valido.
10 102 Error General. Estatus de cadena inválido.
11 102 Error General. La operación no existe.
12 MakePayment SC 0 Operacion Exitosa.
13 25 Referencia invalida, por favor verifique sus datos.
14 26 El emisor indicado no es valido
15 26 El emisor indicado no es valido o se encuentra inactivo.
16 27 Referencia YA no es vigente.
17 28 Importe inválido, favor de validar maximos y minimos
18 29 Importe inválido, por favor verifique el monto a pagar para su recibo.
19 30 Factura o recibo vencido, no puede ser pagado.
20 31 Error en configuracion, por favor contacte a soporte.
21 32 Comision a cobrar incorrecta, por favor verifique configuracion.
22 33 Error. El numero de secuencia de pago esta duplicado.
23 34 Referencia Previamente pagada. La referencia permite un solo pago.
24 35 Error al procesar pago. Por favor notifique a soporte.
25 36 Error al procesar pago. Por favor notifique a soporte.
26 37 Error al procesar pago. Por favor notifique a soporte.
27 38 Error al procesar pago. Por favor notifique a soporte.
28 39 Error la Subcadena no existe. Por favor notifique a soporte.
29 40 Error la sucursal no cumple las especificaciones. Por favor notifique a soporte.
30 41 Error al registrar el pago de la subcadena. Por favor notifique a soporte.
31 MakePayment CC 0 Operacion Exitosa.
32 25 Referencia invalida, por favor verifique sus datos.
33 26 El emisor indicado no es valido o se encuentra inactivo.
34 27 Referencia ya no es vigente.
35 28 Importe inválido, favor de validar maximos y minimos
36 29 Importe inválido, por favor verifique el monto a pagar para su recibo.
37 30 Factura o recibo vencido, no puede ser pagado.
38 31 Error en configuracion, por favor contacte a soporte.
39 32 Comision a cobrar incorrecta, por favor verifique configuracion.
40 33 Error. El numero de secuencia de pago esta duplicado.
41 34 Referencia Previamente pagada. La referencia permite un solo pago.
42 35 Error al procesar pago. Por favor notifique a soporte.
43 36 Error al procesar pago. Por favor notifique a soporte.
44 39 Error la Subcadena no existe. Por favor notifique a soporte.
45 39 Error al registrar el pago de la subcadena. Por favor notifique a soporte.
46 40 Error la sucursal no cumple las especificaciones. Por favor notifique a soporte.
47 ConfirmPayment 0 Operacion Exitosa.
48 27 El emisor indicado no es valido.
49 37 Error al procesar pago. Por favor notifique a soporte.
50 50 Referencia previamente confirmada.
51 50 Referencia previamente cancelada.
52 50 Referencia con estatus inválido.
53 61 La operacion no existe.
54 71 La operacion no puede ser confirmada, por favor contacte a soporte.
55 ReversePayment SC 0 Operacion Exitosa.
56 0 El pago ya fue procesado.
57 50 Operacion invalida o previamente cancelada.
58 50 Tiempo maximo para reverso ha expirado.
59 61 La operacion no existe.
60 71 La operacion no existe.
61 ReversePayment CC 0 Operacion Exitosa.
62 0 El pago ya fue procesado.
63 49 Referencia previamente cancelada.
64 49 Referencia con estatus inválido.
65 50 Referencia previamente confirmada. Reverso no permitido.
66 61 La operacion no existe.
67 71 La operacion no existe.
68 SearchPayment SC 0 Operacion Exitosa.
69 61 La operacion no existe.
70 API 150 Error Service.
API Rest LATAM
Propósito

Identificar los códigos de respuesta que existen para cada método.

La siguiente tabla muestra los códigos de respuesta que existen para cada método.

No. Método Código Mensaje de Respuesta
1 Authre 0 Operacion Exitosa.
2 111 Error General. El acceso para generar el token es inválido.
3 111 Error General. Llave de usuario es invalida.
4 SearchReference 0 Operacion Exitosa.
5 102 Error General. AuthCode Estatus inválido.
6 102 Error General. AuthCode type es inválido.
7 102 Error General. AuthCode ha expirado.
8 102 Error General. Referencia invalida.
9 102 Error General. Referencia no corresponde al Emisor.
10 102 Error General. El emisor indicado no es valido.
11 102 Error General. Estatus de emisor inválido.
12 102 Error General. AuthCode es inválido.
13 MakePayment 0 Operacion Exitosa.
14 37 Error al registrar el pago de la subcadena. Por favor notifique a soporte.
15 39 Error la Subcadena no existe. Por favor notifique a soporte.
16 40 Error la sucursal no cumple las especificaciones. Por favor notifique a soporte.
17 104 Error General. AuthCode es inválido.
18 104 Error General. AuthCode Estatus inválido.
19 104 Error General. AuthCode type es inválido.
20 104 Error General. AuthCode ha expirado.
21 104 Error General. Referencia invalida.
22 104 Error General. Referencia con estatus inválido.
23 104 Error General. Factura o recibo vencido, no puede ser pagado.
24 104 Error General. Importe inválido, el monto a pagar es: ###
25 104 Error General. Comercio indicado no es valido.
26 104 Error General. Estatus de cadena inválido.
27 104 Error General. Importe inválido, favor de validar maximos y minimos.
28 104 Error General. El emisor indicado no es valido.
29 104 Error General. Estatus de emisor inválido.
30 104 Error General. Comision a cobrar incorrecta, por favor verifique configuracion.
31 104 Error General. El numero de secuencia de pago esta duplicado.
32 104 Error General. Referencia Previamente pagada. La referencia permite un solo pago.
33 104 Error General. Error al procesar pago. Por favor notifique a soporte.
34 SearchPayment 0 Operacion Exitosa.
35 105 Error General. AuthCode es inválido.
36 105 Error General. AuthCode Estatus inválido.
37 105 Error General. AuthCode type es inválido.
38 105 Error General. AuthCode ha expirado.
39 105 Error General. Comercio indicado no es valido.
40 105 Error General. Estatus de cadena inválido.
41 105 Error General. La operación no existe.
42 Payments 0 Operacion Exitosa.
43 105 Error General. AuthCode es inválido.
44 105 Error General. AuthCode Estatus inválido.
45 105 Error General. AuthCode type es inválido.
46 105 Error General. AuthCode ha expirado.
47 105 Error General. Comercio indicado no es valido.
48 105 Error General. Estatus de cadena inválido.
49 105 Error General. La operación no existe.
50 ReversePayment 0 Operacion Exitosa.
51 106 Error General. AuthCode es inválido.
52 106 Error General. AuthCode Estatus inválido.
53 106 Error General. AuthCode type es inválido.
54 106 Error General. AuthCode ha expirado.
55 106 Error General. Comercio indicado no es valido.
56 106 Error General. Estatus de cadena inválido.
57 106 Error General. La operación no existe.
58 106 Error General. Referencia previamente cancelada.
59 106 Error General. Referencia con estatus inválido.
60 106 Error General. Referencia previamente confirmada. Reverso no permitido.
61 ConfirmPayment 0 Operacion Exitosa.
62 107 Error General. AuthCode es inválido.
63 107 Error General. AuthCode Estatus inválido.
64 107 Error General. AuthCode type es inválido.
65 107 Error General. AuthCode ha expirado.
66 107 Error General. Comercio indicado no es valido.
67 107 Error General. Estatus de cadena inválido.
68 107 Error General. La operación no existe.
69 107 Error General. Referencia previamente confirmada.
70 107 Error General. Referencia previamente cancelada.
71 107 Error General. Referencia con estatus inválido.
72 107 Error General. El emisor indicado no es valido.
73 107 Error General. Estatus de emisor inválido.
74 107 Error General. La operación no puede ser confirmada, por favor contacte a soporte.
75 107 Error General. Error al procesar pago. Por favor notifique a soporte.
76 API 112 Error acceso
77 112 Exception
78 112 Expiro token
79 112 Token incorrecto
80 112 Token inválido
81 113 Error acceso
82 114 Error acceso
83 114 Fecha expiracion debe ser mayor a Fecha actual
84 150 Error Service.

Otros

Proceso de Conciliación
Propósito

Identificar las diferencias que existen entre las transacciones reportadas entre las cadenas o receptores y las registradas con PayCash. Una vez identificadas, proceder a investigar las causas/motivos de dichas diferencias para que estas puedan ser corregidas o aclaradas.

Las diferencias pueden ser de los siguientes tipos:

  • La cadena no reporte transacciones que PayCash tiene registradas.
  • La cadena reporte transacciones que PayCash no tiene registradas.
Nomenclatura

El nombre del archivo deberá estar formado de la siguiente manera:

No. Posición inicial Posición final Longitud Formato Comentarios
1 1 8 8 YYYYMMDD
Fecha de conciliación.
2 9 9 1 "_"
Separador "_".
3 10 12 3 "F3"
Valor constante "F3".
4 13 13 1 "_"
Separador "_".
5 14 18 5
Identificador de la cadena. Se justifica con ceros a la izquierda a 5 posiciones. Es un valor numérico.
6 19 19 1 "."
Separador del nombre del archivo y la extensión.
7 20 22 3 "txt"
Extensión del archivo. Sera un "txt".

Ejemplo: 20191110_F3_00456.txt

Significado:

  • El archivo corresponde a las operaciones del 10 de noviembre del 2019.
  • El identificador de la cadena es 456.
Contenido

El contenido del archivo está formado por:

  • Cabecera. Es la primera línea del archivo que contiene información de la cadena y el resumen de las operaciones realizadas.
  • Detalle de operaciones. Se genera a partir de la segunda línea y cada línea contiene información particular de la operación realizada.
Cabecera
No. Contenido Formato Comentarios
1
Identificador de registro o línea de cabecera.
"F3"
Valor constante "F3".
2
Identificador de la cadena.
Valor numérico con el que se conoce a la cadena. Es proporcionado por PayCash a la cadena.
3
Fecha de las operaciones a conciliar.
DDMMYYYY
Fecha de la conciliación.
4
Cantidad de operaciones del día.
99999999999
Valor numérico que contiene el total de las operaciones realizadas en el día. Si no se realizaron operaciones el valor es 000.
5
Importe total de las operaciones del día.
99999999999
Valor numérico que contiene el importe total acumulado de las operaciones realizadas en el día. Se reporta con 2 decimales sin punto. Si no se realizaron operaciones el valor es 000.
Detalle
No. Contenido Formato Obligatorio Comentarios
1
Identificador de la línea.
"REG" Si
Valor constante "REG".
2
Fecha de la operación.
DDMMYYYY Si
Fecha en la cual fue procesada la operación.
3
Hora de la operación.
HHMMSS Si
Hora en la cual fue procesada la operación.
4
Folio.
99999999999 Si
5
Autorización.
Si
Clave de autorización generada por el pago.
6
Sucursal.
No
Sucursal.
7
Referencia.
9999999999999999 Si
Referencia PayCash pagada.
8
Importe.
99999999999 Si
Importe pagado de la referencia.
-Incluye 2 decimales sin punto.
9
Comisión.
99999999999 Si
Importe que la cadena cobra al cliente final por la operación.
-Incluye 2 decimales sin punto.
-Ejemplos:
-$3.60 = 360
-$100 = 10000
Consideraciones Generales
  • El archivo se genera todos los días
  • El archivo se deposita en un servidor SFTP. Puede ser de la cadena o de PayCash
  • El horario en el que se genera el archivo debe ser entre las 00:01 y las 04:00
  • Acordar un responsable para temas de diferencias y/o aclaraciones

Sugerencias, contacto, soporte o reporte de errores soporte@paycashglobal.com