Wallet
https://app.payku.cl/ (Production) · https://des.payku.cl/ (Sandbox)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 |
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 |
accountbank_namerequerido |
string | Nombre del titular de la cuenta |
accountbank_rutrequerido |
string | Cédula de identidad del titular Formato: (V/E/J) VXXXXXXXX |
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 cuenta del cliente en Venezuela Formato: (0412 / 0414 / 0424 / 0426 / 0416) 9876543 |
url_notify |
string | Callback donde se notificará 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 |
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": "04149876543", "subject": "payOut description 9876", "currency": "VES", "order": "9876", "amount": 1000, "accountbank_name": "Jhon Doe", "accountbank_rut": "V23654789", "accountbank_sbif": "0102", "accountbank_type": "1", "accountbank_num": "04149876543", "url_notify": "https://youwebsite.com/urlnotify?orderClient=9876", "additional_parameters": { "custom_parameter_1": "keyValue", "custom_parameter_2": "SpecificValue2", "external_reference": "REF-777" }}'$client = new \GuzzleHttp\Client();$body = $client->request('POST', 'https://BASE_URL/api/wallet/payout', [ 'json' => [ 'phone' => '04149876543', 'subject' => 'payOut description 9876', 'currency' => 'VES', 'order' => '9876', 'amount' => 1000, 'accountbank_name' => 'Jhon Doe', 'accountbank_rut' => 'V23654789', 'accountbank_sbif' => '0102', 'accountbank_type' => '1', 'accountbank_num' => '04149876543', 'url_notify' => 'https://youwebsite.com/urlnotify?orderClient=9876', 'additional_parameters' => [ 'custom_parameter_1' => 'keyValue', 'custom_parameter_2' => 'SpecificValue2', 'external_reference' => 'REF-777' ] ], 'headers' => [ 'Authorization' => 'Bearer TOKEN_PUBLICO', 'Sign' => 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' ]])->getBody();$response = json_decode($body);const data = { "phone": "04149876543", "subject": "payOut description 9876", "currency": "VES", "order": "9876", "amount": 1000, "accountbank_name": "Jhon Doe", "accountbank_rut": "V23654789", "accountbank_sbif": "0102", "accountbank_type": "1", "accountbank_num": "04149876543", "url_notify": "https://youwebsite.com/urlnotify?orderClient=9876", "additional_parameters": { "custom_parameter_1": "keyValue", "custom_parameter_2": "SpecificValue2", "external_reference": "REF-777" }};const request = async (data) => { const response = await fetch('https://BASE_URL/api/wallet/payout', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer TOKEN_PUBLICO', 'Sign': 'SHA256-REQUEST-PATH-VALUE-TOKEN-PRIVADO' }, body: JSON.stringify(data) }); const result = await response.json(); console.log(result)}request(data);Respuestas
{ "status": "success", "identifier_wallet": "wvb5f7232dafff18f9", "identifier_payout": "mv40746ab8eff910f41e"}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estado de la carga a la wallet. Los posibles estados son:
|
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 |
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/wa24bg36767.
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": "111111111", "subject": "subject order", "amount": "3680", "accountbank_rut": "V23654789", "accountbank_name": "test", "accountbank_type": 1, "accountbank_num": 123123123, "accountbank_sbif": "0102", "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 | Rut del titular de la cuenta destino. |
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 cuenta del banco destino. |
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 |
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 |