webhook

package
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2024 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TransactionSchemeTransfer       = "Transfer"
	TransactionSchemeFasterPayments = "FasterPayments"
	TransactionSchemeBacs           = "Bacs"
	TransactionSchemeChaps          = "Chaps"
)
View Source
const (
	Test                           = "FITestEvent"
	AccountCreated                 = "AccountCreated"
	AccountDisabled                = "AccountDisabled"
	VirtualAccountCreated          = "VirtualAccountCreated"
	VirtualAccountCreationFailed   = "VirtualAccountCreationFailed"
	TransactionSettled             = "TransactionSettled"
	PaymentMessageAssesmentFailed  = "PaymentMessageAssesmentFailed"
	PaymentMessageValidationFailed = "PaymentMessageValidationFailed"
	TransactionRejected            = "TransactionRejected"
	MCCYAccountCreated             = "Accounts.AccountCreated"
	MCCYAccountUpdated             = "Accounts.AccountUpdated"
	MCCYVirtualAccountCreated      = "Accounts.VirtualAccountCreated"
	MCCYVirtualAccountUpdated      = "Accounts.VirtualAccountUpdated"
	MCCYInstitutionStatement       = "MCCY.Statements.InstitutionStatement"
	MCCYAccountStatement           = "MCCY.Statements.AccountStatement"
	MCCYTransactionCreated         = "Payments.Mccy.TransactionCreated"
	MCCYTransactionSettled         = "Payments.Mccy.TransactionSettled"
	MCCYTransactionCancelled       = "Payments.Mccy.TransactionCancelled"
	MCCYPayloadAssessmentFailed    = "Payments.Mccy.PaymentAssessmentFailed"
	MCCYPayloadValidationFailed    = "Payments.Mccy.PaymentValidationFailed"
	MCCYInternalTransfersSettled   = "Mccy.InternalTransfers.Settled"
	MCCYInternalTransfersCancelled = "Mccy.InternalTransfers.Cancelled"
	FxTradeExecuted                = "Fx.Trade.Executed"
	FxTradeSettled                 = "Fx.Trade.Settled"
	FxTradeCancelled               = "Fx.Trade.Cancelled"
	FxTradeSettlementFailed        = "Fx.Trade.Settlement.Failed"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountCreatedPayload added in v0.5.0

type AccountCreatedPayload struct {
	AccountID          uuid.UUID `json:"AccountId" validate:"required"`
	AccountName        string    `json:"AccountName" validate:"required"`
	AccountHolderLabel string    `json:"AccountHolderLabel" validate:"required"`
	AccountIdentifiers struct {
		IBAN string `json:"IBAN" validate:"required"`
		BBAN string `json:"BBAN" validate:"required"`
	} `json:"AccountIdentifiers" validate:"required"`
	TimestampCreated clearbank.Time `json:"TimestampCreated" validate:"required"`
	AccountType      AccountType    `json:"AccountType" validate:"required"`
}

AccountCreatedPayload This webhook confirms the account has been created

type AccountDisabledPayload added in v0.5.0

type AccountDisabledPayload struct {
	AccountID         uuid.UUID      `json:"AccountId" validate:"required"`
	DisabledReason    DisabledReason `json:"DisabledReason" validate:"required"`
	DisabledTimestamp clearbank.Time `json:"DisabledTimestamp" validate:"required"`
}

AccountDisabledPayload

type AccountType added in v0.3.0

type AccountType string
const (
	AccountTypeCurrent          AccountType = "CurrentAccount"
	AccountTypeDeposit          AccountType = "DepositAccount"
	AccountTypeControl          AccountType = "ControlAccount"
	AccountTypeSegregatedClient AccountType = "SegregatedClientAccount"
	AccountTypeInstitution      AccountType = "InstitutionAccount"
)

type AdditionalProperty added in v0.3.0

type AdditionalProperty struct {
	Key   string `json:"Key" validate:"required"`
	Value string `json:"Value" validate:"required"`
}

type DebitCreditCode added in v0.3.0

type DebitCreditCode string
const (
	DebitCreditCodeDebit  DebitCreditCode = "Debit"
	DebitCreditCodeCredit DebitCreditCode = "Credit"
)

type DisabledReason added in v0.3.0

type DisabledReason string
const (
	DisabledReasonAccountClosed    DisabledReason = "AccountClosed"
	DisabledReasonAccountSuspended DisabledReason = "AccountSuspended"
)

type FxTradeCancelledPayload added in v0.5.0

type FxTradeCancelledPayload struct {
	SellAccountOwner        string         `json:"SellAccountOwner" validate:"required"`
	SellAccountIBAN         string         `json:"SellAccountIban" validate:"required"`
	BuyAccountOwner         string         `json:"BuyAccountOwner" validate:"required"`
	BuyAccountIBAN          string         `json:"BuyAccountIban" validate:"required"`
	Attestation             string         `json:"Attestation" validate:"required"`
	ValueDate               clearbank.Time `json:"ValueDate" validate:"required"`
	InstructedAmount        float64        `json:"InstructedAmount" validate:"required"`
	FixedSide               string         `json:"FixedSide" validate:"required"`
	BuyCurrency             string         `json:"BuyCurrency" validate:"required"`
	SellCurrency            string         `json:"SellCurrency" validate:"required"`
	Margin                  float64        `json:"Margin"`
	MarginAccountIBAN       string         `json:"MarginAccountIban"`
	EndToEndID              string         `json:"EndToEndId" validate:"required"`
	UnstructuredInformation string         `json:"UnstructuredInformation"`
	CancellationCode        string         `json:"CancellationCode" validate:"required"`
	CancellationReason      string         `json:"CancellationReason" validate:"required"`
}

FxTradeCancelledPayload This webhook confirms that the FX trade has been canceled

type FxTradeExecutedPayload added in v0.5.0

type FxTradeExecutedPayload struct {
	SellAccountOwner        string              `json:"SellAccountOwner" validate:"required"`
	SellAccountIBAN         string              `json:"SellAccountIban" validate:"required"`
	BuyAccountOwner         string              `json:"BuyAccountOwner" validate:"required"`
	BuyAccountIBAN          string              `json:"BuyAccountIban" validate:"required"`
	Attestation             string              `json:"Attestation" validate:"required"`
	ValueDate               clearbank.Time      `json:"ValueDate" validate:"required"`
	InstructedAmount        float64             `json:"InstructedAmount" validate:"required"`
	FixedSide               clearbank.FixedSide `json:"FixedSide" validate:"required"`
	BuyCurrency             string              `json:"BuyCurrency" validate:"required"`
	SellCurrency            string              `json:"SellCurrency" validate:"required"`
	Margin                  float64             `json:"Margin"`
	MarginAccountIBAN       string              `json:"MarginAccountIban"`
	EndToEndID              string              `json:"EndToEndId" validate:"required"`
	UnstructuredInformation string              `json:"UnstructuredInformation"`
	Symbol                  string              `json:"Symbol" validate:"required"`
	FIReceivedMarginAmount  float64             `json:"FIReceivedMarginAmount"`
	BuyAmount               float64             `json:"BuyAmount" validate:"required"`
	SellAmount              float64             `json:"SellAmount" validate:"required"`
	ClearbankRate           float64             `json:"ClearBankRate" validate:"required"`
	FIRate                  float64             `json:"FIRate" validate:"required"`
	RequestedTime           clearbank.Time      `json:"RequestedTime" validate:"required"`
	ExecutedTime            clearbank.Time      `json:"ExecutedTime" validate:"required"`
}

FxTradeExecutedPayload This webhook confirms that the FX trade has been executed

type FxTradeSettledPayload added in v0.5.0

type FxTradeSettledPayload struct {
	SellAccountOwner        string              `json:"SellAccountOwner" validate:"required"`
	SellAccountIBAN         string              `json:"SellAccountIban" validate:"required"`
	BuyAccountOwner         string              `json:"BuyAccountOwner" validate:"required"`
	BuyAccountIBAN          string              `json:"BuyAccountIban" validate:"required"`
	Attestation             string              `json:"Attestation" validate:"required"`
	ValueDate               clearbank.Time      `json:"ValueDate" validate:"required"`
	InstructedAmount        float64             `json:"InstructedAmount" validate:"required"`
	FixedSide               clearbank.FixedSide `json:"FixedSide" validate:"required"`
	BuyCurrency             string              `json:"BuyCurrency" validate:"required"`
	SellCurrency            string              `json:"SellCurrency" validate:"required"`
	Margin                  float64             `json:"Margin"`
	MarginAccountIBAN       string              `json:"MarginAccountIban"`
	EndToEndID              string              `json:"EndToEndId" validate:"required"`
	UnstructuredInformation string              `json:"UnstructuredInformation"`
	DebitTransactionID      uuid.UUID           `json:"DebitTransactionId" validate:"required"`
	DebitAmount             float64             `json:"DebitAmount" validate:"required"`
	DebitCurrency           string              `json:"DebitCurrency" validate:"required"`
	DebitCreatedAt          clearbank.Time      `json:"DebitCreatedAt" validate:"required"`
	DebitSettledAt          clearbank.Time      `json:"DebitSettledAt" validate:"required"`
	CreditTransactionID     uuid.UUID           `json:"CreditTransactionId" validate:"required"`
	CreditAmount            float64             `json:"CreditAmount" validate:"required"`
	CreditCurrency          string              `json:"CreditCurrency" validate:"required"`
	CreditCreatedAt         clearbank.Time      `json:"CreditCreatedAt" validate:"required"`
	CreditSettledAt         clearbank.Time      `json:"CreditSettledAt" validate:"required"`
	MarginTransactionID     *uuid.UUID          `json:"MarginTransactionId"`
	MarginAmount            float64             `json:"MarginAmount"`
	MarginCurrency          string              `json:"MarginCurrency"`
	MarginCreatedAt         string              `json:"MarginCreatedAt"`
	MarginSettledAt         string              `json:"MarginSettledAt"`
}

FxTradeSettledPayload This webhook confirms that the FX trade has been settled

type FxTradeSettlementFailedPayload added in v0.9.0

type FxTradeSettlementFailedPayload struct {
	SellAccountOwner        string         `json:"SellAccountOwner" validate:"required"`
	SellAccountIBAN         string         `json:"SellAccountIban" validate:"required"`
	BuyAccountOwner         string         `json:"BuyAccountOwner" validate:"required"`
	BuyAccountIBAN          string         `json:"BuyAccountIban" validate:"required"`
	Attestation             string         `json:"Attestation" validate:"required"`
	ValueDate               clearbank.Time `json:"ValueDate" validate:"required"`
	InstructedAmount        float64        `json:"InstructedAmount" validate:"required"`
	FixedSide               string         `json:"FixedSide" validate:"required"`
	BuyCurrency             string         `json:"BuyCurrency" validate:"required"`
	SellCurrency            string         `json:"SellCurrency" validate:"required"`
	Margin                  float64        `json:"Margin"`
	MarginAccountIBAN       string         `json:"MarginAccountIban"`
	EndToEndID              string         `json:"EndToEndId" validate:"required"`
	UnstructuredInformation string         `json:"UnstructuredInformation"`
	CancellationCode        string         `json:"CancellationCode" validate:"required"`
	CancellationReason      string         `json:"CancellationReason" validate:"required"`
	WillBeRetried           bool           `json:"WillBeRetried" validate:"required"`
	ReversalFee             float64        `json:"ReversalFee" validate:"required"`
	ReversalFeeCurrency     string         `json:"ReversalFeeCurrency" validate:"required"`
}

FxTradeSettlementFailedPayload This webhook notifies that the settlement of an FX trade has failed.

type IdentifierKind added in v0.3.0

type IdentifierKind string
const (
	IdentifierKindIBAN       IdentifierKind = "IBAN"
	IdentifierKindBBAN       IdentifierKind = "IBAN"
	IdentifierKindAccountID  IdentifierKind = "AccountId"
	IdentifierKindDescriptor IdentifierKind = "Descriptor"
)

type MCCYAccountCreatedPayload added in v0.5.0

type MCCYAccountCreatedPayload struct {
	AccountID        uuid.UUID                   `json:"AccountId" validate:"required"`
	Name             string                      `json:"Name" validate:"required"`
	Label            string                      `json:"Label" validate:"required"`
	Owner            string                      `json:"Owner" validate:"required"`
	Kind             clearbank.MCCYAccountKind   `json:"Kind" validate:"required"`
	Currencies       []string                    `json:"Currencies" validate:"required"`
	Status           clearbank.MCCYAccountStatus `json:"Status" validate:"required"`
	ProductID        string                      `json:"ProductId"`
	CustomerID       string                      `json:"CustomerId"`
	TimestampCreated clearbank.Time              `json:"TimestampCreated" validate:"required"`
	Identifiers      []MCCYIdentifier            `json:"Identifiers" validate:"required"`
	Type             string                      `json:"Type" validate:"required"`
}

MCCYAccountCreatedPayload This webhook confirms that the multicurrency account has been created

func (MCCYAccountCreatedPayload) GetIdentifier added in v0.6.0

func (w MCCYAccountCreatedPayload) GetIdentifier() string

GetIdentifier returns first identifier. If no identifiers are found, an empty string is returned.

type MCCYAccountStatementPayload added in v0.5.0

type MCCYAccountStatementPayload struct {
	URI            string `json:"Uri" validate:"required"`
	ValidUntilDate string `json:"ValidUntilDate" validate:"required"`
	Year           int    `json:"Year" validate:"required"`
	Month          int    `json:"Month" validate:"required"`
	Currency       string `json:"Currency" validate:"required"`
	Format         string `json:"Format" validate:"required"`
	AccountIBAN    string `json:"AccountIban" validate:"required"`
}

MCCYAccountStatementPayload This webhook allows you to download a statement for a specific account associated with your institution

type MCCYAccountUpdatedPayload added in v0.5.0

type MCCYAccountUpdatedPayload struct {
	AccountID         uuid.UUID                   `json:"AccountId" validate:"required"`
	Name              string                      `json:"Name" validate:"required"`
	Label             string                      `json:"Label" validate:"required"`
	Owner             string                      `json:"Owner" validate:"required"`
	Kind              clearbank.MCCYAccountKind   `json:"Kind" validate:"required"`
	Currencies        []string                    `json:"Currencies" validate:"required"`
	Status            clearbank.MCCYAccountStatus `json:"Status" validate:"required"`
	ProductID         string                      `json:"ProductId"`
	CustomerID        string                      `json:"CustomerId"`
	TimestampCreated  clearbank.Time              `json:"TimestampCreated" validate:"required"`
	TimestampModified clearbank.Time              `json:"TimestampModified" validate:"required"`
	StatusReason      string                      `json:"StatusReason"`
	StatusInformation string                      `json:"StatusInformation"`
	Identifiers       []MCCYIdentifier            `json:"Identifiers" validate:"required"`
	Type              string                      `json:"Type" validate:"required"`
}

MCCYAccountUpdatedPayload This webhook confirms that the multicurrency account has been updated

func (MCCYAccountUpdatedPayload) GetIdentifier added in v0.6.0

func (w MCCYAccountUpdatedPayload) GetIdentifier() string

GetIdentifier returns first identifier. If no identifiers are found, an empty string is returned.

type MCCYIdentifier added in v0.3.0

type MCCYIdentifier struct {
	Identifier string         `json:"Identifier" validate:"required"`
	Kind       IdentifierKind `json:"Kind" validate:"required"`
}

type MCCYInstitutionStatementPayload added in v0.5.0

type MCCYInstitutionStatementPayload struct {
	URI            string `json:"Uri" validate:"required"`
	ValidUntilDate string `json:"ValidUntilDate" validate:"required"`
	Year           int    `json:"Year" validate:"required"`
	Month          int    `json:"Month" validate:"required"`
	Currency       string `json:"Currency" validate:"required"`
	Format         string `json:"Format" validate:"required"`
}

MCCYInstitutionStatementPayload This webhook allows you to download a statement for all accounts associated with your institution

type MCCYInternalTransfersCancelledPayload added in v0.5.0

type MCCYInternalTransfersCancelledPayload struct {
	CancellationCode   string   `json:"CancellationCode" validate:"required"`
	FailureReasons     []string `json:"FailureReasons" validate:"required"`
	EndToEndID         string   `json:"EndToEndId" validate:"required"`
	InstructedCurrency string   `json:"InstructedCurrency" validate:"required"`
	InstructedAmount   float64  `json:"InstructedAmount" validate:"required"`
	DebitAccountIBAN   string   `json:"DebitAccountIban"`
	CreditAccountIBAN  string   `json:"CreditAccountIban"`
	Reference          string   `json:"Reference"`
}

MCCYInternalTransfersCancelledPayload This webhook confirms that a multicurrency internal transfer request has been canceled

type MCCYInternalTransfersSettledPayload added in v0.5.0

type MCCYInternalTransfersSettledPayload struct {
	EndToEndID         string  `json:"EndToEndId" validate:"required"`
	InstructedCurrency string  `json:"InstructedCurrency" validate:"required"`
	InstructedAmount   float64 `json:"InstructedAmount" validate:"required"`
	DebitAccountIBAN   string  `json:"DebitAccountIban"`
	CreditAccountIBAN  string  `json:"CreditAccountIban"`
	Reference          string  `json:"Reference"`
}

MCCYInternalTransfersSettledPayload This webhook confirms that a multicurrency internal transfer request has been settled

type MCCYPayloadAssessmentFailedPayload added in v0.5.0

type MCCYPayloadAssessmentFailedPayload struct {
	TransactionID                   uuid.UUID `json:"TransactionId" validate:"required"`
	BatchID                         uuid.UUID `json:"BatchId" validate:"required"`
	EndToEndID                      string    `json:"EndToEndId" validate:"required"`
	SchemeEndToEndID                string    `json:"SchemeEndToEndId"`
	InstructedAmount                float64   `json:"InstructedAmount" validate:"required"`
	InstructedCurrency              string    `json:"InstructedCurrency" validate:"required"`
	Error                           string    `json:"Error" validate:"required"`
	UltimateDebtorName              string    `json:"UltimateDebtorName"`
	UltimateDebtorAccount           string    `json:"UltimateDebtorAccount" validate:"required"`
	UltimateDebtorAccountIdentifier string    `json:"UltimateDebtorAccountIdentifier" validate:"required"`
	UltimateDebtorAddressLine1      string    `json:"UltimateDebtorAddressLine1" validate:"required"`
	UltimateDebtorAddressLine2      string    `json:"UltimateDebtorAddressLine2"`
	UltimateDebtorAddressLine3      string    `json:"UltimateDebtorAddressLine3"`
	UltimateDebtorPostCode          string    `json:"UltimateDebtorPostCode" validate:"required"`
	UltimateDebtorCountryCode       string    `json:"UltimateDebtorCountryCode" validate:"required"`
	UltimateCreditorIBAN            string    `json:"UltimateCreditorIBAN"`
	UltimateCreditorAccountNumber   string    `json:"UltimateCreditorAccountNumber"`
	UltimateCreditorBic             string    `json:"UltimateCreditorBic"`
	UltimateCreditorName            string    `json:"UltimateCreditorName" validate:"required"`
	UltimateCreditorAddressLine1    string    `json:"UltimateCreditorAddressLine1" validate:"required"`
	UltimateCreditorAddressLine2    string    `json:"UltimateCreditorAddressLine2" `
	UltimateCreditorAddressLine3    string    `json:"UltimateCreditorAddressLine3"`
	UltimateCreditorPostCode        string    `json:"UltimateCreditorPostCode" validate:"required"`
	UltimateCreditorCountryCode     string    `json:"UltimateCreditorCountryCode" validate:"required"`
}

MCCYPayloadAssessmentFailedPayload This webhook confirms that a multicurrency payment has failed assessment

type MCCYPayloadValidationFailedPayload added in v0.5.0

type MCCYPayloadValidationFailedPayload struct {
	TransactionID                   uuid.UUID `json:"TransactionId" validate:"required"`
	BatchID                         uuid.UUID `json:"BatchId" validate:"required"`
	EndToEndID                      string    `json:"EndToEndId" validate:"required"`
	SchemeEndToEndID                string    `json:"SchemeEndToEndId"`
	InstructedAmount                float64   `json:"InstructedAmount" validate:"required"`
	InstructedCurrency              string    `json:"InstructedCurrency" validate:"required"`
	Errors                          []string  `json:"Errors" validate:"required"`
	UltimateDebtorName              string    `json:"UltimateDebtorName"`
	UltimateDebtorAccount           string    `json:"UltimateDebtorAccount" validate:"required"`
	UltimateDebtorAccountIdentifier string    `json:"UltimateDebtorAccountIdentifier" validate:"required"`
	UltimateDebtorAddressLine1      string    `json:"UltimateDebtorAddressLine1" validate:"required"`
	UltimateDebtorAddressLine2      string    `json:"UltimateDebtorAddressLine2"`
	UltimateDebtorAddressLine3      string    `json:"UltimateDebtorAddressLine3"`
	UltimateDebtorPostCode          string    `json:"UltimateDebtorPostCode" validate:"required"`
	UltimateDebtorCountryCode       string    `json:"UltimateDebtorCountryCode" validate:"required"`
	UltimateCreditorIBAN            string    `json:"UltimateCreditorIBAN"`
	UltimateCreditorAccountNumber   string    `json:"UltimateCreditorAccountNumber"`
	UltimateCreditorBic             string    `json:"UltimateCreditorBic"`
	UltimateCreditorName            string    `json:"UltimateCreditorName" validate:"required"`
	UltimateCreditorAddressLine1    string    `json:"UltimateCreditorAddressLine1" validate:"required"`
	UltimateCreditorAddressLine2    string    `json:"UltimateCreditorAddressLine2" `
	UltimateCreditorAddressLine3    string    `json:"UltimateCreditorAddressLine3"`
	UltimateCreditorPostCode        string    `json:"UltimateCreditorPostCode" validate:"required"`
	UltimateCreditorCountryCode     string    `json:"UltimateCreditorCountryCode" validate:"required"`
}

MCCYPayloadValidationFailedPayload This webhook confirms that a multicurrency payment has failed validation

type MCCYTransactionCancelledPayload added in v0.5.0

type MCCYTransactionCancelledPayload struct {
	TransactionID                      uuid.UUID        `json:"TransactionId" validate:"required"`
	BatchID                            uuid.UUID        `json:"BatchId" validate:"required"`
	EndToEndID                         string           `json:"EndToEndId" validate:"required"`
	SchemeEndToEndID                   string           `json:"SchemeEndToEndId"`
	AccountID                          uuid.UUID        `json:"AccountId" validate:"required"`
	Reference                          string           `json:"Reference" validate:"required"`
	UltimateCreditorName               string           `json:"UltimateCreditorName" validate:"required"`
	UltimateCreditorAccountIdentifiers []MCCYIdentifier `json:"UltimateCreditorAccountIdentifiers" validate:"required"`
	UltimateDebtorName                 string           `json:"UltimateDebtorName" validate:"required"`
	UltimateDebtorAccountIdentifiers   []MCCYIdentifier `json:"UltimateDebtorAccountIdentifiers" validate:"required"`
	InstructedAmount                   float64          `json:"InstructedAmount" validate:"required"`
	InstructedCurrency                 string           `json:"InstructedCurrency" validate:"required"`
	SchemePaymentMethod                string           `json:"SchemePaymentMethod" validate:"required"`
	TimestampCreated                   clearbank.Time   `json:"TimestampCreated" validate:"required"`
	TimestampCancelled                 clearbank.Time   `json:"TimestampCancelled" validate:"required"`
	CancellationCode                   string           `json:"CancellationCode" validate:"required"`
	CancellationReason                 string           `json:"CancellationReason" validate:"required"`
}

MCCYTransactionCancelledPayload This webhook confirms that a multicurrency transaction has been canceled

func (MCCYTransactionCancelledPayload) GetAccountIdentifier added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetAccountIdentifier() string

func (MCCYTransactionCancelledPayload) GetAccountOwner added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetAccountOwner() string

func (MCCYTransactionCancelledPayload) GetAmount added in v0.5.0

func (MCCYTransactionCancelledPayload) GetCounterpartAccountIdentifier added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetCounterpartAccountIdentifier() string

func (MCCYTransactionCancelledPayload) GetCounterpartAccountOwner added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetCounterpartAccountOwner() string

func (MCCYTransactionCancelledPayload) GetCurrency added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetCurrency() string

func (MCCYTransactionCancelledPayload) GetEndToEndID added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetEndToEndID() string

func (MCCYTransactionCancelledPayload) GetID added in v0.5.0

func (MCCYTransactionCancelledPayload) GetReference added in v0.5.0

func (w MCCYTransactionCancelledPayload) GetReference() string

func (MCCYTransactionCancelledPayload) IsReturn added in v0.5.0

type MCCYTransactionCreatedPayload added in v0.5.0

type MCCYTransactionCreatedPayload struct {
	TransactionID                      uuid.UUID            `json:"TransactionId" validate:"required"`
	BatchID                            uuid.UUID            `json:"BatchId" validate:"required"`
	EndToEndID                         string               `json:"EndToEndId" validate:"required"`
	SchemeEndToEndID                   string               `json:"SchemeEndToEndId"`
	AccountID                          uuid.UUID            `json:"AccountId" validate:"required"`
	Reference                          string               `json:"Reference" validate:"required"`
	UltimateCreditorName               string               `json:"UltimateCreditorName" validate:"required"`
	UltimateCreditorAccountIdentifiers []MCCYIdentifier     `json:"UltimateCreditorAccountIdentifiers" validate:"required"`
	UltimateDebtorName                 string               `json:"UltimateDebtorName" validate:"required"`
	UltimateDebtorAccountIdentifiers   []MCCYIdentifier     `json:"UltimateDebtorAccountIdentifiers" validate:"required"`
	InstructedAmount                   float64              `json:"InstructedAmount" validate:"required"`
	InstructedCurrency                 string               `json:"InstructedCurrency" validate:"required"`
	SchemePaymentMethod                string               `json:"SchemePaymentMethod" validate:"required"`
	TimestampCreated                   clearbank.Time       `json:"TimestampCreated" validate:"required"`
	AdditionalProperties               []AdditionalProperty `json:"AdditionalProperties" validate:"required"`
}

MCCYTransactionCreatedPayload This webhook confirms that a multicurrency transaction has been created

type MCCYTransactionSettledPayload added in v0.5.0

type MCCYTransactionSettledPayload struct {
	TransactionID                      uuid.UUID            `json:"TransactionId" validate:"required"`
	BatchID                            uuid.UUID            `json:"BatchId" validate:"required"`
	EndToEndID                         string               `json:"EndToEndId" validate:"required"`
	SchemeEndToEndID                   string               `json:"SchemeEndToEndId"`
	AccountID                          uuid.UUID            `json:"AccountId" validate:"required"`
	Reference                          string               `json:"Reference" validate:"required"`
	UltimateCreditorName               string               `json:"UltimateCreditorName" validate:"required"`
	UltimateCreditorAccountIdentifiers []MCCYIdentifier     `json:"UltimateCreditorAccountIdentifiers" validate:"required"`
	UltimateDebtorName                 string               `json:"UltimateDebtorName" validate:"required"`
	UltimateDebtorAccountIdentifiers   []MCCYIdentifier     `json:"UltimateDebtorAccountIdentifiers" validate:"required"`
	InstructedAmount                   float64              `json:"InstructedAmount" validate:"required"`
	InstructedCurrency                 string               `json:"InstructedCurrency" validate:"required"`
	SchemePaymentMethod                string               `json:"SchemePaymentMethod" validate:"required"`
	TimestampCreated                   clearbank.Time       `json:"TimestampCreated" validate:"required"`
	TimestampSettled                   clearbank.Time       `json:"TimestampSettled" validate:"required"`
	TimestampSubmitted                 clearbank.Time       `json:"TimestampSubmitted" validate:"required"`
	AdditionalProperties               []AdditionalProperty `json:"AdditionalProperties" validate:"required"`
}

MCCYTransactionSettledPayload This webhook confirms that a multicurrency transaction has been settled

func (MCCYTransactionSettledPayload) GetAccountIdentifier added in v0.5.0

func (w MCCYTransactionSettledPayload) GetAccountIdentifier() string

func (MCCYTransactionSettledPayload) GetAccountOwner added in v0.5.0

func (w MCCYTransactionSettledPayload) GetAccountOwner() string

func (MCCYTransactionSettledPayload) GetAmount added in v0.5.0

func (w MCCYTransactionSettledPayload) GetAmount() float64

func (MCCYTransactionSettledPayload) GetCounterpartAccountIdentifier added in v0.5.0

func (w MCCYTransactionSettledPayload) GetCounterpartAccountIdentifier() string

func (MCCYTransactionSettledPayload) GetCounterpartAccountOwner added in v0.5.0

func (w MCCYTransactionSettledPayload) GetCounterpartAccountOwner() string

func (MCCYTransactionSettledPayload) GetCurrency added in v0.5.0

func (w MCCYTransactionSettledPayload) GetCurrency() string

func (MCCYTransactionSettledPayload) GetEndToEndID added in v0.5.0

func (w MCCYTransactionSettledPayload) GetEndToEndID() string

func (MCCYTransactionSettledPayload) GetID added in v0.5.0

func (MCCYTransactionSettledPayload) GetReference added in v0.5.0

func (w MCCYTransactionSettledPayload) GetReference() string

func (MCCYTransactionSettledPayload) IsReturn added in v0.5.0

func (w MCCYTransactionSettledPayload) IsReturn() bool

type MCCYVirtualAccountCreatedPayload added in v0.5.0

type MCCYVirtualAccountCreatedPayload struct {
	AccountID        uuid.UUID                   `json:"AccountId" validate:"required"`
	VirtualAccountID uuid.UUID                   `json:"VirtualAccountId" validate:"required"`
	BatchID          uuid.UUID                   `json:"BatchId" validate:"required"`
	Owner            string                      `json:"Owner" validate:"required"`
	Status           clearbank.MCCYAccountStatus `json:"Status" validate:"required"`
	Identifiers      []MCCYIdentifier            `json:"Identifiers" validate:"required"`
	TimestampCreated clearbank.Time              `json:"TimestampCreated" validate:"required"`
}

MCCYVirtualAccountCreatedPayload This webhook confirms that the multicurrency virtual account has been created

func (MCCYVirtualAccountCreatedPayload) GetIdentifier added in v0.6.0

func (w MCCYVirtualAccountCreatedPayload) GetIdentifier() string

GetIdentifier returns first identifier. If no identifiers are found, an empty string is returned.

type MCCYVirtualAccountUpdatedPayload added in v0.5.0

type MCCYVirtualAccountUpdatedPayload struct {
	AccountID         uuid.UUID                   `json:"AccountId" validate:"required"`
	VirtualAccountID  uuid.UUID                   `json:"VirtualAccountId" validate:"required"`
	Owner             string                      `json:"Owner" validate:"required"`
	Status            clearbank.MCCYAccountStatus `json:"Status" validate:"required"`
	Identifiers       []MCCYIdentifier            `json:"Identifiers" validate:"required"`
	TimestampCreated  clearbank.Time              `json:"TimestampCreated" validate:"required"`
	TimestampModified clearbank.Time              `json:"TimestampModified" validate:"required"`
	StatusReason      string                      `json:"StatusReason"`
	StatusInformation string                      `json:"StatusInformation"`
}

MCCYVirtualAccountUpdatedPayload This webhook confirms that the multicurrency virtual account has been updated

func (MCCYVirtualAccountUpdatedPayload) GetIdentifier added in v0.6.0

func (w MCCYVirtualAccountUpdatedPayload) GetIdentifier() string

GetIdentifier returns first identifier. If no identifiers are found, an empty string is returned.

type PaymentMessageAssesmentFailedPayload added in v0.5.0

type PaymentMessageAssesmentFailedPayload struct {
	MessageID         uuid.UUID         `json:"MessageId" validate:"required"`
	PaymentMethodType TransactionScheme `json:"PaymentMethodType" validate:"required"`
	AssesmentFailures []struct {
		EndToEndID string   `json:"EndToEndId"`
		Reasons    []string `json:"Reasons"`
	} `json:"AssesmentFailure" validate:"required"`
	AccountIdentification struct {
		Debtor struct {
			IBAN string `json:"IBAN" validate:"required"`
			BBAN string `json:"BBAN" validate:"required"`
		}
		Creditors []struct {
			Reference    string  `json:"Reference"`
			Amount       float64 `json:"Amount"`
			CurrencyCode string  `json:"CurrencyCode"`
			IBAN         string  `json:"IBAN" validate:"required"`
			BBAN         string  `json:"BBAN" validate:"required"`
		} `json:"Creditors" validate:"required"`
	} `json:"AccountIdentification" validate:"required"`
}

PaymentMessageAssesmentFailedPayload This webhook confirms the payment assessment has failed

type PaymentMessageValidationFailedPayload added in v0.5.0

type PaymentMessageValidationFailedPayload struct {
	MessageID          uuid.UUID         `json:"MessageId" validate:"required"`
	PaymentMethodType  TransactionScheme `json:"PaymentMethodType" validate:"required"`
	ValidationFailures []struct {
		EndToEndID string   `json:"EndToEndId"`
		Reasons    []string `json:"Reasons"`
	} `json:"ValidationFailure" validate:"required"`
	AccountIdentification struct {
		Debtor struct {
			IBAN               string `json:"IBAN" validate:"required"`
			BBAN               string `json:"BBAN" validate:"required"`
			AccountName        string `json:"AccountName"`
			AccountHolderLabel string `json:"AccountHolderLabel"`
			InstitutionName    string `json:"InstitutionName"`
		}
		Creditors []struct {
			Reference          string  `json:"Reference" validate:"required"`
			Amount             float64 `json:"Amount" validate:"required"`
			CurrencyCode       string  `json:"CurrencyCode" validate:"required"`
			IBAN               string  `json:"IBAN" validate:"required"`
			BBAN               string  `json:"BBAN" validate:"required"`
			AccountName        string  `json:"AccountName"`
			AccountHolderLabel string  `json:"AccountHolderLabel"`
			InstitutionName    string  `json:"InstitutionName"`
		} `json:"Creditors" validate:"required"`
	} `json:"AccountIdentification" validate:"required"`
}

PaymentMessageValidationFailedPayload This webhook confirms the payment validation has failed

type Request added in v0.5.0

type Request struct {
	Type    string          `json:"Type"`
	Version int             `json:"Version"`
	Nonce   int             `json:"Nonce"`
	Payload json.RawMessage `json:"Payload"`
}

type Response added in v0.5.0

type Response struct {
	// The value that you receive in the webhook request.
	Nonce int `json:"Nonce"`
}

type Transaction added in v0.4.0

type Transaction interface {
	GetID() uuid.UUID
	GetEndToEndID() string
	GetCurrency() string
	GetAmount() float64
	IsReturn() bool
	GetReference() string
	GetAccountIdentifier() string
	GetAccountOwner() string
	GetCounterpartAccountIdentifier() string
	GetCounterpartAccountOwner() string
}

Transaction is a common interface for the transaction related webhooks.

type TransactionAccount added in v0.3.0

type TransactionAccount struct {
	IBAN                 string `json:"IBAN"`
	BBAN                 string `json:"BBAN"`
	OwnerName            string `json:"OwnerName"`
	TransactionOwnerName string `json:"TransactionOwnerName"`
	InstitutionName      string `json:"InstitutionName"`
}

type TransactionRejectedPayload added in v0.5.0

type TransactionRejectedPayload struct {
	TransactionID         uuid.UUID          `json:"TransactionId" validate:"required"`
	Status                TransactionStatus  `json:"Status" validate:"required"`
	Scheme                TransactionScheme  `json:"Scheme" validate:"required"`
	EndToEndTransactionID string             `json:"EndToEndTransactionId" validate:"required"`
	Amount                float64            `json:"Amount" validate:"required"`
	TimestampModified     clearbank.Time     `json:"TimestampModified" validate:"required"`
	CurrencyCode          string             `json:"CurrencyCode"`
	DebitCreditCode       DebitCreditCode    `json:"DebitCreditCode" validate:"required"`
	Reference             string             `json:"Reference"`
	Return                bool               `json:"IsReturn" validate:"boolean"`
	CancellationReason    string             `json:"CancellationReason"`
	CancellationCode      string             `json:"CancellationCode"`
	Account               TransactionAccount `json:"Account" validate:"required"`
	CounterpartAccount    TransactionAccount `json:"CounterpartAccount" validate:"required"`
}

TransactionRejectedPayload This webhook confirms the payment has been rejected

func (TransactionRejectedPayload) GetAccountIdentifier added in v0.5.0

func (w TransactionRejectedPayload) GetAccountIdentifier() string

func (TransactionRejectedPayload) GetAccountOwner added in v0.5.0

func (w TransactionRejectedPayload) GetAccountOwner() string

func (TransactionRejectedPayload) GetAmount added in v0.5.0

func (w TransactionRejectedPayload) GetAmount() float64

func (TransactionRejectedPayload) GetCounterpartAccountIdentifier added in v0.5.0

func (w TransactionRejectedPayload) GetCounterpartAccountIdentifier() string

func (TransactionRejectedPayload) GetCounterpartAccountOwner added in v0.5.0

func (w TransactionRejectedPayload) GetCounterpartAccountOwner() string

func (TransactionRejectedPayload) GetCurrency added in v0.5.0

func (w TransactionRejectedPayload) GetCurrency() string

func (TransactionRejectedPayload) GetEndToEndID added in v0.5.0

func (w TransactionRejectedPayload) GetEndToEndID() string

func (TransactionRejectedPayload) GetID added in v0.5.0

func (TransactionRejectedPayload) GetReference added in v0.5.0

func (w TransactionRejectedPayload) GetReference() string

func (TransactionRejectedPayload) IsReturn added in v0.5.0

func (w TransactionRejectedPayload) IsReturn() bool

type TransactionScheme added in v0.3.0

type TransactionScheme string

type TransactionSettledPayload added in v0.5.0

type TransactionSettledPayload struct {
	TransactionID               uuid.UUID          `json:"TransactionId" validate:"required"`
	Status                      TransactionStatus  `json:"Status" validate:"required"`
	Scheme                      TransactionScheme  `json:"Scheme" validate:"required"`
	EndToEndTransactionID       string             `json:"EndToEndTransactionId" validate:"required"`
	Amount                      float64            `json:"Amount" validate:"required"`
	TimestampSettled            clearbank.Time     `json:"TimestampSettled" validate:"required"`
	TimestampCreated            clearbank.Time     `json:"TimestampCreated" validate:"required"`
	CurrencyCode                string             `json:"CurrencyCode" validate:"required"`
	DebitCreditCode             DebitCreditCode    `json:"DebitCreditCode" validate:"required"`
	Reference                   string             `json:"Reference"`
	Return                      bool               `json:"IsReturn" validate:"boolean"`
	Account                     TransactionAccount `json:"Account" validate:"required"`
	CounterpartAccount          TransactionAccount `json:"CounterpartAccount" validate:"required"`
	ActualEndToEndTransactionID string             `json:"ActualEndToEndTransactionId" validate:"required"`
	DirectDebitMandateID        string             `json:"DirectDebitMandateId"`
	TransactionCode             string             `json:"TransactionCode"`
	ServiceUserNumber           string             `json:"ServiceUserNumber"`
	BacsTransactionID           string             `json:"BacsTransactionId"`
	BacsTransactionDescription  string             `json:"BacsTransactionDescription"`
	TransactionType             string             `json:"TransactionType"`
	TransactionSource           string             `json:"TransactionSource"`
	SupplementaryData           []struct {
		Name  string `json:"Name"`
		Value string `json:"Value"`
	} `json:"SupplementaryData"`
}

TransactionSettledPayload This sends a webhook notification confirming the transaction has settled

func (TransactionSettledPayload) GetAccountIdentifier added in v0.5.0

func (w TransactionSettledPayload) GetAccountIdentifier() string

func (TransactionSettledPayload) GetAccountOwner added in v0.5.0

func (w TransactionSettledPayload) GetAccountOwner() string

func (TransactionSettledPayload) GetAmount added in v0.5.0

func (w TransactionSettledPayload) GetAmount() float64

func (TransactionSettledPayload) GetCounterpartAccountIdentifier added in v0.5.0

func (w TransactionSettledPayload) GetCounterpartAccountIdentifier() string

func (TransactionSettledPayload) GetCounterpartAccountOwner added in v0.5.0

func (w TransactionSettledPayload) GetCounterpartAccountOwner() string

func (TransactionSettledPayload) GetCurrency added in v0.5.0

func (w TransactionSettledPayload) GetCurrency() string

func (TransactionSettledPayload) GetEndToEndID added in v0.5.0

func (w TransactionSettledPayload) GetEndToEndID() string

func (TransactionSettledPayload) GetID added in v0.5.0

func (TransactionSettledPayload) GetReference added in v0.5.0

func (w TransactionSettledPayload) GetReference() string

func (TransactionSettledPayload) IsReturn added in v0.5.0

func (w TransactionSettledPayload) IsReturn() bool

type TransactionStatus added in v0.3.0

type TransactionStatus string
const (
	TransactionStatusSettled  TransactionStatus = "Settled"
	TransactionStatusRejected TransactionStatus = "Rejected"
)

type VirtualAccountCreatedPayload added in v0.9.0

type VirtualAccountCreatedPayload struct {
	AccountID         uuid.UUID `json:"AccountId" validate:"required"`
	VirtualAccountID  uuid.UUID `json:"VirtualAccountId" validate:"required"`
	AccountIdentifier struct {
		IBAN               string `json:"Iban" validate:"required"`
		BBAN               string `json:"Bban" validate:"required"`
		ExternalIdentifier string `json:"ExternalIdentifier"`
	} `json:"AccountIdentifier" validate:"required"`
	OwnerName        string         `json:"OwnerName"`
	TimestampCreated clearbank.Time `json:"TimestampCreated" validate:"required"`
}

VirtualAccountCreatedPayload This webhook confirms creation of a virtual account.

type VirtualAccountCreationFailedPayload added in v0.5.0

type VirtualAccountCreationFailedPayload struct {
	AccountID         uuid.UUID `json:"AccountId" validate:"required"`
	VirtualAccountID  uuid.UUID `json:"VirtualAccountId" validate:"required"`
	AccountIdentifier struct {
		IBAN               string `json:"Iban" validate:"required"`
		BBAN               string `json:"Bban" validate:"required"`
		ExternalIdentifier string `json:"ExternalIdentifier"`
	} `json:"AccountIdentifier" validate:"required"`
	Errors    map[string]string `json:"Errors" validate:"required"`
	OwnerName string            `json:"OwnerName"`
	Timestamp clearbank.Time    `json:"Timestamp" validate:"required"`
}

VirtualAccountCreationFailedPayload This webhook confirms a virtual account creation failure

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL