@@ -0,0 +1,2637 @@
+/*%0A * Copyright 2016 Groupon, Inc%0A * Copyright 2016 The Billing Project, LLC%0A *%0A * The Billing Project licenses this file to you under the Apache License, version 2.0%0A * (the %22License%22); you may not use this file except in compliance with the%0A * License.  You may obtain a copy of the License at:%0A *%0A *    http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.killbill.billing.notification.plugin.api;%0A%0Aimport java.math.BigDecimal;%0Aimport java.util.UUID;%0A%0Aimport org.joda.time.DateTime;%0Aimport org.killbill.billing.catalog.api.Currency;%0Aimport org.killbill.billing.payment.api.TransactionStatus;%0Aimport org.killbill.billing.payment.api.TransactionType;%0A%0Aimport com.fasterxml.jackson.annotation.JsonCreator;%0Aimport com.fasterxml.jackson.annotation.JsonProperty;%0A%0Apublic class PaymentMetadata %7B%0A%0A    private final UUID paymentTransactionId;%0A    private final BigDecimal amount;%0A    private final Currency currency;%0A    private final TransactionStatus status;%0A    private final TransactionType transactionType;%0A    private final DateTime effectiveDate;%0A%0A    @JsonCreator%0A    public PaymentMetadata(@JsonProperty(%22paymentTransactionId%22) final UUID paymentTransactionId,%0A                           @JsonProperty(%22amount%22) final BigDecimal amount,%0A                           @JsonProperty(%22currency%22) final Currency currency,%0A                           @JsonProperty(%22status%22) final TransactionStatus status,%0A                           @JsonProperty(%22transactionType%22) final TransactionType transactionType,%0A                           @JsonProperty(%22effectiveDate%22) final DateTime effectiveDate) %7B%0A        this.paymentTransactionId = paymentTransactionId;%0A        this.amount = amount;%0A        this.currency = currency;%0A        this.status = status;%0A        this.transactionType = transactionType;%0A        this.effectiveDate = effectiveDate;%0A    %7D%0A%0A    public UUID getPaymentTransactionId() %7B%0A        return paymentTransactionId;%0A    %7D%0A%0A    public BigDecimal getAmount() %7B%0A        return amount;%0A    %7D%0A%0A    public Currency getCurrency() %7B%0A        return currency;%0A    %7D%0A%0A    public TransactionStatus getStatus() %7B%0A        return status;%0A    %7D%0A%0A    public TransactionType getTransactionType() %7B%0A        return transactionType;%0A    %7D%0A%0A    public DateTime getEffectiveDate() %7B%0A        return effectiveDate;%0A    %7D%0A%7D%0A

Add metadata object for Payment events