Anulación
Permite solicitar la anulación de una transacción realizada a través de payku.
https://app.payku.cl/ (Default server) · https://des.payku.cl/ (Sandbox server)Crear anulación.
Sección titulada «Crear anulación.»/api/nullificationEste método permite crear una anulación de una transacción.
Cuerpo de la solicitud
| Parámetro | Tipo | Descripción |
|---|---|---|
id |
string | Identificador de la transacción la cual se desea anular. |
amount |
int | Monto de la transacción. |
subject |
string | descripción de la solicitud de anulación. |
curl -X POST \https://BASE-URL/api/nullification \-H 'Accept: application/json, text/plain, */*' \-H 'Authorization: Bearer TOKEN-PUBLICO' \-H 'Sign: f96ddc14a73a4dd6e009db2514108a3f44832795cd5ac50e6a80fd0b0ae92112' \-H 'Content-Type: application/json' \-H 'Host: BASE-URL' \-d '{ 'id': 'trxpr2a45s1dytg1', 'amount': 25000, 'subject': 'anulación transacción'}'$client = new \GuzzleHttp\Client(); $body = $client->request('POST', 'https://BASE_URL/api/nullification', [ 'json' => [ 'id' => 'trxpr2a45s1dytg1', 'amount' => 25000, 'subject' => "anulación transacción" ], 'headers' => [ 'Sign' => 'f96ddc14a73a4dd6e009db2514108a3f44832795cd5ac50e6a80fd0b0ae92112', 'Authorization' => 'Bearer TOKEN_PUBLICO' ] ])->getBody();$response = json_decode($body);const request = async (data) => { const response = await fetch('https://BASE_URL/api/nullification', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Sign': 'f96ddc14a73a4dd6e009db2514108a3f44832795cd5ac50e6a80fd0b0ae92112', 'Authorization': 'Bearer TOKEN-PUBLICO' }, body: JSON.stringify(data) }); const result = await response.json(); console.log(result)}
let data = { 'id': 'trxpr2a45s1dytg1', 'amount': 25000, 'subject': 'anulación transacción'};
request(data);Respuestas
{ "status": "success", "nullify": { "id": "trxpr2a45s1dytg1", "amount": 25000, "currency": "CLP", "type": "total", "status_nullify": "complete", "payment": { "gateway": "webpay", "payment_type": "VC" }, "created_at": "2023-05-17T19:12:57.189Z", "updated_at": "2023-05-17T19:12:57.189Z" }, "gateway_response": { "status": "Successfully registered request", "message": "The cancellation will be executed after the amount requested is deducted from your next settlement", "notify": "No availability in the wallet" }}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
status |
string | Estado del registro. |
nullify |
object | |
id |
string | Identificador de la transacción la cual se desea anular. |
amount |
number | Monto de la transacción |
currency |
string | Moneda |
type |
string | Tipos del registro:
|
status_nullify |
string | Estatus de la anulación:
|
payment |
object | |
gateway |
string | Medio de pago |
payment_type |
string | Tipo de pago |
created_at |
string | Fecha de creación de solicitud de anulación |
updated_at |
string | Fecha de actualización de solicitud de anulación |
gateway_response |
object | Respuesta de la solicitud de anulación |
status |
string | Estado del registro de la solicitud de anulación |
message |
string | Mensaje del proceso de la solicitud |
notify |
string | Notificación sobre el estado de la solicitud de anulación |
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 anulación.
Sección titulada «Obtener anulación.»/api/nullification/{identificador}Este método permite obtener las solicitudes de una anulación realizada a payku mediante un identificador:
Para realizar la consulta es necesario agregar al final del endpoint lo siguiente /{identificador} como por ejemplo: api/nullification/trxpr2a45s1dytg1.
curl -X GET \https://BASE-URL/api/nullification/{identificador} \-H 'Accept: application/json, text/plain, */*' \-H 'Authorization: Bearer TOKEN-PUBLICO' \-H 'Content-Type: application/json' \-H 'Host: BASE-URL' \$client = new \GuzzleHttp\Client(); $body = $client->request('GET', 'https://BASE_URL/api/nullification/{identificador}', [ 'headers' => [ 'Authorization' => 'Bearer TOKEN_PUBLICO' ] ])->getBody();$response = json_decode($body);const request = async () => { const response = await fetch('https://BASE_URL/api/nullification/{identificador}', { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer TOKEN-PUBLICO' }, }); const result = await response.json(); console.log(result)}
request();Respuestas
{ "nullify": { "id": "trxpr2a45s1dytg1", "amount": 25000, "currency": "CLP", "type": "total", "status_nullify": "complete", "payment": { "gateway": "webpay", "payment_type": "VC" }, "created_at": "2023-05-17T19:12:57.189Z", "updated_at": "2023-05-17T19:12:57.189Z" }}Campos de la respuesta
| Parámetro | Tipo | Descripción |
|---|---|---|
nullify |
object | Datos de retorno de la creación de una solicitud de anulación |
id |
string | Identificador de la transferencia de la cual se desea solicitar anulación. |
amount |
number | Monto de la transacción |
currency |
string | Moneda |
type |
string | Tipos del registro:
|
status_nullify |
string | Estatus de la anulación:
|
payment |
object | |
gateway |
string | Medio de pago |
payment_type |
string | Tipo de pago |
created_at |
string | Fecha de creación de solicitud de anulación |
updated_at |
string | Fecha de actualización de solicitud de anulación |
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 |
Generar callback.
Sección titulada «Generar callback.»callbackDesde la aplicación de payku, puedes generar la url de notificación desde la sección de configuración.
Ejemplo de la respuesta del callback:
{
"id": "morexxzxxx",
"id_transaction": "morexxzxxx",
"ordencompra": "367734544",
"fecha": "24-08-2023 12:29:35",
"monto": 7000,
"status": "complete"
}