user_payout_transactions

This table is an audit log of all the payout transactions initiated by a user when redeeming reward tokens.

Model

FieldTypeNullableConstraint

id

int4

user_id

int4

Foreign Key (person table)

amount

float8

status

varchar

payout_id

text

payout_transaction_data

json

error_code

json

source

varchar

fund_account_id

varchar

created_at

timestamp

updated_at

timestamp

reference

json

Description of fields

id

The primary key of the table.

user_id

ID of the user who initiated the payout.

amount

Amount (in INR) involved in the transaction.

status

Status of the transaction.

  1. Pending - This means the payout has been started but is still not complete between the Bolbhav bank and user bank.

  2. Processed - This means the payout was successful and the amount has been deducted from Bolbhav bank.

  3. Reversed - This means the payout was unsuccessful for some reasons.

payout_id

This is a unique ID of the payout that Bolbhav uses to mark each payout.

payout_transaction_data

Data received from payout provider (currently RazorPay). This will include more details about the payout transaction and the corresponding fields based on the transaction status.

error_code

This is the error JSON as received by payout provider. Here's one example:

{
  "source": "gateway",
  "reason": "gateway_technical_error",
  "description": "Payout failed due to a temporary technical issue at the partner bank. Please retry after 30 min.",
  "code": "NA",
  "step": "NA",
  "metadata": {}
}

source

This field captures the source of the transaction details. This field is currently hardcoded to store "RazorpayX" value as all payout transactions are being done through Razorpay.

fund_account_id

The foreign key referring to the fund account id for which the payout transaction has been triggered.

created_at

Timestamp at which payout entry was created.

updated_at

Timestamp at which payout entry was last updated.

reference

Additional details that are captured to store information about the fund account id at the time of the transaction. A sample entry looks like:

{
  "user_account_name": "Priyansh sahu",
  "fund_account_id": "fa_Nf9SlPJk0E11PO",
  "bank_ifsc_code": "KKBK0000813"
}

Last updated