PaymentInstruction

The base interface for all payment instructions.

interface PaymentInstruction {
  id?: string;
  direction: 'credit' | 'debit';
  amount: number;
  currency: Currency;
  debtor?: Party;
  creditor?: Party;
  remittanceInformation?: string;
}
id
string

Unique identifier for the payment instruction.

direction
string

Indicates whether the payment is a credit or debit.

  • credit: This is for outgoing “push” payments. The originator is the debtor and recipient is the creditor.
  • debit: This is for incoming “pull” payments. The originator is the creditor and recipient is the debtor.
amount
number

The amount of the payment. In base units of currency. (e.g. 100 cents for 1 USD)

currency
Currency

The currency of the payment.

debtor
Party

The party from which the payment is debited.

creditor
Party

The party to which the payment is credited.

remittanceInformation
string

Additional information about the payment.

SWIFTCreditPaymentInstruction

Extends PaymentInstruction for SWIFT credit payments.

interface SWIFTCreditPaymentInstruction extends PaymentInstruction {
  type: 'swift';
  direction: 'credit';
  creditor: Party;
}
type
string

Specifies that this is a SWIFT payment.

direction
string

Always ‘credit’ for SWIFT payments.

creditor
Party

The party to which the payment is credited (required for SWIFT payments).

SEPACreditPaymentInstruction

Extends PaymentInstruction for SWIFT credit payments.

interface SEPACreditPaymentInstruction extends PaymentInstruction {
  type: 'sepa';
  direction: 'credit';
  creditor: Party;
}
type
string

Specifies that this is a SEPA payment.

direction
string

Only ‘credit’ is currently supported for SEPA payments currently. For support for debits, please reach out to the team (iso20022js@woodside.sh).

creditor
Party

The party to which the payment is credited (required for SEPA payments).

For SEPA payments, the creditor party must be a Party object with a optional bic (Bank Identifier Code) agent and iban account.