El servicio permite enviar notificaciones a pagadores o comercios. Las mismas pueden ser sobre un pago o sobre una suscripción.apartado describe el uso del parámetro notification_url dentro de los pagos y suscripciones.
Descripción
Al momento de registrar un pago o una suscripción en la plataforma de Pay per TIC se tiene la posibilidad de utilizar el parámetro url_notification, este permite la recepción de notificaciones de cambio de dicho pago o suscripción.
Modelo de Notificación
Al momento de enviar una notificación el sistema realiza un POST a la url informada con un modelo de dato como el siguiente
Notificación de un pago:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type" : "debit", "validation" : false, "review" : false, "id" : "554ecb4a-aec5-439f-b506-9a22215e0746", "external_transaction_id" : "c189ad3d-f5e7-4d33-a92e-09adcb9273ed", "collector_id" : "999", "collector_detail" : { "name" : "PRUEBA" }, "notification_url" : "http://127.0.0.1:9999/notifications", "form_url" : "http://localhost:8180/formularios/v2/pagos/554ecb4a-aec5-439f-b506-9a22215e0746", "details" : [ { "amount" : 1.0, "external_reference" : "123", "concept_id" : "prueba", "concept_description" : "Concepto de prueba" } ], "currency_id" : "ARS", "payment_methods" : [ { "amount" : 1.0, "media_payment_id" : 9, "media_payment_detail" : "VISA CREDIT", "last_four_digits" : "0010", "first_six_digits" : "450799", "installments" : 1, "authorization_code" : "191780", "gateway" : { "establishment_number" : "PRUEBA", "transaction_id" : "4021606", "batch_number" : "1", "ticket_number" : "1533", "ppt_owner" : false }, "payment_method_id" : 0 } ], "final_amount" : 1.0, "status" : "approved", "status_detail" : "APROBADA - Autorizada - MOP GPAY: -1 - Aprobada", "request_date" : "2019-08-06T14:58:25-0300", "due_date" : "2019-08-06T14:58:25-0300", "last_due_date" : "2019-08-06T14:58:25-0300", "process_date" : "2019-08-06T14:58:25-0300", "paid_date" : "2019-08-06T14:58:25-0300", "accreditation_date" : "2019-08-06T14:58:25-0300", "last_update_date" : "2019-08-06T14:58:25-0300", "metadata" : { "parametro_1" : "valor_de_prueba" }, "source" : { "id" : "ee84ca67-5f90-4ca9-b587-37afce6ecc14", "name" : "system-test", "type" : "system" } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type" : "subscription", "validation" : false, "review" : false, "source" : { "id" : "4450b7c2-58c6-4f38-b8ab-69b8d4761a7f", "name" : "system-test", "type" : "collector" }, "id" : "a16d59ca-b974-4f9c-a17a-37721705688d", "collector_id" : "999", "collector_detail" : { "name" : "PRUEBA" }, "notification_url" : "http://127.0.0.1:9980/notifications", "detail" : { "amount" : 1.0, "external_reference" : "344", "concept_id" : "44", "concept_description" : "Concepto de prueba" }, "currency_id" : "ARS", "payment_method" : { "media_payment_id" : 9, "media_payment_detail" : "VISA CREDIT", "last_four_digits" : "0010", "first_six_digits" : "450799" }, "payer" : { "name" : "Prueba", "email" : "prueba@paypertic.com", "external_reference" : "664", "identification" : { "type" : "DNI_ARG", "number" : "99999999", "country" : "ARG" } }, "amount" : 1.0, "status" : "active", "request_date" : "2019-08-06T15:35:04-0300", "due_day" : 25, "last_update_date" : "2019-08-06T15:35:05-0300", "recurrence" : "monthly", "periods" : 30 } |
...
Encriptación
Es posible enviar notificaciones en forma encriptada. Para esto se usaran tres tipos de llaves, una simétrica, una privada y una pública.
- Llave simétrica: esta es la llave que se usara para encriptar la notificación y la cual se enviara junto con la misma. Nota: al momento de ejecutar esta acción se utiliza el algoritmo default de cifrado AES de java. Este utiliza AES-256-ECB.
- Llave privada: esta llave se usara para encriptar la llave simétrica. Esta estará configurada en el comercio.
- Llave publica: esta llave se usara para desencriptar la llave simétrica del lado del cliente. Se creara junto con la privada y sera proveída para su uso.
La notificación se encriptara con la llave simétrica. La llave simétrica se encriptara con la llave privada. Se envía al cliente la notificación junto con la llave simétrica, ambos encriptados.
...
Llave simétrica: 5q0++mJ1AJZdzHzSkfV2+VtGg9u9BFmq
Llave publica:
Panel |
---|
-----BEGIN PUBLIC KEY----- |
Llave privada:
Panel |
---|
-----BEGIN PRIVATE KEY----- |
Pago de prueba:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "type" : "debit", "validation" : false, "review" : false, "id" : "554ecb4a-aec5-439f-b506-9a22215e0746", "external_transaction_id" : "c189ad3d-f5e7-4d33-a92e-09adcb9273ed", "collector_id" : "999", "collector_detail" : { "name" : "PRUEBA" }, "notification_url" : "http://127.0.0.1:9999/notifications", "form_url" : "http://localhost:8180/formularios/v2/pagos/554ecb4a-aec5-439f-b506-9a22215e0746", "details" : [ { "amount" : 1.0, "external_reference" : "123", "concept_id" : "prueba", "concept_description" : "Concepto de prueba" } ], "currency_id" : "ARS", "payment_methods" : [ { "amount" : 1.0, "media_payment_id" : 9, "media_payment_detail" : "VISA CREDIT", "last_four_digits" : "0010", "first_six_digits" : "450799", "installments" : 1, "authorization_code" : "191780", "gateway" : { "establishment_number" : "PRUEBA", "transaction_id" : "4021606", "batch_number" : "1", "ticket_number" : "1533", "ppt_owner" : false }, "payment_method_id" : 0 } ], "final_amount" : 1.0, "status" : "approved", "status_detail" : "APROBADA - Autorizada - MOP GPAY: -1 - Aprobada", "request_date" : "2019-08-06T14:58:25-0300", "due_date" : "2019-08-06T14:58:25-0300", "last_due_date" : "2019-08-06T14:58:25-0300", "process_date" : "2019-08-06T14:58:25-0300", "paid_date" : "2019-08-06T14:58:25-0300", "accreditation_date" : "2019-08-06T14:58:25-0300", "last_update_date" : "2019-08-06T14:58:25-0300", "metadata" : { "parametro_1" : "valor_de_prueba" }, "source" : { "id" : "ee84ca67-5f90-4ca9-b587-37afce6ecc14", "name" : "system-test", "type" : "system" } } |