Transaction notification
Solaris API service notifies the client about debit and credit transactions of consumer's account. The latest notification contains all the details of all the transactions that happened after posting of the preceding notification.
Transaction notification parameters
Parameter Naming
This notification's parameter names contain inconsistent usage of "Authorization", "Authorised" etc.
Parameters | Type | Description |
---|---|---|
NotificationType | string | Three-digit identifier of the notification type. "051" denotes the Transaction notification. |
CardID | integer | Unique identifier of the card. |
AccountNumber | string | Eight-digit account number of the consumer. |
TransactionID | integer | Unique identifier of the transaction. |
Description | string | The description that describes the nature, type or purpose of transaction. |
TransactionType | string | Lookup value that identifies the type of transaction. |
AuthorizationDate | string | The date and time of authorization of the card transaction in yyyyMMddHHmmss format. |
LocalDate | string | The local date and time of the card transaction in yyyyMMddHHmmss format. |
SettlementDate | string | The date and time of settlement of the card transaction, provided by Visa, in yyyyMMddHHmmss format. |
AuthoriseAmount | integer | The amount authorized for the transaction, converted into the partner's program base currency. |
LocalAmount | integer | The amount of the authorized card transaction in the local currency where the transaction was performed. |
SettlementAmount | integer | The settlement amount converted into the partner's program base currency. |
LocalCurrency | string | The ISO numeric code of the local currency in which the transaction was performed. |
IssuingCurrency | string | The ISO numeric code of the partner's program base currency in which the card is authorized to transact. |
MCC | string | Merchant Category Code. A unique three-digit identifier of the category of the merchant. |
AuthoriseCode | string | Authorization code generated at the time of the card transaction for its validation. |
ClientReferenceNumber | string | Unique reference number provided by user for tracking/auditing. |
CardAcceptorID | string | Unique identifier of facility, merchant or POS that accepts the consumer's card for payment. Provided byVISA. |
TerminalCode | string | Unique identifier of the terminal where card is swiped for payment. Provided by Visa. |
TerminalLocation | string | The location of the terminal where card is swiped for transaction. Provided by Visa. |
TerminalStreet | string | The street where terminal is located. Provided by Visa. |
TerminalCity | string | The city where terminal is located and where card was swiped. Provided by Visa. |
TerminalCountry | string | The country where terminal is located and where card was swiped. Provided by Visa. |
IsCardPresent | bool | Boolean that identifies whether card "was present" or "not present" during transaction. "1" - card present during transaction. "0" - card not present during transaction. |
STAN | integer | SYSTEM TRACE AUDIT NUMBER provided by Visa. |
RRN | string | RETRIEVAL REFERENCE NUMBER provided by VISA |
TransactionIndicator | string | Transaction Indicator Lookup Value. |
AcquiringInstituteID | string | Unique identifier of an Acquirer or Acquiring institution. Provided by Visa. |
ForwardingInstitutionID | string | Unique identifier of the Forwarding or Processing institution. Provided by Visa. |
TranFromAccountNumber | string | Account number of the consumer who is the debtor in the transaction. |
TranToAccountNumber | string | Account number of the consumer who is the creditor in the transaction. |
TranFromAccountBalance | string | Account balance of the debtor account. |
TranToAccountBalance | string | Account balance of the creditor account. |
SortCode | string | Six-digit number that identifies the branch of the bank where consumer holds account. |
TranFromSortCode | string | Six-digit number that identifies the branch of the bank where consumer holds account. This is associated with the debtor account number. |
TranToSortCode | string | Six-digit number that identifies the branch of the bank where consumer holds account. This is associated with the creditor account number. |
BusinessApplicationIdentifier | string | Business Application Identifier received from visa in OCT transaction. |
IsFastFund | string | Fast Fund Indicate is immediate payment or not. |
CardTransactionID | string | Unique identifier of the card's transaction. |
SecurityHash | string | Contains the hash of the payload values and your webhook security key, to verify the origin and integrity of the notification. |
Example of Transaction notification
{
"NotificationType" : "051",
"CardID" : "123",
"AccountNumber" : "00123456",
"TransactionID" : "123v",
"Description" : "abc",
"TransactionType" : "29",
"AuthorizationDate" : "20170602105733",
"LocalDate" : "20170602105733",
"SettlementDate" : "20170602105733",
"AuthoriseAmount" : "123",
"LocalAmount" : "123",
"SettlementAmount" : "123",
"LocalCurrency" : "840",
"IssuingCurrency" : "840",
"MCC" : "",
"AuthoriseCode" : "000",
"ClientReferenceNumber" : "Load Money: 6347595",
"CardAcceptorID" : "123",
"TerminalCode" : "123",
"TerminalLocation" : "abc",
"TerminalStreet" : "abc",
"TerminalCity" : "abc",
"TerminalCountry" : "abc",
"IsCardPresent" : "N",
"STAN" : "123",
"RRN" : "abc",
"TransactionIndicator" : "abc",
"AcquiringInstituteID" : "abc",
"ForwardingInstitutionID" : "abc",
"TranFromAccountNumber" : "00123456",
"TranToAccountNumber" : "00312654",
"TranFromAccountBalance" : "123",
"TranToAccountBalance" : "123",
"SortCode" : "123456",
"TranFromSortCode" : "123456",
"TranToSortCode" : "123456",
"BusinessApplicationIdentifier" : "AA",
"IsFastFund" : "True",
"CardTransactionID": "7765598572078195",
"SecurityHash" : "84f584e68c78670fc18f3762a3a2361b5042fd43f2c5332b06ffb29b66cf3935"
}
Lookup values for Business Application Identifier
CODE | DESCRIPTION |
---|---|
AA | Account to account |
AL | AFT or OCT eligibility |
BB | Business to business |
BI | Money transfer-bank-initiated |
BP | Non-card bill payment |
CB | Consumer bill payment |
CD | Cash deposit |
CI | Cash in |
CO | Cash out |
CP | Card bill payment |
FD | Funds disbursement (general) |
FT | Funds transfer |
GD | Government disbursement |
GP | Gambling payout (other than online gambling) |
LO | Loyalty and offers |
MD | Merchant disbursement |
MI | Money transfer-merchant-initiated |
MP | Merchant payment |
OG | Online gambling payout |
PD | Payroll/pension disbursement |
PG | Payment to government |
PP | Person to person |
PS | Payment for goods and services (general) |
TU | Top-up for enhanced prepaid loads |
WT | Wallet transfer |
Validating the notification security hash
Security Hash validation
See the respective guide for more information on calculating and verifying the notification security hash.
To compute the hash of the notification payload, concatenate the payload values in the following sequence, with your webhook security key as the final item:
<NotificationType>&<CardID>&<AccountNumber>&<TransactionID>&<Description>&<TransactionType>&<AuthorizationDate>&<LocalDate>&<SettlementDate>&<AuthoriseAmount>&<LocalAmount>&<SettlementAmount>&<LocalCurrency>&<IssuingCurrency>&<MCC>&<AuthoriseCode>&<ClientReferenceNumber>&<CardAcceptorID>&<TerminalCode>&<TerminalLocation>&<TerminalStreet>&<TerminalCity>&<TerminalCountry>&<IsCardPresent>&<STAN>&<RRN>&<TransactionIndicator>&<AcquiringInstituteID>&<ForwardingInstitutionID>&<TranFromAccountNumber>&<TranToAccountNumber>&<TranFromAccountBalance>&<TranToAccountBalance>&<SortCode>&<TranFromSortCode>&<TranToSortCode>&<BusinessApplicationIdentifier>&<IsFastFund>&<CardTransactionID>&<webhook-security-key>
The payload values above and example webhook security key of abcdefghijklmnop
, will produce the following hash input:
051&123&00123456&123v&abc&29&20170602105733&20170602105733&20170602105733&123&123&123&840&840&&000&Load Money: 6347595&123&123&abc&abc&abc&abc&N&123&abc&abc&abc&abc&00123456&00312654&123&123&123456&123456&123456&AA&True&7765598572078195&abcdefghijklmnop