Verify a Transaction

POST

POST Transactions

/transactions endpoint allows you to operate on the Transaction entity.

In order to pass the payload of a transaction to Flagright and verify the transaction, you will need to call this endpoint with the transaction payload. Not all fields are mandatory, you will only need to pass in the fields that you have and are relevant for your compliance setup.

Payload

Here are some of the most used payload fields explained (you can find the full payload schema below with 1 line descriptions):

  • type: Type of transaction (Ex: WITHDRAWAL, DEPOSIT, TRANSFER etc).
  • transactionId - Unique Identifier for the transaction. Flagright API will generate a transactionId if this field is left empty
  • timestamp - UNIX timestamp in milliseconds of when the transaction took place
  • transactionState - The state of the transaction, set to CREATED by default. More details here
  • originUserId - Unique identifier (if any) of the user who is sending the money. This user must be created within the Flagright system before using the create a consumer user or create a business user endpoint
  • destinationUserId - Unique identifier (if any) of the user who is receiving the money. This user must be created within the Flagright system before using the create a consumer user or create a business user endpoint
  • originAmountDetails - Details of the amount being sent from the origin
  • destinationAmountDetails - Details of the amount being received at the destination
  • originPaymentDetails - Payment details (if any) used at the origin (ex: CARD, IBAN, WALLET etc). You can click on the dropdown next to the field in the schema below to view all supported payment types.
  • destinationPaymentDetails - Payment details (if any) used at the destination (ex: CARD, IBAN, WALLET etc). You can click on the dropdown next to the field in the schema below to view all supported payment types.

Query parameters

validateOriginUserId"true" or "false"Optional

Boolean string whether Flagright should validate if provided originUserId exist. True by default

Allowed values: truefalse
validateDestinationUserId"true" or "false"Optional

Boolean string whether Flagright should validate if provided destinationUserId exist. True by default

Allowed values: truefalse

Request

This endpoint expects an object.
typeenumRequired
transactionIdstringRequired

Unique transaction identifier

timestampdoubleRequired

Timestamp of when transaction took place

originUserIdstringOptional

UserId for where the transaction originates from

destinationUserIdstringOptional

UserId for transaction’s destination. In other words, where the value is being transferred to.

transactionStateenumOptional

Model for transaction states. E.g. Processing, Refunded, Successful etc.

originAmountDetailsobjectOptional

Model for transaction amount details

destinationAmountDetailsobjectOptional

Model for transaction amount details

originPaymentDetailsobjectOptional

Payment details of the origin. It can be a bank account number, wallet ID, card fingerprint etc.

destinationPaymentDetailsobjectOptional
originFundsInfoobjectOptional

Model for origin funds information

relatedTransactionIdslist of stringsOptional

IDs of transactions related to this transaction. Ex: refund, split bills

productTypestringOptional

Type of produce being used by the consumer (ex wallets, payments etc)

promotionCodeUsedbooleanOptional

Whether a promotion code was used or not the transaction

referencestringOptional

Reference field for the transaction indicating the purpose of the transaction etc.

originDeviceDataobjectOptional

Model for device data

destinationDeviceDataobjectOptional

Model for device data

tagslist of objectsOptional

Additional information that can be added via tags

Response

This endpoint returns an object.
executedRuleslist of objects

Unique transaction identifier

hitRuleslist of objects

Unique transaction identifier

statusenum
Allowed values: ALLOWFLAGBLOCKSUSPEND

Model for rule action if a rule is hit. This is returned in the API response and can be configured on Console by operational accounts like a Compliance Analyst

transactionIdstring

Transaction ID that the results pertain to

messagestringOptional
riskScoreDetailsobjectOptional

Errors