Wallet
Permite generar transacciones bancarias desde tu billetera virtual payku.
https://app.payku.cl/ (Default server) · https://des.payku.cl/ (Sandbox server)Realizar pagos a terceros desde mi wallet
Sección titulada «Realizar pagos a terceros desde mi wallet»/api/wallet/payoutEste 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ámetro | Tipo | Descripción |
|---|---|---|
emailrequerido |
string <email> | Email del usuario |
phone |
string | Télefono del usuario. Formato: 519YYYYYYYY |
subjectrequerido |
string | Descripción de la orden |
currencyrequerido |
string | Tipo de moneda (Formato ISO) |
orderrequerido |
string | Orden del comercio |
amountrequerido |
integer | Monto de la orden. Nota: el monto mínimo es de 5 soles (PEN) y el monto máximo es de 30000 soles (PEN). |
accountbank_namerequerido |
string | Nombre del titular de la cuenta |
accountbank_rutrequerido |
string | Documento de identidad del titular de la cuenta en Perú: DNI, Cédula de Extranjería (CE) o Pasaporte. El nombre del campo se mantiene por compatibilidad. Ejemplo (DNI): 47566578 |
accountbank_sbifrequerido |
string | Código del banco al que pertenece la cuenta bancaria. |
accountbank_typerequerido |
string | Tipo de cuenta.
|
accountbank_numrequerido |
string | Número de CCI (Código de Cuenta Interbancario) del cliente. Nota: El CCI interbancario es un número compuesto por 20 dígitos. Solo para el caso de YAPE, puede enviar el número de teléfono asociado. Formato: 519YYYYYYYY |
url_notify |
string | url donde se notificare el resultado del pago.
|
additional_parameters |
object | Parámetros adicionales del cliente (Opcional). |
parameter_1 |
string | Nombre del parámetro dado por el usuario payku |
parameter_2 |
string | Nombre del parámetro dado por el usuario payku |
order_ext |
string | Nombre de la orden externa dado por el usuario payku (Opcional) |
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": "51906310864", "subject": "test Gmoney peru", "currency": "PEN", "order": "0011010101777", "amount": 1, "accountbank_name": "PAYKU PERU SAC", "accountbank_rut": "47566578", "accountbank_sbif": "011", "accountbank_type": "1", "accountbank_num": "01128901338000251968", "url_notify": "https://www.youwebsite.com/urlnotify?orderClient=98745", "additional_parameters": { "parameter_1": "keyValue", "parameter_2": "keyValue", "order_ext": "fff-777" } }'$client = new \GuzzleHttp\Client(); $body = $client->request('POST', 'https://BASE_URL/api/wallet/payout', [ 'json' => [ "phone" => "51906310864", "subject" => "test Gmoney peru", "currency" => "PEN", "order" => "0011010101777", "amount" => 1, "accountbank_name" => "PAYKU PERU SAC", "accountbank_rut" => "47566578", "accountbank_sbif" => "011", "accountbank_type" => "1", "accountbank_num" => "01128901338000251968", "url_notify" => "https://www.youwebsite.com/urlnotify?orderClient=98745", "additional_parameters" => [ "parameter_1" => "keyValue", "parameter_2" => "keyValue", "order_ext" => "fff-777" ] ], 'headers' => [ 'Authorization' => 'Bearer TOKEN_PUBLICO', 'Sign' => 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' ] ])->getBody();$response = json_decode($body);const request = async (data) => { const response = await fetch('https://BASE_URL/api/wallet/payout', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Sign': 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO', 'Authorization': 'Bearer TOKEN-PUBLICO' }, body: JSON.stringify(data) }); const result = await response.json(); console.log(result)}
let data = { "phone": "51906310864", "subject": "test Gmoney peru", "currency": "PEN", "order": "0011010101777", "amount": 1, "accountbank_name": "PAYKU PERU SAC", "accountbank_rut": "47566578", "accountbank_sbif": "011", "accountbank_type": "1", "accountbank_num": "01128901338000251968", "url_notify": "https://www.youwebsite.com/urlnotify?orderClient=98745", "additional_parameters": { "parameter_1": "keyValue", "parameter_2": "keyValue", "order_ext": "fff-777" } };
request(data);Respuestas
{ "status": "success", "identifier_wallet": "wab5f7232dafff18f9", "identifier_payout": "mpe33e36b01e8a11b9ee"}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estatus de la carga a la wallet.Los posibles estados que puede obtener son los siguientes:
|
identifier_wallet |
string | Identificador del movimiento de la billetera virtual de payku. |
identifier_payout |
string | Identificador del pago a tercero. |
Error en la solicitud.
{ "status": "failed", "type": "Unprocessable Entity", "message_error": "subject:invalid,amount:is empty,email:is empty,order:invalid"}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estatus de la solicitud. |
type |
string | Tipo de error ocurrido. |
message_error |
string | Mensaje de error |
Token Público incorrecto.
{ "type": "Unauthorized", "message_error": { "error": "waiting token public" }}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
type |
string | Tipo de error ocurrido. |
message_error |
object | |
error |
string | Mensaje de error |
Obtener payout V3
Sección titulada «Obtener payout V3»/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/mpe33e36b01e8a11b9ee.
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' \$client = new \GuzzleHttp\Client(); $body = $client->request('GET', 'https://BASE_URL/api/payoutv3/{identificadorPayout}', [ 'headers' => [ 'Authorization' => 'Bearer TOKEN_PUBLICO', 'Sign' => 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' ] ])->getBody();$response = json_decode($body);const request = async () => { const response = await fetch('https://BASE_URL/api/payoutv3/{identificadorPayout}', { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer TOKEN-PUBLICO', 'Sign': 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' }, }); const result = await response.json(); console.log(result)}
request();Respuestas
{ "payout": { "id": "war3999847529816f2", "phone": "987654321", "subject": "subject order", "amount": "3680", "accountbank_rut": "111111111111", "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ámetro | Tipo | Descripción |
|---|---|---|
payout |
object | Datos cuenta destino. |
id |
string | Identificador de la cuenta destino. |
phone |
string | Teléfono del titular de cuenta destino. |
email |
string | Correo del titular de cuenta destino. |
subject |
string | Estatus de la solicitud. |
amount |
string | Monto a depositado en la cuenta destino. |
accountbank_rut |
string | Documento de identidad del titular de la cuenta destino: DNI, Cédula de Extranjería (CE) o Pasaporte. |
accountbank_name |
string | Nombre del titular de la cuenta destino. |
accountbank_type |
integer | Tipo de cuenta del banco destino. |
accountbank_num |
integer | Número de CCI (Código de Cuenta Interbancario) del banco destino o en caso de YAPE el número celular del beneficiario. |
accountbank_sbif |
string | Código del banco al que pertenece la cuenta bancaria. |
status |
string | Estatus del movimiento.
|
update_at |
string | Fecha que se realizo la solicitud. |
origin_wallet |
string | Id de la wallet origen. |
reason_rejection |
string | Motivo del rechazo. |
Error en la solicitud.
{ "status": "failed", "type": "Unprocessable Entity", "message_error": "subject:invalid,amount:is empty,email:is empty,order:invalid"}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estatus de la solicitud. |
type |
string | Tipo de error ocurrido. |
message_error |
string | Mensaje de error |
Token Público incorrecto.
{ "type": "Unauthorized", "message_error": { "error": "waiting token public" }}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
type |
string | Tipo de error ocurrido. |
message_error |
object | |
error |
string | Mensaje de error |
Identificador no existe.
{ "status": "failed", "type": "Not Found", "id": "is not valid"}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estatus de la solicitud. |
type |
string | Tipo de error ocurrido. |
id |
string | Información de id |