Ir al contenido

Wallet

Permite generar transacciones bancarias desde tu billetera virtual payku.

URL base: https://app.payku.cl/ (Default server) · https://des.payku.cl/ (Sandbox server)
POST/api/wallet/payout

Este método permite crear una orden de pago a un tercero utilizando los fondos de tu billetera virtual payku.

Nota: Para fines de prueba (Solo ambiente desarrollo), los montos específicos se procesarán automáticamente:
• Montos 1000, 2000, 3000: Se marcarán como aprobados automáticamente.
• Montos 1500, 2500, 3500: Se marcarán como rechazados automáticamente.

Cuerpo de la solicitud

ParámetroTipoDescripción
emailrequerido string <email>

Email del usuario

máximo 50 caracteres
phone string

Télefono del usuario

máximo 20 caracteres
Ejemplo: 923122312
subjectrequerido string

Descripción de la orden

máximo 200 caracteres
Ejemplo: payOut description
currencyrequerido string

Tipo de moneda (Formato ISO)

máximo 6 caracteres
Ejemplo: CLP
orderrequerido string

Orden del comercio

máximo 50 caracteres
Ejemplo: 98745
amountrequerido integer

Monto de la orden

máximo 14 dígitos
Ejemplo: 25000
accountbank_namerequerido string

Nombre del titular de la cuenta

máximo 180 caracteres
Ejemplo: Jhon Doe
accountbank_rutrequerido string

Documento de identidad del titular de la cuenta en Chile Formato: 111111111

máximo 15 caracteres
Ejemplo: 111111111
accountbank_sbifrequerido string

Código del banco al que pertenece la cuenta bancaria.

máximo 4 caracteres
Ejemplo: 0001
accountbank_typerequerido string

Tipo de cuenta.

  • 1 Corriente
  • 2 Vista/Cuenta RUT
  • 3 Ahorro
máximo 1 caracterer
Ejemplo: 1
accountbank_numrequerido string

Número de cuenta del cliente.

  • Para el banco "banco estado" (sbif 0012) el máximo de caracteres es 12 Este banco es el más común en Chile, es bueno agregar la validación de máximo de dígitos de 12. Esto evita que los usuarios ingresen su número de tarjeta de débito Para el resto de los bancos, puede tener más de 12 caracteres ya que los bancos no están estandarizados en su formato de número de cuenta.
máximo 200 caracteres
Ejemplo: 12312312312
url_notify string

url donde se notificare el resultado del pago.

  • Nota: Luego de realizar el pago a terceros payku respondera de forma automática al endpoint ingresado en urlnotify el resultado de la operación.
    • Ejemplo Aprobado:
    • {
      • "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"
      • }
    • }
    • Ejemplo Rechazado:
    • {
      • "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"
      • }
    • }
máximo 600 caracteres
Ejemplo: https://www.youwebsite.com/urlnotify?orderClient=98745
additional_parameters object

Parámetros adicionales del cliente (Opcional).

máximo 4000 caracteres
parameter_1 string

Nombre del parámetro dado por el usuario payku

Ejemplo: keyValue
parameter_2 string

Nombre del parámetro dado por el usuario payku

Ejemplo: keyValue
order_ext string

Nombre de la orden externa dado por el usuario payku (Opcional)

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

Respuestas

200
{
"status": "success",
"identifier_wallet": "wab5f7232dafff18f9",
"identifier_payout": "mor33e36b01e8a11b9ee"
}
Campos de la respuesta
ParámetroTipoDescripción
status string

Estatus de la carga a la wallet.Los posibles estados que puede obtener son los siguientes:

  • success
  • failed
Ejemplo: success
identifier_wallet string

Identificador del movimiento de la billetera virtual de payku.

Ejemplo: wab5f7232dafff18f9
identifier_payout string

Identificador del pago a tercero.

Ejemplo: mor33e36b01e8a11b9ee
POST/api/wallet/withdraw

Este método permite crear una liquidación a la cuenta bancaria del comercio utilizando los fondos de tu billetera virtual payku.

Cuerpo de la solicitud

ParámetroTipoDescripción
subjectrequerido string

Descripción de la orden

máximo 200 caracteres
Ejemplo: payment description
currencyrequerido string

Tipo de moneda (Formato ISO)

máximo 6 caracteres
Ejemplo: CLP
orderrequerido string

Orden del comercio

máximo 80 caracteres
Ejemplo: 98745
amountrequerido integer

Monto de la orden

máximo 14 dígitos
Ejemplo: 25000
Ventana de terminal
curl -X POST \
https://BASE-URL/api/wallet/withdraw \
-H 'Accept: application/json, text/plain, */*' \
-H 'Authorization: Bearer TOKEN-PUBLICO' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \
-d '{
"subject": "withdraw 133222",
"currency": "CLP",
"order": "133222",
"amount": 1000
}'

Respuestas

200
{
"status": "success",
"identifier_wallet": "wab5f7232dafff18f9"
}
Campos de la respuesta
ParámetroTipoDescripción
status string

Estatus de la carga a la wallet.Los posibles estados que puede obtener son los siguientes:

  • success
Ejemplo: success
identifier_wallet string

Identificador del movimiento de la billetera virtual de payku.

Ejemplo: wab5f7232dafff18f9
GET/api/wallet

Este método permite obtener el saldo de tu billetera virtual payku.

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

Respuestas

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": "2023-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": "2023-06-09 21:10:46"
}
}
]
}
Campos de la respuesta
ParámetroTipoDescripción
status string

Estatus de la carga a la wallet. Los posibles estados que puede obtener son los siguientes:

  • success
Ejemplo: success
current_id string

Identificador de la billetera virtual de payku "último movimiento".

Ejemplo: wa8a6171ab83323c37
amount_available integer

Monto disponible en la biletera virtual de payku.

Ejemplo: 1766
currency string

Descripción de la moneda.

Ejemplo: CLP
filter object

Datos específicos para filtrar los datos.

page integer

Página actual.

Ejemplo: 1
per_page integer

Cantidad de movimientos por página.

Ejemplo: 1000
currency string

Descripción de la moneda.

Ejemplo: CLP
id string

Identificador de la cuenta wallet.

Ejemplo: wa8a6171ab83323c37
wallet_movements array of objects
id string

Identificador de la billetera virtual.

Ejemplo: wa8a6171ab83323c37
order string

Identificador de la orden.

Ejemplo: tme5
subject string

Descripción del movimiento.

Ejemplo: tme5 asunto
created_at string

Fecha de ejecución del movimiento.

Ejemplo: 2023-06-09 20:07:02
income_expense string

Pago a tercero o retiro a tu cuenta.

Ejemplo: expense
status string

Estatus del moviminto.

Ejemplo: current
amount string

Monto del movimiento.

Ejemplo: 3680
actual_amount string

Monto del saldo actual.

Ejemplo: 1766
origin_liquidation string

Origen de la liquidación.

currency string

Descripción de la moneda.

Ejemplo: CLP
payout object

Datos cuenta destino.

id string

Identificador de la cuenta destino.

Ejemplo: war3999847529816f2
phone string

Teléfono del titular de cuenta destino.

Ejemplo: 111111111
email string

Correo del titular de cuenta destino.

subject string

Estatus de la solicitud.

Ejemplo: subject order
amount string

Monto a depositado en la cuenta destino.

Ejemplo: 3680
accountbank_rut string

Rut del titular de la cuenta destino.

Ejemplo: 111111111
accountbank_name string

Nombre del titular de la cuenta destino.

Ejemplo: test
accountbank_type integer

Tipo de cuenta del banco destino.

Ejemplo: 1
accountbank_num integer

Número de cuenta del banco destino.

Ejemplo: 123123123
accountbank_sbif string

Código del banco al que pertenece la cuenta bancaria.

Ejemplo: 0001
status string

Estatus del movimiento.

Ejemplo: pending
update_at string

Fecha que se realizo la solicitud.

Ejemplo: 2023-06-09 21:10:46
GET/api/wallet/list

Este método permite obtener los movimientos de su billetera virtual payku, este método permite una paginación con un máximo de 4000 registros por página, además, posee los siguientes filtros:

Para la paginación es necesario agregar al final del endpoint lo siguiente ?page=1&per_page=100 siendo el primer parámetro el número de la página y el segundo el número de registros por página Como por ejemplo: 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 TOKEN-PUBLICO' \
-H 'Sign: SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' \
-H 'Content-Type: application/json' \
-H 'Host: BASE-URL' \

Respuestas

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": "2023-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": "2023-06-09 21:10:46"
}
}
]
}
Campos de la respuesta
ParámetroTipoDescripción
status string

Estatus de la carga a la wallet. Los posibles estados que puede obtener son los siguientes:

  • success
Ejemplo: success
current_id string

Identificador de la billetera virtual de payku "último movimiento".

Ejemplo: wa8a6171ab83323c37
amount_available integer

Monto disponible en la biletera virtual de payku.

Ejemplo: 1766
currency string

Descripción de la moneda.

Ejemplo: CLP
filter object

Datos específicos para filtrar los datos.

page integer

Página actual.

Ejemplo: 1
per_page integer

Cantidad de movimientos por página.

Ejemplo: 1000
currency string

Descripción de la moneda.

Ejemplo: CLP
id string

Identificador de la cuenta wallet.

Ejemplo: wa8a6171ab83323c37
wallet_movements array of objects
id string

Identificador de la billetera virtual.

Ejemplo: wa8a6171ab83323c37
order string

Identificador de la orden.

Ejemplo: tme5
subject string

Descripción del movimiento.

Ejemplo: tme5 asunto
created_at string

Fecha de ejecución del movimiento.

Ejemplo: 2023-06-09 20:07:02
income_expense string

Pago a tercero o retiro a tu cuenta.

Ejemplo: expense
status string

Estatus del moviminto.

Ejemplo: current
amount string

Monto del movimiento.

Ejemplo: 3680
actual_amount string

Monto del saldo actual.

Ejemplo: 1766
origin_liquidation string

Origen de la liquidación.

currency string

Descripción de la moneda.

Ejemplo: CLP
payout object

Datos cuenta destino.

id string

Identificador de la cuenta destino.

Ejemplo: war3999847529816f2
phone string

Teléfono del titular de cuenta destino.

Ejemplo: 111111111
email string

Correo del titular de cuenta destino.

subject string

Estatus de la solicitud.

Ejemplo: subject order
amount string

Monto a depositado en la cuenta destino.

Ejemplo: 3680
accountbank_rut string

Rut del titular de la cuenta destino.

Ejemplo: 111111111
accountbank_name string

Nombre del titular de la cuenta destino.

Ejemplo: test
accountbank_type integer

Tipo de cuenta del banco destino.

Ejemplo: 1
accountbank_num integer

Número de cuenta del banco destino.

Ejemplo: 123123123
accountbank_sbif string

Código del banco al que pertenece la cuenta bancaria.

Ejemplo: 0001
status string

Estatus del movimiento.

Ejemplo: pending
update_at string

Fecha que se realizo la solicitud.

Ejemplo: 2023-06-09 21:10:46
GET/api/wallet/{identificadorWallet}

Este método permite obtener un movimiento de su billetera virtual payku mediante un identificador:

Para realizar la consulta es necesario agregar al final del endpoint lo siguiente /{identificadorWallet} como por ejemplo: api/wallet/wa24bg36767.

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

Respuestas

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": "2023-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": "2023-06-09 21:10:46"
}
}
]
}
Campos de la respuesta
ParámetroTipoDescripción
status string

Estatus de la carga a la wallet. Los posibles estados que puede obtener son los siguientes:

  • success
Ejemplo: success
current_id string

Identificador de la billetera virtual de payku "último movimiento".

Ejemplo: wa8a6171ab83323c37
amount_available integer

Monto disponible en la biletera virtual de payku.

Ejemplo: 1766
currency string

Descripción de la moneda.

Ejemplo: CLP
filter object

Datos específicos para filtrar los datos.

page integer

Página actual.

Ejemplo: 1
per_page integer

Cantidad de movimientos por página.

Ejemplo: 1000
currency string

Descripción de la moneda.

Ejemplo: CLP
id string

Identificador de la cuenta wallet.

Ejemplo: wa8a6171ab83323c37
wallet_movements array of objects
id string

Identificador de la billetera virtual.

Ejemplo: wa8a6171ab83323c37
order string

Identificador de la orden.

Ejemplo: tme5
subject string

Descripción del movimiento.

Ejemplo: tme5 asunto
created_at string

Fecha de ejecución del movimiento.

Ejemplo: 2023-06-09 20:07:02
income_expense string

Pago a tercero o retiro a tu cuenta.

Ejemplo: expense
status string

Estatus del moviminto.

Ejemplo: current
amount string

Monto del movimiento.

Ejemplo: 3680
actual_amount string

Monto del saldo actual.

Ejemplo: 1766
origin_liquidation string

Origen de la liquidación.

currency string

Descripción de la moneda.

Ejemplo: CLP
payout object

Datos cuenta destino.

id string

Identificador de la cuenta destino.

Ejemplo: war3999847529816f2
phone string

Teléfono del titular de cuenta destino.

Ejemplo: 111111111
email string

Correo del titular de cuenta destino.

subject string

Estatus de la solicitud.

Ejemplo: subject order
amount string

Monto a depositado en la cuenta destino.

Ejemplo: 3680
accountbank_rut string

Rut del titular de la cuenta destino.

Ejemplo: 111111111
accountbank_name string

Nombre del titular de la cuenta destino.

Ejemplo: test
accountbank_type integer

Tipo de cuenta del banco destino.

Ejemplo: 1
accountbank_num integer

Número de cuenta del banco destino.

Ejemplo: 123123123
accountbank_sbif string

Código del banco al que pertenece la cuenta bancaria.

Ejemplo: 0001
status string

Estatus del movimiento.

Ejemplo: pending
update_at string

Fecha que se realizo la solicitud.

Ejemplo: 2023-06-09 21:10:46
GET/api/payout/{identificadorPayout}

Este método permite obtener un movimiento de pagos a terceros de su billetera virtual payku mediante un identificador:

Para realizar la consulta es necesario agregar al final del endpoint lo siguiente /{identificadorPayout} como por ejemplo: api/payout/wa24bg36767.

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

Respuestas

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": "2023-06-09 21:10:46",
"origin_wallet": "wa1933f37cdaf7d1c6"
}
}
Campos de la respuesta
ParámetroTipoDescripción
payout object

Datos cuenta destino.

id string

Identificador de la cuenta destino.

Ejemplo: war3999847529816f2
phone string

Teléfono del titular de cuenta destino.

Ejemplo: 111111111
email string

Correo del titular de cuenta destino.

subject string

Estatus de la solicitud.

Ejemplo: subject order
amount string

Monto a depositado en la cuenta destino.

Ejemplo: 3680
accountbank_rut string

Rut del titular de la cuenta destino.

Ejemplo: 111111111
accountbank_name string

Nombre del titular de la cuenta destino.

Ejemplo: test
accountbank_type integer

Tipo de cuenta del banco destino.

Ejemplo: 1
accountbank_num integer

Número de cuenta del banco destino.

Ejemplo: 123123123
accountbank_sbif string

Código del banco al que pertenece la cuenta bancaria.

Ejemplo: 0001
status string

Estatus del movimiento.

  • pending ("payout registrado")
  • processing ("payout en proceso de pago")
  • success ("payout depositado exitosamente")
  • banking_error ("payout rechazado por el banco")
  • fraud_prevention ("payout rechazado por compliance")
Ejemplo: pending
update_at string

Fecha que se realizo la solicitud.

Ejemplo: 2023-06-09 21:10:46
origin_wallet string

Id de la wallet origen.

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

Este método permite obtener un movimiento de pagos a terceros de su billetera virtual payku mediante un identificador:

Para realizar la consulta es necesario agregar al final del endpoint lo siguiente /{identificadorPayout} como por ejemplo: api/payoutv3/mor33e36b01e8a11b9ee.

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

Respuestas

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": "2023-06-09 21:10:46",
"origin_wallet": "wa1933f37cdaf7d1c6",
"reason_rejection": " Error CCA 51. Cuenta Beneficiario no Existe, error_creditor_account_not_found"
}
}
Campos de la respuesta
ParámetroTipoDescripción
payout object

Datos cuenta destino.

id string

Identificador de la cuenta destino.

Ejemplo: war3999847529816f2
phone string

Teléfono del titular de cuenta destino.

Ejemplo: 111111111
email string

Correo del titular de cuenta destino.

subject string

Estatus de la solicitud.

Ejemplo: subject order
amount string

Monto a depositado en la cuenta destino.

Ejemplo: 3680
accountbank_rut string

Rut del titular de la cuenta destino.

Ejemplo: 111111111
accountbank_name string

Nombre del titular de la cuenta destino.

Ejemplo: test
accountbank_type integer

Tipo de cuenta del banco destino.

Ejemplo: 1
accountbank_num integer

Número de cuenta del banco destino.

Ejemplo: 123123123
accountbank_sbif string

Código del banco al que pertenece la cuenta bancaria.

Ejemplo: 0001
status string

Estatus del movimiento.

  • pending ("payout registrado")
  • processing ("payout en proceso de pago")
  • success ("payout depositado exitosamente")
  • banking_error ("payout rechazado por el banco")
  • fraud_prevention ("payout rechazado por compliance")
Ejemplo: pending
update_at string

Fecha que se realizo la solicitud.

Ejemplo: 2023-06-09 21:10:46
origin_wallet string

Id de la wallet origen.

Ejemplo: wa1933f37cdaf7d1c6
reason_rejection string

Motivo del rechazo.

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