A Transaction is an entry (in or out) on a bank account.

Field

Description

uid

User id

bankAccountId

Bank account to which the transaction is linked to

title

Editable field initially set by a machine

titleLatinised

Non writable field for search purposes in the Query endpoint's q parameter

transferPayinSenderName

Optional, Name of the bank transfer sender

description

Custom data passed along the transaction such as bank transfer label edited by a user

amount

Amount of the transaction. Float

currency

ISO_4217 ISO_4217 currency code, defaults to "EUR"

type

One of "PAYIN" when money in coming in the user's wallet or "PAYOUT" when it's going outwards

category

Category of the transaction. Used to display an appropriate logo in the banking screen and to help users with their accounting.
one of (DEFAULT, BANKING, CASH, CONTRIBUTIONS, EQUIPMENT, FOOD, HOTEL, LEGAL, LOAN, MAINTENANCE, MISC, PERSONAL, RENT, SERVICES, TAX, TELECOM, TRANSPORTATION, UTILITIES, VEHICLE)

status

one of (PENDING, CANCELED, VALIDATED) -

hidden

Set to true if this transaction needs to be taken out of accounting, i.e. a personal expanse, or a transfer to the user's personal bank account

receiptId

Optional, if this transaction is a purchase, the user is legally bound to keep a receipt and this field should match the primary key of the Receipts' table

bankTransferId

Optional, if this transaction is a wire transfer going out of the user's wallet, provide the primary key of the BankTransfers' table

directDebitMandateId

Optional, if this transaction is a SEPA direct debit on the user's wallet, this is the ID of the SEPA mandate

invoiceId

Optional, id of the invoice the payin is matched to (if applicable)

transactionAt

Timestamp at which the transaction was initiated
This timestamp should only be used if you need to display PENDING transactions. In you only display VALIDATED transactions, use transactionSettledAt instead.

transactionSettledAt

Timestamp at which the transaction has been settled.
This timestamp should be used to display VALIDATED transactions.

expectedReleaseDate

Only set for card payouts. The expected date at which the card authorization will be released. It's computed adding 11 days to the transactionAt.

paymentMethod

One of (CARD, TRANSFER, DIRECT_DEBIT): describes the means of the transaction

providerTransactionId

the provider's identifier for this transaction in the form "payin{actualId}" or "payout{actualId}"

flag

Value entered/updated by Shine (human operator or automated process), one of (SUSPICIOUS, WARNING, SAFE, )

fee

Shine transaction fee

feeType

Type of the fee. One of (FREE, CARD_PAYIN_EURO, CARD_PAYIN_NON_EURO, CARD_PAYIN_NON_EU), or the same with payout, or CARD_ATM_EURO, CARD_ATM_NON_EURO (to be expanded).

isRefund

Whether the transaction is the refund of another transaction (e.g. a Mastercard payback)

hasBeenReleased

Applicable on card payouts. Is true if the transaction originally had a higher value, but has been released

status

Transaction status. One of VALIDATED, PENDING, CANCELED.

authorizationReleasedAt

Internal timestamp. Should not be used.

executedAt

Internal timestamp. Should not be used.