Interface TransactionDraft

All Superinterfaces:
CustomizableDraft<TransactionDraft>, Draft<TransactionDraft>

public interface TransactionDraft extends CustomizableDraft<TransactionDraft>, Draft<TransactionDraft>
TransactionDraft
Example to create an instance using the builder pattern

     TransactionDraft transactionDraft = TransactionDraft.builder()
             .type(TransactionType.AUTHORIZATION)
             .amount(amountBuilder -> amountBuilder)
             .build()
 
  • Method Details

    • getTimestamp

      ZonedDateTime getTimestamp()

      Date and time (UTC) the Transaction took place.

      Returns:
      timestamp
    • getType

      @NotNull @NotNull TransactionType getType()

      Type of the Transaction.

      Returns:
      type
    • getAmount

      @NotNull @Valid @NotNull @Valid Money getAmount()

      Money value for the Transaction.

      Returns:
      amount
    • getInteractionId

      String getInteractionId()

      Identifier used by the payment service that manages the Transaction. Can be used to correlate the Transaction to an interface interaction.

      Returns:
      interactionId
    • getState

      TransactionState getState()

      State of the Transaction.

      Returns:
      state
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields of the Transaction.

      Specified by:
      getCustom in interface CustomizableDraft<TransactionDraft>
      Returns:
      custom
    • setTimestamp

      void setTimestamp(ZonedDateTime timestamp)

      Date and time (UTC) the Transaction took place.

      Parameters:
      timestamp - value to be set
    • setType

      void setType(TransactionType type)

      Type of the Transaction.

      Parameters:
      type - value to be set
    • setAmount

      void setAmount(Money amount)

      Money value for the Transaction.

      Parameters:
      amount - value to be set
    • setInteractionId

      void setInteractionId(String interactionId)

      Identifier used by the payment service that manages the Transaction. Can be used to correlate the Transaction to an interface interaction.

      Parameters:
      interactionId - value to be set
    • setState

      void setState(TransactionState state)

      State of the Transaction.

      Parameters:
      state - value to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields of the Transaction.

      Specified by:
      setCustom in interface CustomizableDraft<TransactionDraft>
      Parameters:
      custom - value to be set
    • of

      static TransactionDraft of()
      factory method
      Returns:
      instance of TransactionDraft
    • of

      static TransactionDraft of(TransactionDraft template)
      factory method to create a shallow copy TransactionDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      factory method to create a deep copy of TransactionDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static TransactionDraftBuilder builder()
      builder factory method for TransactionDraft
      Returns:
      builder
    • builder

      static TransactionDraftBuilder builder(TransactionDraft template)
      create builder for TransactionDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withTransactionDraft

      default <T> T withTransactionDraft(Function<TransactionDraft,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<TransactionDraft> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference