API Summary / Retail stores integration

Get started

Integration process

1.- Request your API Key and integration URL.

2.- Develop in a sandbox environment. This is the guide to do it.

3.- When you are ready, we will validate and certify your integration. At the end you will receive your API Key and URL of the production environment.

4.- Let's implement your development in production.

5.- Ready to receive cash payments with PayCash.



How to use

1.- Authenticate yourself as a user of the PayCash platform using the authre method. It is necessary to have your API Key to request a token, which will be used in the rest of the methods involved.

2.- To pay a PayCash reference, just request it through the makepayment method. This method will respond with the authorization of the payment and an identifier, which will serve for the establishment to confirm through the method confirmpayment that you received the payment authorization successfully. In some scenarios, the establishment could carry out a search prior to payment to find out the status of the reference, using the searchreference.

3.- After the payment of the PayCash reference, possibility of being able to consult payments made to a referral or all referrals paid on a specific date via the searchreference method.

4.- Also as part of the integration, it is necessary to send a file with the successful transactions carried out the day before, in order to reconcile these operations and pay the commissions corresponding to the establishment.

Note: The use of the reversepayment method is reserved for timeout issues during the payment or confirmation request in the makepayment and confirmpayment methods.

Consuming API's

Get Token / authre

To make requests to the PayCash API, it is necessary to have your private key, with this key you can obtain a token, which is required when making the request for any of the methods contained in this document. This private key is configured to be used either in sandbox or production mode. Make sure you never share your key with anyone, as they may have access to your PayCash account.

When making the request for the token, it is validated that the private key exists, is valid and corresponds to the sandbox or production environment.


/authre

Usage and SDK Samples

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/authre?key=' #It is necessary to replace 'pais' with your country in the URL
//This example requires the OkHttp library for JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/authre?key=") //It is necessary to replace 'pais' with your country in the URL
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();
import io.swagger.client.api.AuthreApi;

public class AuthreApiExample {

    public static void main(String[] args) {
        AuthreApi apiInstance = new AuthreApi();
        String key = key_example; // String | Unique key to business partner , from PayCash Global.
        String expirationdate = expirationdate_example; // String | Token expiration date.
        Boolean unique = true; // Boolean | Token type "unique". 
        try {
            array[RespAuther] result = apiInstance.getToken(key, expirationdate, unique);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling AuthreApi#getToken");
            e.printStackTrace();
        }
    }
}
//This example requires the NSURLSession library for 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="] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/authre?key="); //It is necessary to replace 'pais' with your country in the URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/authre?key=', //It is necessary to replace 'pais' with your country in the 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". 

eval { 
    my $result = $api_instance->getToken(key => $key, expirationdate => $expirationdate, unique => $unique);
    print Dumper($result);
};
if ($@) {
    warn "Exception when calling AuthreApi->getToken: $@\n";
}
#This example requires the http.client library for Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the URL
payload = ''
headers = {}
conn.request("GET", "/v1/authre?key=", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Parameters

Header parameters
Name Description
key*
String
The API Key is a unique identifier used to authenticate the user. It is provided by the PayCash team.
Required
Query parameters
Name Description
expirationdate
String (yyyy/MM/dd)
Token expiration date.
unique
Boolean
Token type "unique".

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Search a reference / searchreference

Use this method to find a PayCash reference and find out some of its attributes.

This is an optional method, its use depends on the way the establishment operates, that is, it is not mandatory to search for a PayCash reference to proceed with the payment.


/cc/searchreference

Usage and SDK Samples

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?Reference=' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization: '
//This example requires the OkHttp library for JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?Reference=") //It is necessary to replace 'pais' with your country in the 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();
        }
    }
}
//This example requires the NSURLSession library for 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="] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?Reference="); //It is necessary to replace 'pais' with your country in the URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/searchreference?Reference=', //It is necessary to replace 'pais' with your country in the 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";
}
#This example requires the http.client library for Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the URL
payload = ''
headers = {
'Authorization': ''
}
conn.request("GET", "/v1/cc/searchreference?Reference=", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Query parameters
Name Description
Reference*
String
PayCash reference to search.
Required

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Create payment / makepayment

Use this method to pay for a PayCash reference.

When requesting the payment of the PayCash reference, the method validates the following:

1.- The reference must exist.

2.- The reference must be current.

3.- The amount to be paid is greater than zero and less than that allowed by the establishment.

4.- In fixed-amount references, the amount must be the one specified in the reference.

5.- A single reference already paid cannot be paid again.

6.- The payment of a reference from an inactive issuer is not allowed.

7.- The commission charged to the end customer must correspond to what was agreed with the establishment.

8.- The payment sequence is not being paid more than 1 time at the same branch, on the same day.


/cc/makepayment

Usage and SDK Samples

curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/makepayment' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":"",
    "Commission":""
}'
//This example requires the OkHttp library for 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") //It is necessary to replace 'pais' with your country in the 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();
                  }
              }
          }
//This example requires the NSURLSession library for 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"] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/makepayment"); //It is necessary to replace 'pais' with your country in the 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);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/makepayment', //It is necessary to replace 'pais' with your country in the 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";
          }
#This example requires the http.client library for Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the 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"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Body parameters
Name Description
body

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Confirm payment / confirmpayment

Use this method to confirm that the payment request response from the PayCash reference was received.

When it is agreed to confirm payments, this method is mandatory or the operation will not be considered as successful. That is, paying a PayCash reference is in two steps, the request for payment through the makePayment method and the confirmation that the payment authorization was received with the confirmPayment method.


/cc/confirmpayment

Usage and SDK Samples

curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization: ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "PaymentId":"",
    "Branch":""
}'
//This example requires the OkHttp library for 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") //It is necessary to replace 'pais' with your country in the 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();
        }
    }
}
//This example requires the NSURLSession library for 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"] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment"); //It is necessary to replace 'pais' with your country in the 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);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/confirmpayment', //It is necessary to replace 'pais' with your country in the 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";
}
#This example requires the http.client library for Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the 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"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Body parameters
Name Description
body

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Reverse payment / reversepayment

Use this method to cancel the payment request for a PayCash reference.

The main use of this method applies when no response is received due to timeout issues or other local failure.


/cc/reversepayment

Usage and SDK Samples

curl --location --request POST 'https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "Reference":"",
    "Sequence":"",
    "Branch":"",
    "Amount":""
}'
//This example requires the OkHttp library for 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") //It is necessary to replace 'pais' with your country in the 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();
        }
    }
}
//This example requires the NSURLSession library for 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"] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment"); //It is necessary to replace 'pais' with your country in the 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);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/reversepayment', //It is necessary to replace 'pais' with your country in the 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";
}
#This example requires the http.client library for Python
import http.client
import json

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the 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"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Body parameters
Name Description
body

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Search payment / searchpayment

Search process for a payment, previously made.

Search method for a payment, previously made. Sending in Params the valid data "Reference", "Branch", "Sequence" and "Amount".


/cc/searchpayment

Usage and SDK Samples

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization;'
//This example requires the OkHttp library for 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") //It is necessary to replace 'pais' with your country in the 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();
        }
    }
}
//This example requires the NSURLSession library for 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"] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad"); //It is necessary to replace 'pais' with your country in the URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/cc/searchpayment?Reference&Secuencia&Branch&Cantidad', //It is necessary to replace 'pais' with your country in the 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";
}
#This example requires the http.client library for Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the 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"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Query parameters
Name Description
Reference
String
Reference to search.
Branch
String
Branch to search.
Sequence
String
Sequence to search.
Amount
String
Amount to search.

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Check payments / payments

Check referral payments made on a specific date from one hour on.

This method is generally used when the chain is interested in knowing if their referencese already been paid.
It is up to the string to implement this search mechanism.
For this scenario, it is recommended to request the enablement of the automatic payment notification through webHooks.


/payments

Usage and SDK Samples

curl --location --request GET 'https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour' \ #It is necessary to replace 'pais' with your country in the URL
--header 'Authorization;'
//This example requires the OkHttp library for JAVA
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour") //It is necessary to replace 'pais' with your country in the URL
  .method("GET", null)
  .addHeader("Authorization", "")
  .build();
Response response = client.newCall(request).execute();
import io.swagger.client.api.CadenasCCApi;
    
    public class CadenasCCApiExample { 
      public static void main(String[] args) {
          CadenasCCApi apiInstance = new CadenasCCApi();
          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[RespPayments] result = apiInstance.Payments(authorization,Date,Hour);
              System.out.println(result);
          } catch (ApiException e) {
              System.err.println("Exception when calling CadenasCCApi#Payments");
              e.printStackTrace();
          }
      }
    }
//This example requires the NSURLSession library for 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"] //It is necessary to replace 'pais' with your country in the 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) //It is necessary to replace 'pais' with your country in the URL
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
//This example requires the RestSharp library for C#
var client = new RestClient("https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour"); //It is necessary to replace 'pais' with your country in the URL
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
//This example requires the cURL library for PHP
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sb-api-pais.paycashglobal.com/v1/payments?Date&Hour', //It is necessary to replace 'pais' with your country in the 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::CadenasCCApi;
    
    my $api_instance = WWW::SwaggerClient::CadenasCCApi->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 CadenasCCApi->Payments: $@\n";
    }
#This example requires the http.client library for Python
import http.client

conn = http.client.HTTPSConnection("sb-api-pais.paycashglobal.com") #It is necessary to replace 'pais' with your country in the 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"))

Parameters

Header parameters
Name Description
authorization*
String
Token obtained when authenticating. Result of executing the method to obtain the token (authre).
Required
Query parameters
Name Description
Date
String
Date on which you want to check the payments.
-Format: YYYY-mm-dd
Required
Hour
String
Time from which the payment inquiry is made.
-Format: hh:mm:ss
Required

Responses

Status: 200 - Successful Process

Status: 400 - Internal Server Error.


Response codes

API REST México

Purpose

Identify the response codes that exist for each method.

The following table shows the response codes that exist for each method.

No. Method Code Reply message
1 Authre 0 Operacion Exitosa.
2 111 Error General. El acceso para generar el token es invalido.
3 111 Error General. Llave de usuario es invalida.
4 SearchReference 0 Operacion Exitosa.
5 102 Error General. AuthCode es invalido.
6 102 Error General. AuthCode Estatus invalido.
7 102 Error General. AuthCode type es invalido.
8 102 Error General. AuthCode ha expirado.
9 102 Error General. El emisor indicado no es valido.
10 102 Error General. Estatus de cadena invalido.
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 invalido, favor de validar maximos y minimos
18 29 Importe invalido, 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 invalido, favor de validar maximos y minimos
36 29 Importe invalido, 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 invalido.
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 invalido.
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.
Note: Error messages are intentionally displayed without accents.



API REST Latam

Purpose

Identify the response codes that exist for each method.

The following table shows the response codes that exist for each method.

No. Method Code Reply message
1 Authre 0 Operacion Exitosa.
2 111 Error General. El acceso para generar el token es invalido.
3 111 Error General. Llave de usuario es invalida.
4 SearchReference 0 Operacion Exitosa.
5 102 Error General. AuthCode Estatus invalido.
6 102 Error General. AuthCode type es invalido.
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 invalido.
12 102 Error General. AuthCode es invalido.
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 invalido.
18 104 Error General. AuthCode Estatus invalido.
19 104 Error General. AuthCode type es invalido.
20 104 Error General. AuthCode ha expirado.
21 104 Error General. Referencia invalida.
22 104 Error General. Referencia con estatus invalido.
23 104 Error General. Factura o recibo vencido, no puede ser pagado.
24 104 Error General. Importe invalido, el monto a pagar es: ###
25 104 Error General. Comercio indicado no es valido.
26 104 Error General. Estatus de cadena invalido.
27 104 Error General. Importe invalido, favor de validar maximos y minimos.
28 104 Error General. El emisor indicado no es valido.
29 104 Error General. Estatus de emisor invalido.
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 invalido.
36 105 Error General. AuthCode Estatus invalido.
37 105 Error General. AuthCode type es invalido.
38 105 Error General. AuthCode ha expirado.
39 105 Error General. Comercio indicado no es valido.
40 105 Error General. Estatus de cadena invalido.
41 105 Error General. La operación no existe.
42 Payments 0 Operacion Exitosa.
43 105 Error General. AuthCode es invalido.
44 105 Error General. AuthCode Estatus invalido.
45 105 Error General. AuthCode type es invalido.
46 105 Error General. AuthCode ha expirado.
47 105 Error General. Comercio indicado no es valido.
48 105 Error General. Estatus de cadena invalido.
49 105 Error General. La operación no existe.
50 ReversePayment 0 Operacion Exitosa.
51 106 Error General. AuthCode es invalido.
52 106 Error General. AuthCode Estatus invalido.
53 106 Error General. AuthCode type es invalido.
54 106 Error General. AuthCode ha expirado.
55 106 Error General. Comercio indicado no es valido.
56 106 Error General. Estatus de cadena invalido.
57 106 Error General. La operación no existe.
58 106 Error General. Referencia previamente cancelada.
59 106 Error General. Referencia con estatus invalido.
60 106 Error General. Referencia previamente confirmada. Reverso no permitido.
61 ConfirmPayment 0 Operacion Exitosa.
62 107 Error General. AuthCode es invalido.
63 107 Error General. AuthCode Estatus invalido.
64 107 Error General. AuthCode type es invalido.
65 107 Error General. AuthCode ha expirado.
66 107 Error General. Comercio indicado no es valido.
67 107 Error General. Estatus de cadena invalido.
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 invalido.
72 107 Error General. El emisor indicado no es valido.
73 107 Error General. Estatus de emisor invalido.
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 150 Error Service.
Note: Error messages are intentionally displayed without accents.


Others

Conciliation process

Purpose

Identify the differences that exist between the transactions reported between the chains or receivers and those registered with PayCash.
Once identified, proceed to investigate the causes / reasons for these differences so that they can be corrected or clarified.

The differences can be of the following types:

- The chain does not report transactions that PayCash has registered.
- The chain reports transactions that PayCash does not have registered.

Nomenclature
The name of the file should be formed as follows:
No. Initial position Final position Length Format Comments
1 1 8 8 YYYYMMDD
Conciliation date.
2 9 9 1 "_"
Separator "_".
3 10 12 3 "F3"
Constant value "F3".
4 13 13 1 "_"
Separator "_".
5 14 18 5
String identifier. It is justified with leading zeros to 5 places. It is a numerical value.
6 19 19 1 "."
File name and extension separator.
7 20 22 3 "txt"
File extension. It will be a "txt".
Example: 20191110_F3_00456.txt

Means that:

- The file corresponds to the operations of November 10, 2019.

- The string identifier is 456.

Content
The content of the file consists of:
- Headboard. It is the first line of the file that contains information about the chain and the summary of the operations performed.
- Details of operations. It is generated from the second line and each line contains specific information about the operation performed.
Headboard
No. Content Format Comments
1 Record identifier or header line. "F3"
Constant value "F3".
2 Identificador de la cadena.
Numeric value with which the string is known. It is provided by PayCash to the chain.
3 Date of the transactions to be reconciled. DDMMYYYY
Conciliation date.
4 Number of operations for the day. 99999999999
Numerical value that contains the total of the operations carried out on the day. If no operations were performed the value is 000.
5 Total amount of operations for the day. 99999999999
Numeric value that contains the total accumulated amount of the operations carried out on the day. It is reported with 2 decimal places without a point. If no operations were performed the value is 000.
Notes: - Each data must be separated by the vertical bar “|”.
Example: F3|456|10112019|450|1350000|20000


Detail
No. Content Format Mandatory Comments
1 Line identifier. "REG" Yes
Constant value "REG".
2 Date of the operation. DDMMYYYY Yes
Date on which the operation was processed.
3 Time of operation. HHMMSS Yes
Time at which the operation was processed.
4 Invoice. 99999999999 Yes
5 Authorization. Yes
Authorization key generated by the payment.
6 Branch office. No
Numeric value that contains the identifier of the branch where the operation was performed.
7 Reference 9999999999999999 Yes
Reference PayCash paid.
8 Amount. 99999999999 Yes
Amount paid from the reference.
-Includes 2 decimals without a point.
9 Commission 99999999999 Yes
Amount that the chain charges the end customer for the operation.
-Includes 2 decimals without a point.
-Examples:
- $3.60 = 360
- $100 = 10000
Notes:
- Each data must be separated by the vertical bar “|”.
- In the event that no operations have been carried out, the line remains empty, that is, it is not included.
Example:
REG|10112019|131246|123456789|5786545324|489|1298797864523158|10000|500

General considerations

- The file is generated every day.

- The file is deposited on an SFTP server. It can be from the chain or from PayCash.

- The time in which the file is generated must be between 00:01 and 04:00.

- Agree on a person responsible for issues of differences and / or clarifications.