Skip to content

Wallet

With this Wallet method you can create your wallet in Payku.

Base URL: https://app.payku.cl/ (Default server) · https://des.payku.cl/ (Sandbox server)

Make payments to third parties from my wallet

Section titled “Make payments to third parties from my wallet”
POST/api/wallet/payout

This method allows you to create a payment order to a third party using the funds in your wallet virtual payku.

Note: For testing purposes (Development environment only), specific amounts will be processed automatically:
• Amounts 1000, 2000, 3000: Will be marked as approved automatically.
• Amounts 1500, 2500, 3500: Will be marked as rejected automatically.

Request body

ParameterTypeDescription
emailrequired string <email>

Client email

maximum 50 characters
phone string

Client phone

maximum 20 characters
Example: 923122312
subjectrequired string

Order Description

maximum 200 characters
Example: test subject
currencyrequired string

Currency description (ISO format)

maximum 6 characters
Example: CLP
orderrequired string

E-commerce order

maximum 80 characters
Example: 98745
amountrequired integer

Order amount

maximum 14 digits
Example: 25000
accountbank_namerequired string

Name of the destination account holder

maximum 180 characters
Example: José Manuel Muñoz Alarcon
accountbank_rutrequired string

Rut of the destination account holder

maximum 15 characters
Example: 111111111
accountbank_sbifrequired string

Code of the bank to which the bank account belongs.

maximum 4 characters
Example: 0001
accountbank_typerequired string

Account type.

  • 1 Corriente
  • 2 Vista/Cuenta RUT
  • 3 Ahorro
maximum 1 character
Example: 1
accountbank_numrequired string

Customer account number

  • For the bank "banco estado" (sbif 0012) the maximum number of characters is 12 This bank is the most common in Chile, it is good to add the validation of maximum digits of 12. This prevents users from entering their debit card number For the rest of the banks, it can have more than 12 characters since the banks are not standardized in their account number format.
maximum 200 characters
Example: 12312312312
url_notify string

url where the result of the payment will be notified.

  • Note: After making the payment to third parties, payku will automatically respond to the endpoint entered in urlnotify the result of the operation.
    • Approved Example:
    • {
      • "id": "morexzxxxx",
      • "identifier_payout": "morexzxxxx",
      • "order" : "367734544",
      • "status" : "success",
      • "update_at" : "2023-08-24 12:29:35",
      • "customer" : {
        • "name" : "Jhon Doe",
        • "phone" : "978456879",
        • "document" : "111111111",
        • "number" : "978456879"
      • }
    • }
    • Rejected Example:
    • {
      • "id": "morexzxxxx",
      • "identifier_payout": "morexzxxxx",
      • "order" : "367734544",
      • "status" : "banking_error",
      • "update_at" : "2023-08-24 12:29:35",
      • "customer" : {
        • "name" : "Jhon Doe",
        • "phone" : "978456879",
        • "document" : "111111111",
        • "number" : "978456879"
      • }
    • }
maximum 600 characters
Example: https://youwebsite.com/urlnotify?orderClient=98745
additional_parameters object

Client additional parameters

maximum 4000 characters
parameter_1 string

Parameter name given by user payku

Example: keyValue
parameter_2 string

Parameter name given by user payku

Example: keyValue2
order_ext string

Name of the external order given by the user payku (Optional)

Example: fff-777
Ventana de terminal
curl -X POST \
https://BASE-URL/api/wallet/payout \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SIGN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \
-d '{
"email": "[email protected]",
"phone": "123456789",
"subject": "subject",
"currency": "CLP",
"order": "98745",
"amount": 1000,
"accountbank_name": "example name",
"accountbank_rut": "111111111",
"accountbank_sbif": "0001",
"accountbank_type": "1",
"accountbank_num": "12312312312",
"url_notify": "https://youwebsite.com/urlnotify?orderClient=98745",
"additional_parameters":
{
"parameters1": "keyValue",
"parameters2": "keyValue2",
"order_ext": "fff-777"
}
}'

Responses

200
{
"status": "success",
"identifier_wallet": "wab5f7232dafff18f9",
"identifier_payout": "mor33e36b01e8a11b9ee"
}
Response fields
ParameterTypeDescription
status string

Status of the load to the wallet. The possible statuses that can be obtained are the following:

  • success
  • failed
Example: success
identifier_wallet string

payku virtual wallet movement identifier.

Example: wab5f7232dafff18f9
identifier_payout string

Third party payment identifier.

Example: mor33e36b01e8a11b9ee
POST/api/wallet/withdraw

This method allows you to create a settlement to the merchant's bank account using the funds from your virtual wallet payku.

Request body

ParameterTypeDescription
subjectrequired string

Order Description

maximum 200 characters
Example: test subject
currencyrequired string

Currency description (ISO format)

maximum 6 characters
Example: CLP
orderrequired string

E-commerce order

maximum 80 characters
Example: 98745
amountrequired integer

order amount

maximum 14 digitis
Example: 25000
Ventana de terminal
curl -X POST \
https://BASE-URL/api/wallet/withdraw \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \
-d '{
"subject": "subject",
"currency": "CLP",
"order": "98745",
"amount": 1000
}'

Responses

200
{
"status": "Success",
"identifier_wallet": "wab5f7232dafff18f9"
}
Response fields
ParameterTypeDescription
status string

Status of the load to the wallet. The possible statuses that can be obtained are the following:

  • success
Example: Success
identifier_wallet string

payku virtual wallet movement identifier.

Example: wab5f7232dafff18f9
GET/api/wallet

This method allows you to obtain the balance of your virtual wallet payku.

curl -X GET \
https://BASE-URL/api/wallet \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Responses

200
{
"status": "success",
"current_id": "wa8a6171ab83323c37",
"amount_available": 1766,
"currency": "CLP",
"filter": {
"page": 1,
"per_page": 1000,
"currency": "CLP",
"id": "wa8a6171ab83323c37"
},
"wallet_movements": [
{
"id": "wa8a6171ab83323c37",
"order": "tme5",
"subject": "tme5 asunto",
"created_at": "2022-06-09 20:07:02",
"income_expense": "expense",
"status": "current",
"amount": "3680",
"actual_amount": "1766",
"origin_liquidation": null,
"currency": "CLP",
"payout": {
"id": "war3999847529816f2",
"phone": "111111111",
"email": "[email protected]",
"subject": "subject order",
"amount": "3680",
"accountbank_rut": "111111111",
"accountbank_name": "test",
"accountbank_type": 1,
"accountbank_num": 123123123,
"accountbank_sbif": "0001",
"status": "pending",
"update_at": "2022-06-09 21:10:46"
}
}
]
}
Response fields
ParameterTypeDescription
status string
Example: success
current_id string

Payku virtual wallet identifier "last movements".

Example: wa8a6171ab83323c37
amount_available integer

Amount available in Payku's virtual wallet.

Example: 1766
currency string

Currency.

Example: CLP
filter object

Specific data to filter the data.

page integer

Actual page.

Example: 1
per_page integer

Number of moves per page.

Example: 1000
currency string

Currency.

Example: CLP
id string

Wallet account identifier.

Example: wa8a6171ab83323c37
wallet_movements array of objects
id string

Virtual wallet identifier.

Example: wa8a6171ab83323c37
order string

Order identifier.

Example: tme5
subject string

Description of the movement.

Example: tme5 asunto
created_at string

Movement execution date.

Example: 2022-06-09 20:07:02
income_expense string

Payment to a third party or withdrawal to your account.

Example: expense
status string

Movement status.

Example: current
amount string

Movement amount.

Example: 3680
actual_amount string

Current Balance Amount.

Example: 1766
origin_liquidation string

Origin of settlement.

currency string

Currency.

Example: CLP
payout object

Destination account data.

id string

Destination account identifier.

Example: war3999847529816f2
phone string

Telephone of the destination account holder.

Example: 111111111
email string

Destination account holder's email.

subject string

Application Status.

Example: subject order
amount string

Amount to be deposited in the destination account.

Example: 3680
accountbank_rut string

Rut of the destination account holder.

Example: 111111111
accountbank_name string

Name of the destination account holder.

Example: test
accountbank_type integer

Type of account of the destination bank.

Example: 1
accountbank_num integer

Destination bank account number.

Example: 123123123
accountbank_sbif string

Code of the bank to which the bank account belongs.

Example: 0001
status string

Movement status.

Example: pending
update_at string

Date the request was made.

Example: 2022-06-09 21:10:46
GET/api/wallet/list

This method allows you to obtain the movements of your virtual wallet payku, this method allows pagination with a maximum of 4000 records per page, In addition, it has the following filters:

For pagination it is necessary to add the following at the end of the endpoint ?page=1&per_page=100 being the first parameter the number of the page and the second the number of records per page As for example: api/wallet/list?page=1&per_page=100.

curl -X GET \
https://BASE-URL/api/wallet/list \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Responses

200
{
"status": "success",
"current_id": "wa8a6171ab83323c37",
"amount_available": 1766,
"currency": "CLP",
"filter": {
"page": 1,
"per_page": 1000,
"currency": "CLP",
"id": "wa8a6171ab83323c37"
},
"wallet_movements": [
{
"id": "wa8a6171ab83323c37",
"order": "tme5",
"subject": "tme5 asunto",
"created_at": "2022-06-09 20:07:02",
"income_expense": "expense",
"status": "current",
"amount": "3680",
"actual_amount": "1766",
"origin_liquidation": null,
"currency": "CLP",
"payout": {
"id": "war3999847529816f2",
"phone": "111111111",
"email": "[email protected]",
"subject": "subject order",
"amount": "3680",
"accountbank_rut": "111111111",
"accountbank_name": "test",
"accountbank_type": 1,
"accountbank_num": 123123123,
"accountbank_sbif": "0001",
"status": "pending",
"update_at": "2022-06-09 21:10:46"
}
}
]
}
Response fields
ParameterTypeDescription
status string
Example: success
current_id string

Payku virtual wallet identifier "last movements".

Example: wa8a6171ab83323c37
amount_available integer

Amount available in Payku's virtual wallet.

Example: 1766
currency string

Currency.

Example: CLP
filter object

Specific data to filter the data.

page integer

Actual page.

Example: 1
per_page integer

Number of moves per page.

Example: 1000
currency string

Currency.

Example: CLP
id string

Wallet account identifier.

Example: wa8a6171ab83323c37
wallet_movements array of objects
id string

Virtual wallet identifier.

Example: wa8a6171ab83323c37
order string

Order identifier.

Example: tme5
subject string

Description of the movement.

Example: tme5 asunto
created_at string

Movement execution date.

Example: 2022-06-09 20:07:02
income_expense string

Payment to a third party or withdrawal to your account.

Example: expense
status string

Movement status.

Example: current
amount string

Movement amount.

Example: 3680
actual_amount string

Current Balance Amount.

Example: 1766
origin_liquidation string

Origin of settlement.

currency string

Currency.

Example: CLP
payout object

Destination account data.

id string

Destination account identifier.

Example: war3999847529816f2
phone string

Telephone of the destination account holder.

Example: 111111111
email string

Destination account holder's email.

subject string

Application Status.

Example: subject order
amount string

Amount to be deposited in the destination account.

Example: 3680
accountbank_rut string

Rut of the destination account holder.

Example: 111111111
accountbank_name string

Name of the destination account holder.

Example: test
accountbank_type integer

Type of account of the destination bank.

Example: 1
accountbank_num integer

Destination bank account number.

Example: 123123123
accountbank_sbif string

Code of the bank to which the bank account belongs.

Example: 0001
status string

Movement status.

Example: pending
update_at string

Date the request was made.

Example: 2022-06-09 21:10:46
GET/api/wallet/{identificadorWallet}

This method allows to obtain a movement of your virtual wallet payku using an identifier:

To perform the query it is necessary to add the following at the end of the endpoint /{identificadorWallet} for example: api/wallet/wa24bg36767.

curl -X GET \
https://BASE-URL/api/wallet/{idWallet} \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Responses

200
{
"status": "success",
"current_id": "wa8a6171ab83323c37",
"amount_available": 1766,
"currency": "CLP",
"filter": {
"page": 1,
"per_page": 1000,
"currency": "CLP",
"id": "wa8a6171ab83323c37"
},
"wallet_movements": [
{
"id": "wa8a6171ab83323c37",
"order": "tme5",
"subject": "tme5 asunto",
"created_at": "2022-06-09 20:07:02",
"income_expense": "expense",
"status": "current",
"amount": "3680",
"actual_amount": "1766",
"origin_liquidation": null,
"currency": "CLP",
"payout": {
"id": "war3999847529816f2",
"phone": "111111111",
"email": "[email protected]",
"subject": "subject order",
"amount": "3680",
"accountbank_rut": "111111111",
"accountbank_name": "test",
"accountbank_type": 1,
"accountbank_num": 123123123,
"accountbank_sbif": "0001",
"status": "pending",
"update_at": "2022-06-09 21:10:46"
}
}
]
}
Response fields
ParameterTypeDescription
status string
Example: success
current_id string

Payku virtual wallet identifier "last movements".

Example: wa8a6171ab83323c37
amount_available integer

Amount available in Payku's virtual wallet.

Example: 1766
currency string

Currency.

Example: CLP
filter object

Specific data to filter the data.

page integer

Actual page.

Example: 1
per_page integer

Number of moves per page.

Example: 1000
currency string

Currency.

Example: CLP
id string

Wallet account identifier.

Example: wa8a6171ab83323c37
wallet_movements array of objects
id string

Virtual wallet identifier.

Example: wa8a6171ab83323c37
order string

Order identifier.

Example: tme5
subject string

Description of the movement.

Example: tme5 asunto
created_at string

Movement execution date.

Example: 2022-06-09 20:07:02
income_expense string

Payment to a third party or withdrawal to your account.

Example: expense
status string

Movement status.

Example: current
amount string

Movement amount.

Example: 3680
actual_amount string

Current Balance Amount.

Example: 1766
origin_liquidation string

Origin of settlement.

currency string

Currency.

Example: CLP
payout object

Destination account data.

id string

Destination account identifier.

Example: war3999847529816f2
phone string

Telephone of the destination account holder.

Example: 111111111
email string

Destination account holder's email.

subject string

Application Status.

Example: subject order
amount string

Amount to be deposited in the destination account.

Example: 3680
accountbank_rut string

Rut of the destination account holder.

Example: 111111111
accountbank_name string

Name of the destination account holder.

Example: test
accountbank_type integer

Type of account of the destination bank.

Example: 1
accountbank_num integer

Destination bank account number.

Example: 123123123
accountbank_sbif string

Code of the bank to which the bank account belongs.

Example: 0001
status string

Movement status.

Example: pending
update_at string

Date the request was made.

Example: 2022-06-09 21:10:46
GET/api/payout/{identificadorPayout}

This method allows you to obtain a movement of payments to third parties from your payku virtual wallet using an identifier:

To perform the query it is necessary to add the following at the end of the endpoint /{identificadorPayout} for example: api/payout/wa24bg36767.

curl -X GET \
https://BASE-URL/api/payout/{identificadorPayout} \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Responses

200
{
"payout": {
"id": "war3999847529816f2",
"phone": "111111111",
"email": "[email protected]",
"subject": "subject order",
"amount": "3680",
"accountbank_rut": "111111111",
"accountbank_name": "test",
"accountbank_type": 1,
"accountbank_num": 123123123,
"accountbank_sbif": "0001",
"status": "pending",
"update_at": "2022-06-09 21:10:46",
"origin_wallet": "wa1933f37cdaf7d1c6"
}
}
Response fields
ParameterTypeDescription
payout object

Destination account identifier.

id string

Destination account identifier.

Example: war3999847529816f2
phone string

Telephone of the destination account holder.

Example: 111111111
email string

Destination account holder's email.

subject string

Application Status.

Example: subject order
amount string

Amount to be deposited in the destination account.

Example: 3680
accountbank_rut string

Rut of the destination account holder.

Example: 111111111
accountbank_name string

Name of the destination account holder.

Example: test
accountbank_type integer

Type of account of the destination bank.

Example: 1
accountbank_num integer

Destination bank account number.

Example: 123123123
accountbank_sbif string

Code of the bank to which the bank account belongs.

Example: 0001
status string

Movement status.

  • pending ("payout registered")
  • processing ("payout in payment process")
  • success ("payout successfully deposited")
  • banking_error ("payout rejected by the bank")
  • fraud_prevention ("payout rejected by compliance")
Example: pending
update_at string

Date the request was made.

Example: 2022-06-09 21:10:46
origin_wallet string

Id de la wallet origen.

Example: wa1933f37cdaf7d1c6
GET/api/payoutv3/{identificadorPayout}

This method allows you to obtain a movement of payments to third parties from your payku virtual wallet using an identifier:

To perform the query it is necessary to add the following at the end of the endpoint /{identificadorPayout} for example: api/payoutv3/mor33e36b01e8a11b9ee.

curl -X GET \
https://BASE-URL/api/payoutv3/{identificadorPayout} \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer PUBLIC-TOKEN' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-PRIVATE-TOKEN' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Responses

200
{
"payout": {
"id": "war3999847529816f2",
"phone": "111111111",
"email": "[email protected]",
"subject": "subject order",
"amount": "3680",
"accountbank_rut": "111111111",
"accountbank_name": "test",
"accountbank_type": 1,
"accountbank_num": 123123123,
"accountbank_sbif": "0001",
"status": "pending",
"update_at": "2022-06-09 21:10:46",
"origin_wallet": "wa1933f37cdaf7d1c6",
"reason_rejection": " Error CCA 51. Cuenta Beneficiario no Existe, error_creditor_account_not_found"
}
}
Response fields
ParameterTypeDescription
payout object

Destination account identifier.

id string

Destination account identifier.

Example: war3999847529816f2
phone string

Telephone of the destination account holder.

Example: 111111111
email string

Destination account holder's email.

subject string

Application Status.

Example: subject order
amount string

Amount to be deposited in the destination account.

Example: 3680
accountbank_rut string

Rut of the destination account holder.

Example: 111111111
accountbank_name string

Name of the destination account holder.

Example: test
accountbank_type integer

Type of account of the destination bank.

Example: 1
accountbank_num integer

Destination bank account number.

Example: 123123123
accountbank_sbif string

Code of the bank to which the bank account belongs.

Example: 0001
status string

Movement status.

  • pending ("payout registered")
  • processing ("payout in payment process")
  • success ("payout successfully deposited")
  • banking_error ("payout rejected by the bank")
  • fraud_prevention ("payout rejected by compliance")
Example: pending
update_at string

Date the request was made.

Example: 2022-06-09 21:10:46
origin_wallet string

Id de la wallet origen.

Example: wa1933f37cdaf7d1c6
reason_rejection string

Reason for rejection.

Example: Error CCA 51. Cuenta Beneficiario no Existe, error_creditor_account_not_found