Endpoints

Login Endpoint

Example: Merchants API Authentication request body

{
    "accessKey": "your@email.com",
    "secretKey": "password"
}

Example: Merchants API Authentication response success

{
    "idUser": 123,
    "username": "your@email.com",
    "idMerchant": 456
}

Example: Merchants API Authentication response failure

{
    "code": 83,
    "description": "You are not permitted to log in from this location, please contact your account administrator."
}

Staging POSThttps://merchants-api-stg.tupayonline.com/v1/auth/login

Producción POST https://merchants-api.tupayonline.com/v1/auth/login

Once your account is ready to use the Merchants API, the first step will be authenticating yourself. This has to be done through a POST request to the login endpoint mentioned above specifying the accessKey (email) and the secretKey (password) in JSON format.

Please see the examples.

Make sure you add in the header of the request the following value: Content-Type: application/json

Once successfully authenticated, along with the response there will come a field in the header called Set-Cookie. This field will contain a cookie called BEARER_TOKEN that has to be sent back to the server in all the following requests to stay logged in.

Example of a cookie in the header with the BEARER_TOKEN value:

cookie: BEARER_TOKEN=U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk

See this page to learn more about cookies.

Transactions Endpoints

Described below the endpoints for each kind of transactions.

All the requests sent have to have the BEARER_TOKEN obtained from the Login Endpoint in the Authentication's header field of the requests like follows:

Authorization: Bearer U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk

Or as a cookie:

cookie: BEARER_TOKEN=U3dcUx8IRJ5nLjb0WYM4cHa3qHFqnrqAk

There are certain parameter you can send in the GET request. These parameters are pairs of names and their corresponding values, so-called name-value pairs. These are added to the URL with a “?” sign. The name and value are always separated using an “=” sign. Multiple parameters can be used. Here, the various parameters are separated using an “&” sign.

The syntax is as follows (examples):

Staging https://merchants-api-stg.tupayonline.com/v1/cashouts?page=0&from=1577836800&to=1580515200

Produccion https://merchants-api.tupayonline.com/v1/cashouts?page=0&from=1577836800&to=1580515200

The from and to values are in unixTimeStamp format and the maximum difference between them is up to 60 days. The from value can´t be bigger than the to one.

A basic response has the following format:

{ "data": [], "page": 0, "rows": 0, "maxRows": 50 }

The data field, is an array that will contain multiple JSON objects, one for each transaction. Each with its own details.

The responses from these endpoints will containt up to 50 records per page. In case there are 50 records, you will have to request for the next page using the page parameter in the GET request. Always start with page=0.

The rows field, indicates how many transactions the request returned.

The maxRows field shows the maximum transactions a request can have. In case the field rows is equal to maxRows, you should do another request specifying the page plus one. Repeat this until the rows value is lesser than the maxRows one. Deposits Endpoint

Example: Merchants API Deposits Endpoint output

{
    "data": [
        {
            "idDeposit": 94582793,
            "externalId": "newIUnit9499432",
            "creationDate": "2020-02-13T19:14:43Z",
            "countryName": "Peru",
            "country": "PE",
            "paymentMethodName": "Tupay",
            "paymentMethodCode": "XA",
            "clientDocument": "12345678901",
            "clientId": "userId123",
            "amount": 10.0,
            "currency": "USD",
            "requestedAmount": 10.0,
            "requestedCurrency": "USD",
            "localAmount": 48.09,
            "localCurrency": "PEN",
            "fee": 0.0,
            "feeCurrency": "USD",
            "lastChangeDate": "2020-02-13T19:57:10Z",
            "status": "CANCELLED",
            "idUser": "300823",
            "flags": []
        },
    ],
    "page": 0,
    "rows": 2,
    "maxRows": 50
}

Staging GET https://merchants-api-stg.tupayonline.com/v1/deposits

Production GET https://merchants-api.tupayonline.com/v1/deposits

This endpoint allows you to retrieve the details of all your Deposits in a given time.

Deposits Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

country

String (max length: 2)

all

PE (Peru)

paymentMethod

String (max length: 2)

all

XA (Tupay)

status

String

all

Transaction´s status. Values:

  • PENDING

  • APPROVED

  • COMPLETED

  • CANCELLED

  • DECLINED

clientDocument

String

all

The customer´s document.

Cashouts Endpoint

Example: Merchants API Cashouts Endpoint output

{
    "data": [
        {
            "idCashout": 1770,
            "externalId": "test123",
            "creationDate": "2020-01-24T18:17:55Z",
            "country": "PE",
            "currency": "USD",
            "amount": 200.0,
            "creditedCurrency": "USD",
            "creditedAmount": 0.0,
            "merchantCurrency": "USD",
            "merchantAmount": 0.0,
            "feeCurrency": "USD",
            "fee": 0.0,
            "tax": 0.0,
            "lastChangeDate": "2020-01-24T18:17:55Z",
            "status": "PENDING",
            "clientDocument": "12345678901",
            "flags": [],
            "idMerchant": 4,
            "merchantName": "Merchant Test",
            "reason": "",
            "existVoucher": false
        }
    ],
    "page": 0,
    "rows": 1,
    "maxRows": 50
}

Staging GET https://merchants-api-stg.tupayonline.com/v1/cashouts

Producción GET https://merchants-api.tupayonline.com/v1/cashouts

This endpoint allows you to retrieve the details of all your Cashouts in a given time.

Cashouts Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

country

String (max length: 2)

all

PE

status

String

all

Transaction´s status. Values:

  • ON_HOLD

  • PENDING

  • DELIVERED

  • COMPLETED

  • REJECTED

  • CANCELLED

  • DECLINED

clientDocument

String

all

The customer´s document.

Credit and Debit Notes Endpoint

Example: Merchants API Credit and Debit Notes Endpoint output

{
    "data": [
        {
            "id": 989851,
            "externalId": "",
            "idMerchant": 4,
            "merchantName": "Merchant Test",
            "date": "2020-02-13T14:04:53Z",
            "amount": 1000000.0,
            "currency": "USD",
            "type": "GENERIC_CREDIT_NOTE",
            "description": "test note",
            "category": "CREDIT"
        },
        {
            "id": 989852,
            "externalId": "",
            "idMerchant": 4,
            "merchantName": "Merchant Test",
            "date": "2020-02-13T14:05:22Z",
            "amount": 500.0,
            "currency": "USD",
            "type": "CASHOUT_PROCESSING_FEE",
            "description": "cashout transaction fee debit note",
            "category": "DEBIT"
        }
    ],
    "page": 0,
    "rows": 2,
    "maxRows": 50
}

Staging GET https://merchants-api-stg.tupayonline.com/v1/notes

Produccion GET https://merchants-api.tupayonline.com/v1/notes

This endpoint allows you to retrieve the details of all your Credit and Debit Notes in a given time

Credit and Debit Notes Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

type

String

all

Cred/deb note types:

  • GENERIC_CREDIT_NOTE

  • SERVICE_FEE_CREDIT_NOTE

  • CHARGEBACK_COVERED_CREDIT_NOTE

  • GENERIC_DEBIT_NOTE

  • REFUND

  • REFUND_PROCESSING_FEE

  • CASHOUT_TRANSACTION

  • CASHOUT_PROCESSING_FEE

  • CHARGEBACK

  • CHARGEBACK_PROCESSING_FEE

  • SERVICE_FEE_DEBIT_NOTE

Refunds Endpoint

Staging GET https://merchants-api-stg.tupayonline.com/v1/refund

Produccion GET https://merchants-api.tupayonline.com/v1/refund

This endpoint allows you to retrieve the details of all your Refunds in a given time. Refunds Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

country

String (max length: 2)

all

PE

paymentMethod

String (max length: 2)

all

XA

status

String

all

Transaction´s status. Values:

  • PENDING

  • COMPLETED

  • CANCELLED

  • WAITING_DETAILS

Settlements Endpoint

Example: Merchants API Settlements Endpoint output

{
    "data": [
        {
            "id": 3329,
            "creationDate": "2020-01-06T00:00:00Z",
            "type": "MANUAL",
            "currency": "USD",
            "requestedAmount": 50000.0,
            "fee": 250.0,
            "amountToTransfer": 49750.0,
            "status": "PENDING",
            "idMerchant": 4,
            "merchantName": "Merchant Test"
        },
        {
            "id": 3328,
            "creationDate": "2019-12-13T00:00:00Z",
            "type": "MANUAL",
            "currency": "USD",
            "requestedAmount": 1000000.0,
            "fee": 0.0,
            "amountToTransfer": 1000000.0,
            "status": "PENDING",
            "idMerchant": 4,
            "merchantName": "Merchant Test"
        }
    ],
    "page": 0,
    "rows": 2,
    "maxRows": 50
}

Staging GET https://merchants-api-stg.tupayonline.com/v1/settlements

Production GET https://merchants-api.tupayonline.com/v1/settlements

This endpoint allows you to retrieve the details of all your Settlements in a given time.

Settlements Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

status

String

all

Transaction´s status. Values:

  • PENDING

  • COMPLETED

  • CANCELLED

  • FAILED

Balance Report Endpoint

Example: Merchants API Balance Report Endpoint output

{
    "data": [
        {
            "idMerchant": 4,
            "depositTotal": 0.0,
            "cashoutTotal": 0.0,
            "noteTotal": 0.0,
            "settlementTotal": 0.0,
            "cancelledSettlementTotal": 0.0,
            "depositFeeTotal": 0.0,
            "netAmount": 0.0,
            "totalBalance": 104642.98,
            "date": "2020-01-30T00:00:00Z",
            "currency": "USD"
        },
        {
            "idMerchant": 4,
            "depositTotal": 12.5,
            "cashoutTotal": 0.0,
            "noteTotal": 0.0,
            "settlementTotal": 0.0,
            "cancelledSettlementTotal": 0.0,
            "depositFeeTotal": 0.1,
            "netAmount": 12.4,
            "totalBalance": 104655.38,
            "date": "2020-01-31T00:00:00Z",
            "currency": "USD"
        }
    ],
    "page": 0,
    "rows": 2,
    "maxRows": 50
}

Staging GET https://merchants-api-stg.tupayonline.com/v1/balance/report

Production GET https://merchants-api.tupayonline.com/v1/balance/report

This endpoint allows you to retrieve the details of your daily Balance Report in a given time.

Balance Report Endpoint Parameters

Parameter

Mandatory

Format

Default

Description

from

Integer

null

Transaction creation date interval in UnixTimeStamp format.

to

Integer

null

Transaction creation date interval in UnixTimeStamp format - max difference with "from" value 60 days.

page

Integer

0

The page number. Each page contains as many transactions as indicated in the maxRows value.

Total Available Balance Endpoint

Staging GET https://merchants-api-stg.tupayonline.com/v1/balance/report

Production GET https://merchants-api.tupayonline.com/v1/balance

This endpoint allows you to retrieve the details of your Total Available Balance.

Logout Endpoint

Staging DELETE https://merchants-api-stg.tupayonline.com/v1/auth/session/destroy

Produccion DELETE https://merchants-api.tupayonline.com/v1/auth/session/destroy

The token expires after 15 minutes of its last usage. In case of wanting to terminate the session earlier, you will have to use the above mentioned endpoint with the DELETE method.

This will take the BEARER_TOKEN in the header of the request and invalidate it for future usages.

Once the token was deleted, you will need to authenticate again before sending a new request.

Última actualización