Financial Transaction Event

This webhook is triggered in various financial transaction event. At any point of time, there is an effective debit or credit to the cardholder account, this webhook is triggered. This webhook is triggered in below scenarios:

  • Authorisation Transaction (ATM, POS, ECOM)

  • Authorisation Advice Transaction (Pre-auth completion)

  • Reversal Transaction (This is also known as Base I or Online Reversals. This occurs if the transaction has failed due to timeout or incorrect data elements. This could happen at Issuer, Network or Acquirer).

  • Reversal Advice Transaction (This is same as Reversal Transaction but this occurs if the Issuer has not responded properly to the Reversal Request).

  • Refunds in the clearing

  • Surcharges in the clearing

  • Manual adjustments (debit) by the recon team

{
	"entry_id": "ent_123456789877654321",
	"transaction_id": "txn_123456789877654321",
	"account_id": "acc_123456789877654321",
	"txn_date": "2019-09-05T10:19:00.169615Z",
	"txn_type": "AUTH",
	"txn_indicator": "Debit",
	"acquiring_details": {
		"amount": 1000,
		"currency": {
			"alpha_code": "USD",
			"numeric_code": 840,
			"exponent": 2
		},
		"fee_details": {
			"fee_applicable": true,
			"fee_type": "DEBIT",
			"amount": 100,
			"currency": {
				"alpha_code": "USD",
				"numeric_code": 840,
				"exponent": 2
			}
		}
	},
	"transaction_details": {
		"amount": 8000,
		"currency": {
			"alpha_code": "INR",
			"numeric_code": 356,
			"exponent": 2
		}
	},
	"auth_code": "ABCDEF",
	"channel": "ATM",
	"mcc": "6011",
	"merchant": {
		"name": "Misc Retail",
		"city": "Vegas",
		"state": " N",
		"country": "V ",
		"formatted_name": "Misc Retail/Vegas/ N/V "
	},
	"mid": "TUFANGANJ NEAR",
	"rrn": "5805 ",
	"stan": "435892",
	"terminal_id": "00058015",
	"aid": "089472",
	"txn_status": "0",
	"txn_code": "DEBIT"
	"card_id": "crd_123456789877654321",
	"remarks": "",
	"user_id": "usr_4a33eea0234e4f558",
	"original_txn_id": "txn_123456789877654321",
	"pan_entry_mode": "CHIP",
	"bin_number": "652871",
	"mandate": {
		"end_date": "2024-08-01T00:00:00Z",
		"freq_indicator": "MONTHLY",
		"init_date": "02",
		"is_applicable": true,
		"mandate_id": "si_123frn5i55vtn455",
		"max_amount": 1000,
		"min_amount": 500,
		"mode": "SMS_AND_EMAIL",
		"number_of_instalments": 1,
		"start_date": "2023-07-02T00:00:00Z",
		"txn_type": "REGISTER_MANDATE"
	},
	"emi": {
		"amount": "000000000500",
		"interest_rate": "06.50",
		"is_applicable": true,
		"number_of_instalments": "02",
		"total_amount": "000000001000"
	},
	"rule_violation_info": {
		"rule_id": "rul_12345432",
		"msg": "Transactions on ATM is blocked."
	},
	"rha": {
		"configured": true,
		"response_status": 200
	},
	"reversal_details": {
		"dispute_id": "dis_e33025e3da994dafa489914a4a22e243",
		"reversal_type": "DisputeTxn"
	},
	"is_force_auth": false,
	"is_dcc": false,
	"location": "DOM",
	"is_pre_auth": false
}

Field Name

Data Type

Required (O/M)

Description

aid

String

M

Acquirer Id

rrn

String

M

Retrieval Reference Number

terminal_id

String

M

Terminal Id

txn_indicator

String

M

Define Credit or Debit

stan

String

M

-

entry_id

String

M

Unique reference to the entry of the transaction

txn_type

String

M

Refer below for more details

transaction_id

String

M

Unique reference to the transaction

txn_status

String

M

Status of the transaction. 0 = Success Rest all = failure for various reasons

mid

String

M

Merchant Id

auth_code

String

M

Authorization Code

txn_date

String

M

Transaction Date time stamp

channel

String

M

Mode of the transaction (POS, ATM, ECOM)

merchant.name

String

M

Merchant Name

merchant.city

String

M

Merchant City

merchant.state

String

M

Merchant State

merchant.country

String

M

Merchant Country

account_id

String

M

Account Id of the user

mcc

String

M

Merchant category code

remarks

String

O

-

transaction_details.amount

Numeric

M

Transaction Amount. In case of international transactions, this would represent the converted value in INR.

transaction_details.currency.alpha_code

String

M

Transaction Currency Code. This would always be in INR

transaction_details.currency.numeric_code

numeric

M

Numeric Transaction Currency Code

transaction_details.currency.exponent

numeric

M

This field indicates the number of decimal places used to represent subunits (such as paise) in the currency

acquiring_details.amount

Numeric

M

Transaction’s Acquiring Amount

acquiring_details.currency.alpha_code

String

M

Transaction’s Acquiring Currency represents the local currency with which the transaction was performed.

acquiring_details.currency.numeric_code

numeric

M

Transaction’s Acquiring Numeric Code

acquiring_details.currency.exponent

numeric

M

This field indicates the number of decimal places used to represent subunits (such as paise) in the currency

acquiring_details.fee_details.fee_applicable

bool

M

Denotes if there is any fees applicable

acquiring_details.fee_details.fee_type

string

M

Denotes if the fee is DEBIT/CREDIT to the customer

acquiring_details.fee_details.amount

numeric

M

Fee amount

acquiring_details.fee_details.currency.alpha_code

string

M

Fee currency

acquiring_details.fee_details.currency.numeric_code

numeric

M

Numeric code for fee currency

acquiring_details.fee_details.currency.exponent

numeric

M

This field indicates the number of decimal places used to represent subunits (such as paise) in the currency

card_id

String

M

Reference to the card

user_id

string

O

User Id for the Card Holder

rha.configured

bool

O

If RHA configure True else False

rha.response_status

int

O

Response Code of the RHA Request

original_txn_id

string

O

In case of a reversal, Txn Log Id of parent txn comes

rule_violation_info.rule_id

string

O

If a txn is failed due to a rule-violation its rule_id will be provided

rule_violation_info.msg

string

O

If a txn is failed due to rule-violation then the meaning/description of the rule holds here.

pan_entry_mode

string

O

Infomation about the Entry Mode of Card, more details below.

bin_number

string

M

Bin number

mandate_detail.mandate_id

string

O

Mandate id populated by npci during mandate registration

mandate_detail.is_applicable

bool

M

Denotes if mandate transaction or not

mandate_detail.card_pan

string

O

Reference number for the card PAN

mandate_detail.start_date

string

O

Mandate start date

mandate_detail.end_date

string

O

Mandate end date

mandate_detail.freq_indicator

string

O

Mandate frequency indicator(DAILY/WEEKLY)

mandate_detail.mode

string

O

SMS/EMAIL/SMS&EMAIL

mandate_detail.min_amount

numeric

O

Minimum amount for which SI can be initiated

mandate_detail.max_amount

numeric

O

Maximum amount for which SI can be initiated

mandate_detail.number_of_instalments

numeric

O

Denotes total number of payment instalments

mandate_detail.init_date

string

O

Preferred day for SI initialisation

mandate_detail.txn_type

string

O

Denotes type of mandate transaction

emi_detail.is_applicable

bool

M

Denotes if its an EMI transaction

emi_detail.emi_id

string

O

Reference to the emi

emi_detail.amount

numeric

O

Emi amount

emi_detail.total_amount

numeric

O

Total amount

emi_detail.interest_rate

numeric

O

Emi interest rate

emi_detail.number_of_instalments

numeric

O

Number of emi instalments

txn_code

string

M

additional info on txn_type

reversal_details.reversal_type

string

O

Describes reason for reversal

reversal_details.dispute_id

string

O

Dispute Id associated with the reversal in case of disputed transaction

is_force_auth

bool

O

Denotes if it's a force auth transaction

is_dcc

bool

O

Denotes if it's a DCC transaction

location

string

M

location could take values as either DOM or INTL representing domestic and international transaction respectively

is_pre_auth

bool

M

Denotes if the transaction is a PreAuth transaction

Notes:

  • Optional Parameter (O) may or may not come depending upon the Transaction type & Response

  • "rha" field will come for RHA enabled clients and only in case of RHA calls made to the client.

  • "rule_violation_info" field does come only when the txn is failed due to rule-violation and the rules’s description is not empty.

  • "mandate_detail" field will available for Mandate based transactions.

  • "emi_detail" field will be available for EMI based transactions.

  • txn_type is just additional information. It is advisable not to use any kind of business logic on this. However, txn_indicator gives the Debit/Credit indication

  • In case of Fee/Surcharge charge on a txn, an additional webhook comes along with the Parent txn webhook, that additional webhook will contain fee_type key and its value will explain the type of fee. Below is the diff types of fee_type which currently charged:

    • ATM Balance Enquiry

    • ATM Fee

    • Surcharge

    • Surcharge C@P

    • Cashback

Different values of Transaction Type - txn_type:

txn_type

Description

txn_indicator

AUTH

Card Authorization transaction

Debit

AUTH_ADVICE

For any card authorization, if any pre-auth was done, you will get the actual transaction details here.

Debit

REVERSAL

This is the immediate reversal of the authorized transactions.

Credit

REVERSAL_ADVICE

This is the immediate reversal of the authorized transactions.

Credit

CR_EXTEND_LIMIT

This is the reversal due to settlement - An example: Payments on Credit Flipkart/Amazon. If you are returning an item, the refund amount gets posted back to the cardholder. Here the txn_type will be CR_EXTEND_LIMIT. This is basically known as Refunds.

Credit

FP_CE_WITHDRAW_LIMIT

n case, the acquirer merchant claims more than the authorized Debit transaction(surcharge on IRCTC, fuel stations, etc), an extra debit is posted to the cardholder.

Debit

NULLIFY_CLEARED

Denotes that merchant has claimed the amount transacted during real time AUTH transaction

Debit

Different values of PAN Entry Mode

Pan Entry Mode Name

Description

BLANK

NA

CHIP

ATM TXN is happening with CHIP

CONTACTLESS_CHIP

Tap n Pay with CHIP

CONTACTLESS_MAGSTRIPE

Tap n Pay with MAGSTRIPE

ECOM

It is an Online Txn

FULL_MAGSTRIPE_READ

Swipe Transaction with Full magnetic strip read

ICCR

Integrated Circuit Chip Read

MAGSTRIPE_FALLBACK

When The terminal is not able to the read the CHIP data, it falls back to the default magnetic strip

MAGSTRIPE_READ

Swipe Transaction with magnetic strip read

MANUAL

When card number is entered manually on the terminal

UNKNOWN

NA

Last updated