Notifications

Notifications are HTTP request of the system to your site. These requests are also called callback or webhook. The system has several types of notifications: to check if payment is possible, to inform about successful or unsuccessful payments, as well as notifications regarding changing subscriptions for recurring payments.


Toggling notifications, as well as setting up addresses and formats of notifications are done in merchant account.

Check

Done after the Holder has filled out a payment for and has pressed the “Pay” button.

Serves as means to control the payment verification steps: the system will send a request to the Issuer’s website with the information about the payment, and the site must either confirm or reject that the payment can be processed.


The parameters are sent in the body of the request, the list of parameters can be seen below:

Parameter Format Use Description
TransactionId Int64 Required Transaction number in the system
Amount Numeric, dot used as delimiter, two numbers after the dot. Required Sum of payment from widget parameters
Currency String Required Currency: RUB/USD/EUR/GBP from widget parameters
InvoiceId String Optional Order number from widget parameters
AccountId String Optional User identification from widget parameters
SubscriptionId String Optional Subscription identifier (for recurring payments)
Name String Optional Card holder’s name
Email String Payer’s email address
DateTime yyyy-MM-dd HH:mm:ss Required Date/time of payment creation in UTC time
IpAddress String Optional IP address of the payer
IpCountry String(2) Optional Two-letter country code of the payer, according to ISO3166-1
IpCity String Optional City where payer is located
IpRegion String Optional Region where payer is located
IpDistrict String Optional District where payer is located
CardFirstSix String(6) Required First 6 digits of the card
CardLastFour String(4) Required Last 4 digits of the card
CardType String Required Card payment system: Visa or MasterCard or Maestro
CardExpDate String Required Card expiry date in MM/YY format
IssuerBankCountry String(2) Optional Two-letter country code of the issuer, according to ISO3166-1
Description String Optional Payment purpose, from widget parameters
TestMode Bit (1 or 0) Required Toggles test mode
Status String Required Payment status if transaction successfully completed: Completed — for one-step payments, Authorized for two-step payments


In return for the request the system expects to receive a response in JSON format with a required 'code' format:

Code represents the result of a check if a payment can be made, and can have the following values:

Code Value Result
0 Payment can be made System will process payment authorization
10 Incorrect order number Payment will be declined
11 Incorrect sum Payment will be declined
13 Payment cannot be accepted Payment will be declined
20 Payment overdue Payment will be declined, payer will receive the appropriate notification.


If the system cannot connect to merchant’s server or will receive an incorrect response, the payment will be declined.

Pay

Is done after the payment will be successful – the Issuer has authorized the transaction.

Serves to inform about a completed payment: the system will send a request to Merchant’s address with the information about the payment, and the website must register that the payment was done.


Parameters are sent in the body of the request, the list of parameters can be seen below:

Parameter Format Use Description
TransactionId Int64 Required Transaction number in system
Amount Numeric, dot as delimiter, two digits after dot Required Sum of payment from widget parameters
Currency String Required Currency: RUB/USD/EUR/GBP from widget parameters
InvoiceId String Optional Order number from widget parameters
AccountId String Optional User identifier from widget parameters
SubscriptionId String Optional Subscription identifier (for recurring payments)
Name String Optional Card holder’s name
Email String Payer’s email address
DateTime yyyy-MM-dd HH:mm:ss Required Date/time of payment creation in UTC time
IpAddress String Optional IP address of the payer
IpCountry String(2) Optional Two-letter country code of the payer, according to ISO3166-1
IpCity String Optional City where payer is located
IpRegion String Optional Region where payer is located
IpDistrict String Optional District where payer is located
CardFirstSix String(6) Required First 6 digits of the card
CardLastFour String(4) Required Last 4 digits of the card
CardType String Required Card payment system: Visa or MasterCard or Maestro
CardExpDate String Required Card expiry date in MM/YY format
IssuerBankCountry String(2) Optional Two-letter country code of the issuer, according to ISO3166-1
Description String Optional Payment purpose, from widget parameters
TestMode Bit (1 or 0) Required Toggles test mode
Status String Required Payment status if transaction successfully completed: Completed — for one-step payments, Authorized for two-step payments

In return for the request, the system expects to receive a response in JSON format with a required parameter `code`:

Code is determined by the result of Merchant’s server processing of the transaction, and can have only one value:

Code Value
0 Payment has been registered


If the system cannot connect with the Merchant’s server, will receive an invalid response, or an answer with a code that is anything other than a zero, the attempts to deliver a message will be continued every 3 minutes.

Fail

Sent if payment was declined and is used to analyze the amount of declines and their reasons.

It should be taken into account, that user can have a successful payment after failing few times.


Parameters are sent in the request body, the list of parameters can be seen below:

Parameter Format Use Description
TransactionId Int64 Required Transaction number in system
Amount Numeric, dot as delimiter, two digits after dot Required Sum of payment from widget parameters
Currency String Required Currency: RUB/USD/EUR/GBP from widget parameters
InvoiceId String Optional Order number from widget parameters
AccountId String Optional User identifier from widget parameters
SubscriptionId String Optional Subscription identifier (for recurring payments)
Name String Optional Card holder’s name
Email String Payer’s email address
DateTime yyyy-MM-dd HH:mm:ss Required Date/time of payment creation in UTC time
IpAddress String Optional IP address of the payer
IpCountry String(2) Optional Two-letter country code of the payer, according to ISO3166-1
IpCity String Optional City where payer is located
IpRegion String Optional Region where payer is located
IpDistrict String Optional District where payer is located
CardFirstSix String(6) Required First 6 digits of the card
CardLastFour String(4) Required Last 4 digits of the card
CardType String Required Card payment system: Visa or MasterCard or Maestro
CardExpDate String Required Card expiry date in MM/YY format
IssuerBankCountry String(2) Optional Two-letter country code of the issuer, according to ISO3166-1
Description String Optional Payment purpose, from widget parameters
TestMode Bit (1 or 0) Required Toggles test mode
Reason String Required Failure reason
ReasonCode Int Required Error code (see a list of error codes)

In return for the request, the system expects to receive a response in JSON format with a required code parameter:

Code is determined by the result of Merchant’s server processing of a failed transaction, and can have only one value:

Code Value
0 Attempt has been registered
Recurrent

Is done if the status of the subscription for the recurring payment has been changed.


Parameters are sent in the body of the request, the list of parameters can be seen below:

Parameter Format Use Description
Id Int Required Subscription identifier
AccountId String Required User identifier
Description String Reqiured Description of payment in any form
Email String Required Payer’s email address
Amount Numeric Required Payment sum
Currency String Required Currency: RUB/USD/EUR/GBP from widget parameters
RequireConfirmation Bool Required If value is true, the payment will be completed using two-step scheme
StartDate DateTime Required Date and time of first payment according to schedule in UTC time
Interval String Required Payment interval. Possible values: Week, Month
Period Int Required Period of payments. Together with interval of 1 Month means 1 payment per month, 2 Week – once in two weeks
MaxPeriods Int Optional Maximum number of payments in a subscription
Status String Required Status
SuccessfulTransactionsNumber Int Required Number of successful payments
FailedTransactionsNumber Int Required Number of unsuccessful payments (is reset after every successful payment)
LastTransactionDate yyyy-MM-dd HH:mm:ss Optional Date and time of last successful payment in UTC time
NextTransactionDate yyyy-MM-dd HH:mm:ss Optional Date and time of next payment in UTC time

In return for the request, the system expects to receive a response in JSON format with a required code parameter:

Code is determined by the result of Merchant’s server processing of the changed subscription, and can have only one value:

Code Value
0 Changes have been registered


If the system cannot connect with the Merchant’s server, will receive an invalid response, or an answer with a code that is anything other than a zero, the attempts to deliver a message will be continued every 3 minutes.

Checking notifications

All types of notifications – check, pay, fail, recurrent – are sent by the system from the IP address 130.193.70.192, which is the only valid source of notifications.