WestpacQuickStreamPayment: BaseFormSubmissionPayment & {
    paymentTransaction?: {
        authorisationCode?: string;
        authorisationTraceId: string;
        authorisationType?: string;
        bankAccount?: {
            accountName?: string;
            accountNumber: string;
            bsb: string;
        };
        cancellationType?: string;
        comment: string;
        creditCard?: {
            accountToken: string;
            accountType: string;
            cardNumber: string;
            cardScheme: string;
            cardType: string;
            cardholderName: string;
            customerId: string;
            defaultAccount: boolean;
            expiryDateMonth: string;
            expiryDateYear: string;
            links: WestpacQuickStreamLinks[];
            maskedCardNumber4Digits: string;
            panType: string;
            walletProvider: string;
        };
        customerReferenceNumber: string;
        debtRepayment: boolean;
        directEntryAccount?: {
            accountName: string;
            currency: string;
            directEntryUserId: string;
            directEntryUserName?: string;
            displayName: string;
            remitterName: string;
            settlementAccountNumber: string;
            settlementBsb: string;
        };
        fraudGuardResult: string | null;
        ipAddress: string;
        links: WestpacQuickStreamLinks[];
        merchantAccount?: {
            acquiringInstitution: string;
            currency: string;
            displayName: string;
            merchantId: string;
            merchantName: string;
            settlementAccountNumber: string;
            settlementBsb: string;
            settlementSurchargeAccountNumber?: string;
            settlementSurchargeBsb?: string;
        };
        merchantAdviceCode: string;
        merchantCountry?: string;
        merchantLocation?: string;
        merchantName?: string;
        merchantPostCode?: string;
        merchantState?: string;
        merchantStreetAddress?: string;
        metadata: Record<string, string>;
        networkTransactionId?: string;
        nzBankAccount?: {
            accountToken: string;
            accountType: string;
            currency: string;
            customerId: string;
            defaultAccount: boolean;
            displayName: string;
            links: WestpacQuickStreamLinks[];
            nzAccountName: string;
            nzAccountNumber: string;
            nzAccountSuffix: string;
            nzBankCode: string;
            nzBranchCode: string;
        };
        nzDirectEntryAccount?: {
            currency: string;
            debitUserId: string;
            displayName: string;
            nzAccountName: string;
            nzAccountNumber: string;
            nzAccountSuffix: string;
            nzBankCode: string;
            nzBranchCode: string;
        };
        originalReceiptNumber?: string;
        paymentReferenceNumber: string;
        principalAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        receiptNumber: string;
        refundable: boolean;
        responseCode: string;
        responseDescription: string;
        settlementDate: string;
        source: string;
        status: string;
        subMerchantId?: string;
        summaryCode: string;
        surchargeAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        totalAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        transactionTime: string;
        transactionType: string;
        voidable: boolean;
    };
    type: WestpacQuickStreamSubmissionEvent["type"];
}

Type declaration

  • OptionalpaymentTransaction?: {
        authorisationCode?: string;
        authorisationTraceId: string;
        authorisationType?: string;
        bankAccount?: {
            accountName?: string;
            accountNumber: string;
            bsb: string;
        };
        cancellationType?: string;
        comment: string;
        creditCard?: {
            accountToken: string;
            accountType: string;
            cardNumber: string;
            cardScheme: string;
            cardType: string;
            cardholderName: string;
            customerId: string;
            defaultAccount: boolean;
            expiryDateMonth: string;
            expiryDateYear: string;
            links: WestpacQuickStreamLinks[];
            maskedCardNumber4Digits: string;
            panType: string;
            walletProvider: string;
        };
        customerReferenceNumber: string;
        debtRepayment: boolean;
        directEntryAccount?: {
            accountName: string;
            currency: string;
            directEntryUserId: string;
            directEntryUserName?: string;
            displayName: string;
            remitterName: string;
            settlementAccountNumber: string;
            settlementBsb: string;
        };
        fraudGuardResult: string | null;
        ipAddress: string;
        links: WestpacQuickStreamLinks[];
        merchantAccount?: {
            acquiringInstitution: string;
            currency: string;
            displayName: string;
            merchantId: string;
            merchantName: string;
            settlementAccountNumber: string;
            settlementBsb: string;
            settlementSurchargeAccountNumber?: string;
            settlementSurchargeBsb?: string;
        };
        merchantAdviceCode: string;
        merchantCountry?: string;
        merchantLocation?: string;
        merchantName?: string;
        merchantPostCode?: string;
        merchantState?: string;
        merchantStreetAddress?: string;
        metadata: Record<string, string>;
        networkTransactionId?: string;
        nzBankAccount?: {
            accountToken: string;
            accountType: string;
            currency: string;
            customerId: string;
            defaultAccount: boolean;
            displayName: string;
            links: WestpacQuickStreamLinks[];
            nzAccountName: string;
            nzAccountNumber: string;
            nzAccountSuffix: string;
            nzBankCode: string;
            nzBranchCode: string;
        };
        nzDirectEntryAccount?: {
            currency: string;
            debitUserId: string;
            displayName: string;
            nzAccountName: string;
            nzAccountNumber: string;
            nzAccountSuffix: string;
            nzBankCode: string;
            nzBranchCode: string;
        };
        originalReceiptNumber?: string;
        paymentReferenceNumber: string;
        principalAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        receiptNumber: string;
        refundable: boolean;
        responseCode: string;
        responseDescription: string;
        settlementDate: string;
        source: string;
        status: string;
        subMerchantId?: string;
        summaryCode: string;
        surchargeAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        totalAmount: {
            amount: number;
            currency: string;
            displayAmount: string;
        };
        transactionTime: string;
        transactionType: string;
        voidable: boolean;
    }
    • OptionalauthorisationCode?: string

      The authorisation code returned from the issuing bank for pre-auth transactions (at most 6 characters). Only for approved pre-auth transactions.

    • authorisationTraceId: string

      Use networkTransactionId.

    • OptionalauthorisationType?: string

      INCREMENTAL, EXTENSION, REAUTHORISATION. For pre-authorisation transactions only.

    • OptionalbankAccount?: {
          accountName?: string;
          accountNumber: string;
          bsb: string;
      }

      For Australian bank account payments, your customer's bank account.

      • OptionalaccountName?: string

        Name of account holder.

      • accountNumber: string

        The account number at that branch.

      • bsb: string

        The bank-state-branch holding their account.

    • OptionalcancellationType?: string

      FULL or PARTIAL. For pre-authorisation cancellations only.

    • comment: string

      A comment for the transaction.

    • OptionalcreditCard?: {
          accountToken: string;
          accountType: string;
          cardNumber: string;
          cardScheme: string;
          cardType: string;
          cardholderName: string;
          customerId: string;
          defaultAccount: boolean;
          expiryDateMonth: string;
          expiryDateYear: string;
          links: WestpacQuickStreamLinks[];
          maskedCardNumber4Digits: string;
          panType: string;
          walletProvider: string;
      }

      For credit card payments, your customer's credit card.

      • accountToken: string

        The account token. See Register Account for more.

      • accountType: string

        CREDIT_CARD

      • cardNumber: string

        Masked credit card number displaying the first 6 and last 3 digits. For scheme tokenised accounts, this would display the last 3 digits in the following format: xxxxxx...242.

      • cardScheme: string

        The card scheme. VISA, MASTERCARD, AMEX, DINERS, JCB, or UNIONPAY.

      • cardType: string

        The card type. CREDIT, DEBIT. Note: This is only for VISA and MASTERCARD. Other card types may be added in the future.

      • cardholderName: string

        The name printed on the card.

      • customerId: string

        QuickStream's unique identifier for the customer. This customer is created automatically when using Register account without customer details or by instruction from your server when using Create customer and then Register customer account. See Get Customer for more.

      • defaultAccount: boolean

        If true, this account will be used for the owning customer where an account token is not specified. This includes taking payments by customerId and creating recurring payments without an accountToken.

      • expiryDateMonth: string

        Two digit expiry month.

      • expiryDateYear: string

        Two digit expiry year.

      • links: WestpacQuickStreamLinks[]

        Links to related documents and resources.

      • maskedCardNumber4Digits: string

        Masked credit card number displaying the first 6 and last 4 digits. For scheme tokenised accounts, this would display the last 4 digits in the following format: xxxxxx...4242.

      • panType: string

        FPAN (default) - the card number from a physical card. Also known as "Funding PAN". DPAN - a digitised card number from a wallet provider or scheme tokenisation service. Also known as "Digital PAN".

      • walletProvider: string

        Specifies the wallet provider from which the card details were obtained, if applicable. APPLE_PAY, GOOGLE_PAY

    • customerReferenceNumber: string

      Unique identifier for a customer. When this value matches a customer number, the transaction shows in their payment history.

    • debtRepayment: boolean

      Whether this transaction was used to repay a debt. In most cases you can ignore this field.

    • OptionaldirectEntryAccount?: {
          accountName: string;
          currency: string;
          directEntryUserId: string;
          directEntryUserName?: string;
          displayName: string;
          remitterName: string;
          settlementAccountNumber: string;
          settlementBsb: string;
      }

      For Australian bank account payments, your direct entry settlement account.

      • accountName: string

        Name used to open your bank account.

      • currency: string

        The currency of the account. For example, AUD.

      • directEntryUserId: string

        A unique direct entry user identification number, issued by us.

      • OptionaldirectEntryUserName?: string

        The name associated with the direct entry user Id. Australian Westpac accounts only.

      • displayName: string

        A customer-friendly display name.

      • remitterName: string

        Trading Name of your business. This appears on your customer's bank statement.

      • settlementAccountNumber: string

        The account number of your settlement bank account.

      • settlementBsb: string

        The BSB of your settlement bank account.

    • fraudGuardResult: string | null

      The result of Fraud Guard processing. null when transaction is not processed using Fraud Guard.

    • ipAddress: string

      The IP address of the customer. For example, 192.168.42.184.

    • links: WestpacQuickStreamLinks[]

      Links to related resources/documentation.

    • OptionalmerchantAccount?: {
          acquiringInstitution: string;
          currency: string;
          displayName: string;
          merchantId: string;
          merchantName: string;
          settlementAccountNumber: string;
          settlementBsb: string;
          settlementSurchargeAccountNumber?: string;
          settlementSurchargeBsb?: string;
      }

      For credit card payments, your merchant facility.

      • acquiringInstitution: string

        A code describing the aquiring financial institution for this merchant facility. Usually WBC.

      • currency: string

        The currency accepted by this merchant facility.

      • displayName: string

        A customer-friendly display name.

      • merchantId: string

        Uniquely identifies a merchant facility. Issued by us.

      • merchantName: string
      • settlementAccountNumber: string

        The account number of your settlement bank account. Australian Westpac merchant facilities only.

      • settlementBsb: string

        The BSB of your settlement bank account. Australian Westpac merchant facilities only.

      • OptionalsettlementSurchargeAccountNumber?: string

        The account number of your surcharge settlement bank account. Only present if a separate surcharge account is utilised. Australian Westpac merchant facilities only.

      • OptionalsettlementSurchargeBsb?: string

        The BSB of your surcharge settlement bank account. Only present if a separate surcharge account is utilised. Australian Westpac merchant facilities only.

    • merchantAdviceCode: string

      Additional information from the scheme about why a transaction was approved or declined.

    • OptionalmerchantCountry?: string

      This field is only relevant for credit card payments for Aggregators. Always AU.

    • OptionalmerchantLocation?: string

      This field is only relevant for credit card payments for Aggregators. The city or suburb of the sub-merchant's trading address.

    • OptionalmerchantName?: string

      This field is only relevant for credit card payments for Aggregators. The sub-merchant name.

    • OptionalmerchantPostCode?: string

      This field is only relevant for credit card payments for Aggregators. The postal code of the sub-merchant's trading address.

    • OptionalmerchantState?: string

      This field is only relevant for credit card payments for Aggregators.The state of the sub-merchant's trading address.

    • OptionalmerchantStreetAddress?: string

      This field is only relevant for credit card payments for Aggregators. The street address of the sub-merchant's trading address.

    • metadata: Record<string, string>

      Extra information about the transaction. See Take Payment.

    • OptionalnetworkTransactionId?: string

      Returned by Visa and Mastercard to identify the lifecycle of a pre-auth or purchase (at most 15 characters). In most cases you can ignore this field.

    • OptionalnzBankAccount?: {
          accountToken: string;
          accountType: string;
          currency: string;
          customerId: string;
          defaultAccount: boolean;
          displayName: string;
          links: WestpacQuickStreamLinks[];
          nzAccountName: string;
          nzAccountNumber: string;
          nzAccountSuffix: string;
          nzBankCode: string;
          nzBranchCode: string;
      }

      For New Zealand bank account payments, your customer's bank account.

      • accountToken: string

        The account token. See Register Account for more.

      • accountType: string

        DIRECT_DEBIT_NZ

      • currency: string

        NZD

      • customerId: string

        QuickStream's unique identifier for the customer. This customer is created automatically when using Register account without customer details or by instruction from your server when using Create customer and then Register customer account. See Get Customer for more.

      • defaultAccount: boolean

        If true, this account will be used for the owning customer where an account token is not specified. This includes taking payments by customerId and creating recurring payments without an accountToken.

      • displayName: string

        The bank account display name.

      • links: WestpacQuickStreamLinks[]

        Links to related documents and resources.

      • nzAccountName: string

        Name of account holder.

      • nzAccountNumber: string

        The account number at that branch.

      • nzAccountSuffix: string

        The type of account.

      • nzBankCode: string

        The bank holding their account.

      • nzBranchCode: string

        The branch holding their account.

    • OptionalnzDirectEntryAccount?: {
          currency: string;
          debitUserId: string;
          displayName: string;
          nzAccountName: string;
          nzAccountNumber: string;
          nzAccountSuffix: string;
          nzBankCode: string;
          nzBranchCode: string;
      }

      For New Zealand bank account payments, your direct entry settlement account.

      • currency: string

        The currency of the account. For example, NZD.

      • debitUserId: string

        A unique direct entry user identification number, issued by us.

      • displayName: string

        A customer-friendly display name.

      • nzAccountName: string

        Name used to open your bank account.

      • nzAccountNumber: string

        The account number of your settlement bank account.

      • nzAccountSuffix: string

        The account number suffix of your settlement bank account.

      • nzBankCode: string

        The bank code of your settlement bank account.

      • nzBranchCode: string

        The branch code of your settlement bank account.

    • OptionaloriginalReceiptNumber?: string

      If a refund, the original payment. If a payment, the original PREAUTH or the automatically-retried payment.

    • paymentReferenceNumber: string

      Your reference for this transaction.

    • principalAmount: {
          amount: number;
          currency: string;
          displayAmount: string;
      }

      Amount before any surcharge added.

      • amount: number

        Decimal Monetary amount to two decimal places.

      • currency: string

        ISO 4217 currency code.

      • displayAmount: string

        A customer friendly amount you can display to your customers

    • receiptNumber: string

      Receipt number to display to customers.

    • refundable: boolean

      If true, this transaction may be refunded. See Refund payment.

    • responseCode: string

      Reason code for the status. See Response Codes for more.

    • responseDescription: string

      Reason description for the status. See Response Codes for more.

    • settlementDate: string

      The day on which this transaction was considered to have been processed. See Transaction Settlement for more.

    • source: string

      A code indicating the source of the transaction. For example, RESTAPI.

    • status: string

      Approved, Approved*, Pending, Declined, Voided or Suspended. See Transaction status.

    • OptionalsubMerchantId?: string

      This field is only relevant for credit card payments for Aggregators. A unique identifier for your sub-merchant. The aggregator allocates the sub-merchant identifier. Westpac does not allocate this value.

    • summaryCode: string

      Success indicator for the responseCode. See Response Codes for more.

    • surchargeAmount: {
          amount: number;
          currency: string;
          displayAmount: string;
      }

      Amount of surcharge. See surcharges.

      • amount: number

        Decimal Monetary amount to two decimal places.

      • currency: string

        ISO 4217 currency code.

      • displayAmount: string

        A customer friendly amount you can display to your customers

    • totalAmount: {
          amount: number;
          currency: string;
          displayAmount: string;
      }

      Total amount of transaction. Principal amount plus surcharge.

      • amount: number

        Decimal Monetary amount to two decimal places.

      • currency: string

        ISO 4217 currency code.

      • displayAmount: string

        A customer friendly amount you can display to your customers

    • transactionTime: string

      Date and time (if known) when transaction processing was initiated.

    • transactionType: string

      PAYMENT, REFUND, PREAUTH, CAPTURE or ACCOUNT_VERIFICATION.

    • voidable: boolean

      If true, this transaction may be voided. See Void payment.

  • type: WestpacQuickStreamSubmissionEvent["type"]