Interface PaymentDraft

All Superinterfaces:
CustomizableDraft<PaymentDraft>, Draft<PaymentDraft>, WithKey

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

     PaymentDraft paymentDraft = PaymentDraft.builder()
             .amountPlanned(amountPlannedBuilder -> amountPlannedBuilder)
             .build()
 
  • Method Details

    • getCustomer

      @Valid @Valid CustomerResourceIdentifier getCustomer()

      Reference to a Customer associated with the Payment.

      Returns:
      customer
    • getAnonymousId

      String getAnonymousId()

      Anonymous session associated with the Payment.

      Returns:
      anonymousId
    • getInterfaceId

      String getInterfaceId()

      Identifier used by the payment service that processes the Payment (for example, a PSP). The combination of interfaceId and the paymentInterface field on PaymentMethodInfo must be unique. Once set, it cannot be changed.

      Returns:
      interfaceId
    • getAmountPlanned

      @NotNull @Valid @NotNull @Valid Money getAmountPlanned()

      Money value the Payment intends to receive from the customer. The value typically matches the Cart or Order gross total.

      Returns:
      amountPlanned
    • getPaymentMethodInfo

      @Valid @Valid PaymentMethodInfo getPaymentMethodInfo()

      Information regarding the payment interface (for example, a PSP), and the specific payment method used.

      Returns:
      paymentMethodInfo
    • getPaymentStatus

      @Valid @Valid PaymentStatusDraft getPaymentStatus()

      Current status of the Payment.

      Returns:
      paymentStatus
    • getTransactions

      @Valid @Valid List<TransactionDraft> getTransactions()

      Financial transactions of the Payment. Each Transaction has a TransactionType and a TransactionState.

      Returns:
      transactions
    • getInterfaceInteractions

      @Valid @Valid List<CustomFieldsDraft> getInterfaceInteractions()

      Represents information exchange with the payment service, for example, a PSP. An interaction may be a request sent, or a response or notification received from the payment service.

      Returns:
      interfaceInteractions
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields for the Payment.

      Specified by:
      getCustom in interface CustomizableDraft<PaymentDraft>
      Returns:
      custom
    • getKey

      String getKey()

      User-defined unique identifier for the Payment.

      Specified by:
      getKey in interface WithKey
      Returns:
      key
    • setCustomer

      void setCustomer(CustomerResourceIdentifier customer)

      Reference to a Customer associated with the Payment.

      Parameters:
      customer - value to be set
    • setAnonymousId

      void setAnonymousId(String anonymousId)

      Anonymous session associated with the Payment.

      Parameters:
      anonymousId - value to be set
    • setInterfaceId

      void setInterfaceId(String interfaceId)

      Identifier used by the payment service that processes the Payment (for example, a PSP). The combination of interfaceId and the paymentInterface field on PaymentMethodInfo must be unique. Once set, it cannot be changed.

      Parameters:
      interfaceId - value to be set
    • setAmountPlanned

      void setAmountPlanned(Money amountPlanned)

      Money value the Payment intends to receive from the customer. The value typically matches the Cart or Order gross total.

      Parameters:
      amountPlanned - value to be set
    • setPaymentMethodInfo

      void setPaymentMethodInfo(PaymentMethodInfo paymentMethodInfo)

      Information regarding the payment interface (for example, a PSP), and the specific payment method used.

      Parameters:
      paymentMethodInfo - value to be set
    • setPaymentStatus

      void setPaymentStatus(PaymentStatusDraft paymentStatus)

      Current status of the Payment.

      Parameters:
      paymentStatus - value to be set
    • setTransactions

      void setTransactions(TransactionDraft... transactions)

      Financial transactions of the Payment. Each Transaction has a TransactionType and a TransactionState.

      Parameters:
      transactions - values to be set
    • setTransactions

      void setTransactions(List<TransactionDraft> transactions)

      Financial transactions of the Payment. Each Transaction has a TransactionType and a TransactionState.

      Parameters:
      transactions - values to be set
    • setInterfaceInteractions

      void setInterfaceInteractions(CustomFieldsDraft... interfaceInteractions)

      Represents information exchange with the payment service, for example, a PSP. An interaction may be a request sent, or a response or notification received from the payment service.

      Parameters:
      interfaceInteractions - values to be set
    • setInterfaceInteractions

      void setInterfaceInteractions(List<CustomFieldsDraft> interfaceInteractions)

      Represents information exchange with the payment service, for example, a PSP. An interaction may be a request sent, or a response or notification received from the payment service.

      Parameters:
      interfaceInteractions - values to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields for the Payment.

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

      void setKey(String key)

      User-defined unique identifier for the Payment.

      Parameters:
      key - value to be set
    • of

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

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

      @Nullable static PaymentDraft deepCopy(@Nullable PaymentDraft template)
      factory method to create a deep copy of PaymentDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static PaymentDraftBuilder builder()
      builder factory method for PaymentDraft
      Returns:
      builder
    • builder

      static PaymentDraftBuilder builder(PaymentDraft template)
      create builder for PaymentDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withPaymentDraft

      default <T> T withPaymentDraft(Function<PaymentDraft,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<PaymentDraft> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference