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