Skip to content

Single Payment

The reference number generated by Paycash single payment can be paid only once.

For cash payments at offline collection points in Peru, the payer is required to provide two numbers to the cashier to finish payments. One is the generated reference number(referencia) and the other is the agreement code(convenio). Reference number is included in the response which locates in ‘referenceNumber’ response field. Agreement code may differ with different offline collection points, please check the details in Agreement Codes.

HTTP Request

POST /v1/payments/charges/paycash

Request Headers
{
    "Content-Type": "application/json",
    "Authorization": "Bearer {{access_token}}",
    "x-api-key": "{{api_key}}"
}
Request Body
{
    "idempotencyKey": "d5cd70af-6e64-4f2b-b4ce-fca206b31422",
    "amount": 1000,
    "currency": "PEN",
    "country": "PE",
    "paymentMethod": "PAY_CASH",
    "paymentFlow": "DIRECT",
    "payer": {
        "name": "username",
        "email": "username@liquido.com",
        "billingAddress": { 
                "street": "street name",
                "number": "building number",
                "complement": "unit, apt, etc.",
                "district": "district, neighborhood, etc.",
                "city": "city name",
                "state": "state, state code",
                "zipCode": "zip code, postal code",
                "country": "PE"
            }
    },
    "orderInfo": {  
        "orderId": "test-order-id",  
        "shippingInfo": { 
            "name": "shipping test name",   
            "email": "shipping@example.com",
            "address": { 
                "street": "street name",
                "number": "building number",
                "complement": "unit, apt, etc.",
                "district": "district, neighborhood, etc.",
                "city": "city name",
                "state": "state, state code",
                "zipCode": "zip code, postal code",
                "country": "PE"
            }
        }
    },
    "callbackUrl":"https://api.client.com/callback/",
    "description": "this is a test pay",
    "expirationDate": "2025-02-03",
    "recurring": false,
    "subMerchantId": "UUID"
}
Content-Type: application/json
{
    "transferStatusCode": 200,
    "transferErrorMsg": null,
    "idempotencyKey": "d5cd70af-6e64-4f2b-b4ce-fca206b31422",
    "referenceId": "d5cd70af-6e64-4f2b-b4ce-fca206b31422",
    "paymentMethod": "PAY_CASH",
    "amount": 1000,
    "currency": "PEN",
    "country": "PE",
    "finalAmount": 1000,
    "finalCurrency": "PEN",
    "createTime": "2025-02-01 01:13:01 UTC",
    "scheduledTime": "2025-02-01 01:13:18 UTC",
    "finalStatusTime": null,
    "payer": {
        "name": "username",
        "email": "username@liquido.com",
        "billingAddress": { 
                "street": "street name",
                "number": "building number",
                "complement": "unit, apt, etc.",
                "district": "district, neighborhood, etc.",
                "city": "city name",
                "state": "state, state code",
                "zipCode": "zip code, postal code",
                "country": "PE"
            }
    },
    "transferStatus": "IN_PROGRESS",
    "description": "this is a test pay",
    "callbackUrl": "https://api.client.com/callback/",
    "transferDetails": {
        "payCash": {
            "referenceNumber": "7041739762691026",
            "expirationDate": "2025-02-03",
            "recurring": false
        }
    },
    "subMerchantId": "UUID"
}

Notification / Callback

Content-Type: application/json
{
    "eventType":"CHARGE_SUCCEEDED",
    "data":{
        "chargeDetails":{
            "transferStatusCode":200,
            "transferErrorMsg":null,
            "idempotencyKey":"d5cd70af-6e64-4f2b-b4ce-fca206b31422",
            "referenceId":"d5cd70af-6e64-4f2b-b4ce-fca206b31422",
            "paymentMethod":"PAY_CASH",
            "amount":1000,
            "currency":"PEN",
            "country":"PE",
            "finalAmount": 1000,
            "finalCurrency": "PEN",
            "createTime": "2025-02-01 01:13:01 UTC",
            "scheduledTime": "2025-02-01 01:13:18 UTC",
            "finalStatusTime":"2025-02-02 00:30:55 UTC",
            "payer":{
                "name":"username",
                "email":"username@example.com",
                "billingAddress": { 
                    "street": "street name",
                    "number": "building number",
                    "complement": "unit, apt, etc.",
                    "district": "district, neighborhood, etc.",
                    "city": "city name",
                    "state": "state, state code",
                    "zipCode": "zip code, postal code",
                    "country": "PE"
                }
            },
            "transferStatus":"SETTLED",
            "description":"this is a test pay",
            "callbackUrl":"https://api.client.com/callback/",
            "transferDetails":{
                "payCash":{
                    "referenceNumber":"7041739762691026",
                    "expirationDate":"2025-02-03",
                    "recurring":false,
                    "paymentTime": "2025-02-01 19:29:20"
                }
            },
            "subMerchantId": "UUID"
        }
    }
}

Request Headers Parameters

Key Value
Authorization "Bearer" + " " + {{access_token}}
x-api-key {{api_key}}

Request Body Parameters

Parameter Required Type Description
idempotencyKey String Unique key to ensure idempotent requests. given by the merchant in their system.
amount Long The transfer amount, The minimum settlement granularity of the current currency, such as 100=1PEN
country String country code
currency String The currency code of the transferred fund
paymentMethod String payment method, enum value as PAY_CASH
paymentFlow String payment flow, enum value as DIRECT or REDIRECT
payer JSON payer info
orderInfo JSON order info
description String description of payment
callbackUrl String URL where Liquido will send notifications associated to changes to this payment. will receive a post request.
expirationDate String payment expire date(yyyy-MM-dd)
recurring Boolean Multiple times to pay or single,only support single currently,fixed value:false
subMerchantId String The sub merchant ID. Required for PSPs.
riskData JSON The risk data of the payment. MERCHANT_APP_NAME or *
MERCHANT_WEBSITE* must be provided in risk Data. Please see here for further details.

Create A Payment With Risk Data

Please see here for further details.

Response Body Parameters

Parameter Type Description
transferStatus String Transfer status, SETTLED, IN_PROGRESS, FAILED
transferStatusCode Integer Transfer status code, 200 transaction SETTLED or IN_PROGRESS, other FAILED
transferErrorMsg String Transfer error message if failed
referenceId String Unique key to payment ticket, generated by Liquido.
idempotencyKey String Unique key to ensure idempotent requests. given by the merchant in their system
amount Long The transfer amount
country String country code
currency String The currency code of the transferred fund
finalAmount Long The final amount that is used for creating the charge order. EX: for charge orders with FX conversion, this field represents the converted amount from the original requested amount.
finalCurrency String The currency code of the finalAmount.
paymentMethod String payment method, enum value as PAY_CASH
payer JSON payer info
transferDetails JSON transaction details info
description String description of payment
callbackUrl String URL where Liquido will send notifications associated to changes to this payment. will receive a post request.
createTime String Payment ticket created time
scheduledTime String Payment ticket scheduled time
finalStatusTime String Transfer final status update time, final status include SETTLED, FAILED
subMerchantId String The sub merchant ID.

Object Parameters

Payer
Parameter Required Type Description
name String fullname(Input specification: Only a combination of uppercase and lowercase letters, numbers and spaces is allowed. Spanish and Portuguese letters, and other special characters are not allowed).
email String email.
phone String Mobile phone number. Should include “+51” as a prefix.
billingAddress JSON Billing address info.
BillingAddress
Parameter Required Type Description
zipCode String zip code.
state String state.
city String city name.
street String street name.
number String street number.
OrderInfo
Parameter Required Type Description
orderId String order identity number
shippingInfo JSON shipping info
ShippingInfo
Parameter Required Type Description
name String shipping name
phone String Mobile phone number. Should include “+51” as a prefix.
email String email address
address JSON the same as billingAddress
TransferDetails
Parameter Type Description
payCash JSON The payCash details
PayCash
Parameter Type Description
referenceNumber String The payer is required to provide two numbers to the cashier to finish payment. One is this reference number and the other is an agreement number.
expirationDate String Expire date in Peru time,format "yyyy-MM-dd"
recurring Boolean Multiple times to pay or single
paymentTime String Actual payment time in Peru time,format "yyyy-MM-dd HH:mm:ss"

Transfer Status

Parameter Description
IN_PROGRESS The transaction of this method has started, but no transactions have been processed yet.
SETTLED The funds of the transaction of this payment have been transferred to the store.
EXPIRED The transaction of this payment has been expired.
CANCELLED The transaction of this payment has been cancelled.
FAILED There was an error while processing the transaction of this payment. This status is followed by a message with more details about the error.

Notification Event Type

CHARGE_SUCCEEDED,
CHARGE_FAILED,
CHARGE_CHARGED_BACK,
CHARGE_REFUND_SUCCEEDED,
CHARGE_REFUND_FAILED;

Agreement Codes

Collection Points Agreement Code Remark
Caja Trujillo Don't need an agreement code. Provide a full 16-digit reference
Caja Los Andes Don't need an agreement code. Provide a full 16-digit reference
Financiera QAPAQ Don't need an agreement code. Provide a full 16-digit reference
Edpyme Alternativa Don't need an agreement code. Provide a full 16-digit reference
Caja Paita Don't need an agreement code. Provide a full 16-digit reference
Caja Municipal Del Santa Don't need an agreement code. Provide a full 16-digit reference
Western Union Don't need an agreement code. Provide a full 16-digit reference
Banco Pichincha Don't need an agreement code. Provide a full 16-digit reference
Kasnet 220114 Provide a full 16-digit reference
Banco BCP 24162 Provide the last 13 digits of the reference
Yape Don't need an agreement code. Provide the last 13 digits of the reference
Agente Cash Don't need an agreement code. Provide a full 16-digit reference
BBVA Perú Don't need an agreement code. Provide a full 16-digit reference
Interbank 0319901 Provide a full 16-digit reference
IZIPAY Don't need an agreement code. Provide a full 16-digit reference
Banco del comercio Don't need an agreement code. Provide a full 16-digit reference
Megapunto Don't need an agreement code. Provide a full 16-digit reference
Red digital Don't need an agreement code. Provide a full 16-digit reference
Niubiz Don't need an agreement code. Provide a full 16-digit reference
Caja Arequipa Don't need an agreement code. Provide a full 16-digit reference
Banbif Don't need an agreement code. Provide the last 14 digits of the reference
FULL CARGA Don't need an agreement code. Provide the last 14 digits of the reference
PREXPE Don't need an agreement code. Provide the last 14 digits of the reference
ASTROPAY Don't need an agreement code. Provide the last 14 digits of the reference
Floid Don't need an agreement code. Provide a full 16-digit reference
Back to top