Remote Host Authorization

Remote Host Authorization (RHA) is a functionality that provides you as an on-boarding partner, the capability to authorize (or forbid) real-time transactions.

When a cardholder attempts to make a card transaction using an account configured on ISAC system, the following process occurs:

  1. The merchant sends an authorization message to the card network.

  2. The card network sends an authorization message to the ISAC platform.

  3. The ISAC platform authenticates and authorizes the transaction.

  4. ISAC platform forwards the authorization request to the remote host.

  5. The remote host authorizes the request and sends the transaction response.

  6. The response received from the remote host is mapped to the network's response code and is sent to the network.

  7. Finally, the ISAC platform sends the transaction notification to the webhook endpoint.

Transaction Flow

To configure RHA, you must follow the below steps:

  1. Send a one-on-one email to Happay POC, containing a username, password, and URL.

  2. This URL must be configured to accept a POST request and validate it using basic authentication.

  3. The request timeout is set to 4 seconds, so make sure you perform all your operations within the timeout duration.

  4. You must respond back with either of the following http status codes. Any other statuses will be treated as the Remote Host’s server fault and the Happay platform will deny this transaction.

    • 200 - Transaction Approved By Remote Host

    • 402 - Transaction Denied By Remote Host

  5. For Balance Enquiry transactions, you are expected to send 200 http status code and balance in the response. A sample response is mentioned below

RHA Request

RHA Response

RHA Request Details

Field Name
Data Type
Required
Description

transaction_id

string

M

Unique reference to the transaction

card_id

string

M

Reference to the card

user_id

string

M

Reference to the user

account_id

string

M

Account Id of the user

txn_date

string

M

Transaction Date time stamp

txn_type

string

M

Refer below for more details

txn_code

string

M

Refers to transaction code

channel

string

M

Mode of the transaction (POS, ATM, ECOM)

mcc

string

M

Merchant category code

mid

string

M

Merchant Id

rrn

string

M

Retrieval Reference Number

stan

string

M

-

terminal_id

string

M

Terminal Id

aid

string

M

Acquirer Id

is_afd_applicable

bool

M

Denotes if afd is applicable

acquiring_details.amount

numeric

M

Acquiring amount is the amount sent by the acquirer in the country's local currency.

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

authentication_details.pin_verified

bool

M

Denotes if pin is verified

authentication_details.cvv_verified

bool

M

Denotes if cvv is verified

merchant.name

string

M

Merchant name

merchant.city

string

M

Merchant city

merchant.state

string

M

Merchant state

merchant.country

string

M

Merchant country

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.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

sub_txn_type.txn_condition

string

O

This refers to the sub type of transaction such as EMI/SI. Possible values are EMI_TRANSACTION, STANDING_INSTRUCTION, ACCOUNT_STATUS_INQUIRY

sub_txn_type.mandate.is_applicable

bool

O

Denotes if mandate is applicable

sub_txn_type.mandate.txn_type

string

O

Denotes type of SI transaction. Possible values are REGISTER_MANDATE, DEREGISTER_MANDATE, UPDATE_MANDATE, INTIMATE_PRE_DEBIT, DEREGISTER_MANDATE_FOR_CARD

sub_txn_type.mandate.number_of_instalments

string

O

Denotes total number of payment instalments

sub_txn_type.mandate.init_date

string

O

Preferred date for SI initialization

sub_txn_type.mandate.min_amount

string

O

Minimum Amount for which SI can be initiated.

sub_txn_type.mandate.max_amount

string

O

Maximum Amount for which SI can be initiated.

sub_txn_type.mandate.start_date

string

O

SI start date

sub_txn_type.mandate.end_date

string

O

SI end date

sub_txn_type.mandate.mode

string

O

SMS/EMAIL

sub_txn_type.mandate.freq_indicator

string

O

Mandate frequency indicator(DAILY/WEEKLY)

sub_txn_type.mandate.txn_id

string

O

Mandate id populated by npci during mandate registration

sub_txn_type.emi.is_applicable

bool

O

Denotes if EMI is applicable

sub_txn_type.emi.amount

string

O

EMI amount

sub_txn_type.emi.total_amount

string

O

Total amount

sub_txn_type.emi.number_of_instalments

string

O

Number of EMI instalments

sub_txn_type.emi.interest_rate

string

O

EMI interest rate

is_pre_auth

bool

O

Denotes if the transaction is a PreAuth transaction

is_dcc

bool

O

Denotes if it's a DCC transaction

pan_entry_mode

string

M

Point of service entry mode - This is used to indicate the method used to enter the

account number.

location

string

M

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

Transaction Types

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

In 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

Last updated