All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adyen.model.transactionwebhooks.TransactionWebhooksHandler Maven / Gradle / Ivy

There is a newer version: 38.1.0
Show newest version
/*
 * Transaction webhooks
 *
 * The version of the OpenAPI document: 4
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

package com.adyen.model.transactionwebhooks;

import java.util.Optional;
import java.util.logging.Logger;

/**
 * Handler for processing TransactionWebhooks.
 * 

* This class provides functionality to deserialize the payload of TransactionWebhooks events. */ public class TransactionWebhooksHandler { private static final Logger LOG = Logger.getLogger(TransactionWebhooksHandler.class.getName()); private final String payload; /** * Constructs a new handler for the given webhook payload * * @param payload the raw JSON payload from the webhook */ public TransactionWebhooksHandler(String payload) { this.payload = payload; } /** * Attempts to deserialize the webhook payload into a TransactionNotificationRequestV4 * * @return an Optional containing the deserialized object, or empty if deserialization fails */ public Optional getTransactionNotificationRequestV4() { return getOptionalField(TransactionNotificationRequestV4.class); } /** * Deserializes the payload into the specified class type. * * @param clazz the class to deserialize into * @param the type of the class * @return an Optional containing the deserialized object, or empty if an error occurs */ private Optional getOptionalField(Class clazz) { try { T val = JSON.getMapper().readValue(payload, clazz); return Optional.ofNullable(val); } catch (Exception e) { // an error has occurred during deserialization (object not found, deserialization error) LOG.warning("Object not found or unexpected error trying to access: " + clazz.getName()); LOG.warning("Deserialization error: " + e.getMessage()); return Optional.empty(); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy