Нотификации
Нотификации — это асинхронные ответы от Payture о результатах выполнения запросов.
Методы нотификации
Примеры нотификаций
Код события: [EnginePaySuccess]
Is3DS: [False]
ForwardedTo: [NotForwarded]
Notification: [EnginePaySuccess]
MerchantContract: [Merchant]
Success: [True]
TransactionDate: [08.05.2019 15:36:27]
ErrCode: [NONE]
OrderId: [e83f0323-fca0-0f91-9db9-393523563bc5]
Amount: [12677]
MerchantId: [1]- HTTP POST — HTTP POST запрос. По умолчанию запрос отправляется один раз. При необходимости через службу поддержки Payture можно установить количество повторных попыток отправки нотификации и период между ними (повторные попытки выполняются, если не был получен ответ «200 OK»). Тело запроса состоит из Url Encoded строки, содержащей пары ключей и их значений, разделённых символом «&» (амперсанд). Ключи и значения разделены символом «=» (равно).
- Email — сообщение по указанному адресу, отправляется один раз.
Подробное описание нотификаций: состав, возможность расширения параметров и описание всех параметров нотификаций см. в документе Нотификации 2.0.
Порядок подключения нотификации
В ходе подключения тестового доступа к платежному шлюзу Продавец направляет в службу поддержки Payture запрос на подключение. В запросе нужно указать выбранный метод нотификаций, адрес получения нотификаций и перечислить операции, для которых необходимо выполнять оповещение. При необходимости, перечислить дополнительные параметры, которые должны передаваться в рамках нотификации.
При переходе в рабочую эксплуатацию все параметры метода нотификаций по умолчанию устанавливаются аналогичными соответствующим параметрам тестового доступа.
Внесение изменений в действующие параметры нотификаций производится по отдельному запросу Продавца в службу поддержки Payture.
Дополнительная безопасность
Примеры нотификаций при использовании шифрования
DATA=4Rk65RLgsa7fUBoB72rz3TwrL3nHouyDQf91kK2eAPEEIp9DYqPFm0AnJh2eQBTcPVsfG9F8XzGtMu0zUuuxU%2FNxUVaxGDFw54n3kb5d%2FdnUMU2HaGeFTHGm%2F2p9JwmtTow82ZszX9e10u07a9x5xmn%2B3VXRJNttFcsiDBCuH3qdEmBYo9EhOVROjngki1aGucw0ZL3ifY4MEPbQrj0IWWcQ3LBGe2jhcaXc6iAGyKiDQZKymW0PwDvc3YAO29POzP0YB7tJtwPjIJgr%2FOSt31030P7hCtjM2XYjGPN4iy%2Fi2CV5bCw8ve01ZWP8XkPFПо желанию Продавца, в целях повышения безопасности платежей, для метода нотификаций HTTP POST может применяться шифрование с использованием алгоритма AES-256-ECB. При этом тело запроса будет содержать один параметр DATA, в качестве значения которого указывается зашифрованная строка, содержащая пары ключей и их значений, разделённых символом «;» (точка с запятой). Ключи и значения разделены символом «=» (равно).
Обмен ключами шифрования осуществляется на этапе подключения, замена — в процессе взаимодействия по инициативе любой из сторон.
Нотификации Payture API
| Операция | Возможные нотификации |
|---|---|
| api/Pay | Success: EngineBlockSuccess, EngineChargeSuccess, EnginePaySuccess Fail: EnginePayFail, EngineBlockFail, EngineChargeFail Pending: EngineBlockPending, EngineChargePending |
| api/Block | Success: EngineBlockSuccess Fail: EngineBlockFail Pending: EngineBlockPending |
| api/Charge | Success: EngineChargeSuccess Fail: EngineChargeFail Pending: EngineChargePending |
| api/Refund | Success: EngineRefundSuccess Fail: EngineRefundFail Pending: EngineRefundPending Pending: EngineRefundPending |
| api/Unblock | Success: EngineUnblockSuccess Fail: EngineUnblockFail Pending: EngineUnblockPending |
Нотификации InPay
| Операция | Возможные нотификации |
|---|---|
| apim/Pay | Success, Fail или Pending: MerchantPay, MerchantBlock Success: EngineBlockSuccess, EngineChargeSuccess, EnginePaySuccess Fail: EngineBlockFail, EngineChargeFail, EnginePayFail Pending: EngineBlockPending, EngineChargePending |
| apim/Charge | Success: EngineChargeSuccess Fail: EngineChargeFail Pending: EngineChargePending |
| apim/Refund | Success, Fail или Pending: MerchantRefund Success: EngineRefundSuccess Fail: EngineRefundFail Pending: EngineRefundPending |
| apim/Unblock | Success: EngineUnblockSuccess Fail: EngineUnblockFail Pending: EngineUnblockPending |
Нотификации eWallet
| Операция | Возможные нотификации |
|---|---|
| vwapi/Pay | Success: EngineBlockSuccess, EngineChargeSuccess, CustomerPaySuccess, EnginePaySuccess Fail: EngineBlockFail, EngineChargeFail, CustomerPayFail, EnginePayFail Pending: EngineBlockPending, EngineChargePending |
| vwapi/Refund | Success: CustomerRefundSuccess, EngineRefundSuccess Fail: CustomerRefundFail, EngineRefundFail Pending: EngineRefundPending, CustomerRefundPending |
| vwapi/Charge | Success: EngineChargeSuccess Fail: EngineChargeFail Pending: EngineChargePending |
| vwapi/Unblock | Success: EngineUnblockSuccess Fail: EngineUnblockFail Pending: EngineUnblockPending |
| vwapi/Add | Success: EngineBlockSuccess, CustomerAddSuccess Fail: EngineBlockFail, CustomerAddFail Pending: EngineBlockPending |
| vwapi/RemoveCard | Success или Fail: CustomerDeleteCard |
Нотификации сервиса Чеков
| Возможные нотификации |
|---|
| ChequeSent, ChequeNotSent, ChequeAccepted, ChequeRejected, ChequeCreated, ChequeTimeout, ChequeNotAccepted |
Нотификации ChargeBack
| Возможные нотификации |
|---|
| ChargeBack |
Описание нотификаций
| Название | Описание | Пример (Email) |
|---|---|---|
| EnginePaySuccess | Успешное списание средств в рамках одностадийного платежа | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EnginePaySuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 12:58:16]<br/> ErrCode: [NONE]<br/> OrderId: [636694163154551367]<br/> Amount: [3500] |
| EnginePayFail | Неуспешное списание средств в рамках одностадийного платежа | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EnginePayFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:30:01]<br/> ErrCode: [AMOUNT_EXCEED]<br/> OrderId: [636694218513740423]<br/> Amount: [232] |
| EngineBlockSuccess | Успешная блокировка средств | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineBlockSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 13:02:35]<br/> ErrCode: [NONE]<br/> OrderId: [636694166050528637]<br/> Amount: [2500] |
| EngineBlockFail | Неуспешная блокировка средств | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineBlockFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:30:01]<br/> ErrCode: [AMOUNT_EXCEED]<br/> OrderId: [636694218513740423]<br/> Amount: [232] |
| EngineBlockPending | Блокировка средств в процессе выполнения | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineBlockPending]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:38:01]<br/> ErrCode: [NONE]<br/> OrderId: [636694218513739450]<br/> Amount: [2528] |
| EngineChargeSuccess | Успешное списание заблокированных средств | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineChargeSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:25:08]<br/> ErrCode: [NONE]<br/> OrderId: [636694215634212517]<br/> Amount: [300] |
| EngineChargeFail | Неуспешное списание заблокированных средств | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineChargeFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:31:33]<br/> ErrCode: [PROCESSING_ERROR]<br/> OrderId: [636694219488092941]<br/> Amount: [2800] |
| EngineChargePending | Cписание заблокированных средств в процессе выполнения | Пример Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [EngineChargePending]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:39:33]<br/> ErrCode: [NONE]<br/> OrderId: [636694219488099943]<br/> Amount: [2342] |
| EngineUnblockSuccess | Успешная разблокировка средств | Пример Is3DS: [False]<br/> NewAmount: [0]<br/> OrderId: [636694215745929202]<br/> Amount: [1400]<br/> Notification: [EngineUnblockSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:25:19]<br/> ErrCode: [NONE] |
| EngineUnblockFail | Неуспешная разблокировка средств | Пример Is3DS: [False]<br/> NewAmount: [1900]<br/> OrderId: [636694219992986858]<br/> Amount: [1900]<br/> Notification: [EngineUnblockFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:32:24]<br/> ErrCode: [PROCESSING_ERROR] |
| EngineUnblockPending | Разблокировка средств в процессе выполнения | Пример Is3DS: [False]<br/> NewAmount: [2000]<br/> OrderId: [636694219992986858]<br/> Amount: [2000]<br/> Notification: [EngineUnblockPending]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:39:24]<br/> ErrCode: [NONE] |
| EngineRefundSuccess | Успешный возврат средств | Пример Is3DS: [False]<br/> NewAmount: [0]<br/> OrderId: [636694215684050471]<br/> Amount: [800]<br/> Notification: [EngineRefundSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [09.08.2018 14:25:13]<br/> ErrCode: [NONE] |
| EngineRefundFail | Неуспешный возврат средств | Пример Is3DS: [False]<br/> NewAmount: [200]<br/> OrderId: [636694220420935985]<br/> Amount: [200]<br/> Notification: [EngineRefundFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:33:06]<br/> ErrCode: [PROCESSING_ERROR] |
| EngineRefundPending | Возврат средств в процессе выполнения | Пример Is3DS: [False]<br/> NewAmount: [200]<br/> OrderId: [636694220420999956]<br/> Amount: [300]<br/> Notification: [EngineRefundPending]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [09.08.2018 14:53:06]<br/> ErrCode: [NONE] |
| MerchantBlock | Блокировка средств (с параметром Success=True/False) | Пример SessionId: [43bb096a-f8ed-4dcf-824f-035b5f3a7b86]<br/> Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [MerchantBlock]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 14:50:42]<br/> ErrCode: [NONE]<br/> OrderId: [d424050f-4e22-40be-85ee-19fcc1646688]<br/> Amount: [102] |
| MerchantPay | Списание средств (с параметром Success=True/False) | Пример SessionId: [ab157c83-5a9d-4dde-b5f4-c8b448e607ff]<br/> Is3DS: [False]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [MerchantPay]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 14:49:26]<br/> ErrCode: [NONE]<br/> OrderId: [17f76c0c-177f-46cb-b35c-620ed5b1189c]<br/> Amount: [102] |
| MerchantRefund | Возврат средств (с параметром Success=True/False) | Пример Is3DS: [False]<br/> NewAmount: [0]<br/> OrderId: [b3ee1dd0-8fa3-41d7-96e7-537822b45d5a]<br/> Amount: [102]<br/> Notification: [MerchantRefund]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 14:51:43]<br/> ErrCode: [NONE] |
| CustomerAddSuccess | Успешная регистрация карты | Пример CardNumber: [411111xxxxxx0023]<br/> CardId: [2770521a-597f-4a8d-b283-d9f5f8257589]<br/> VWUserLgn: [101@ya.ru]<br/> CardHolder: [CARD HOLDER]<br/> OrderId: [[CUSTOMERS_ADD]-[9416342]]<br/> Amount: [101]<br/> ExpDate: [12/2018]<br/> Notification: [CustomerAddSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 12:21:30]<br/> ErrCode: [NONE] |
| CustomerAddFail | Неуспешная регистрация карты | Пример CardNumber: [411111xxxxxx0080]<br/> CardId: []<br/> VWUserLgn: [101@ya.ru]<br/> CardHolder: [CARD HOLDER]<br/> ExpDate: [12/2018]<br/> Notification: [CustomerAddFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [10.08.2018 12:20:35]<br/> ErrCode: [ISSUER_CARD_FAIL] |
| CustomerPaySuccess | Успешное списание средств | Пример Is3DS: [False]<br/> SessionId: [b7d55d5b-c323-4f9f-9dc4-4e864011b0c9]<br/> CardNumber: [411111xxxxxx0023]<br/> CardId: [d85a6a7f-f908-4f02-a8bfdd9d33561213]<br/> VWUserLgn: [101@ya.ru]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [CustomerPaySuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 14:02:27]<br/> ErrCode: [NONE]<br/> OrderId: [1fb56e1f-a533-407d-bca3-cc2c8ef87f04]<br/> Amount: [102] |
| CustomerPayFail | Неуспешное списание средств | Пример Is3DS: [False]<br/> SessionId: [1c3ab2b6-944e-489f-a686-c977c6d9fbde]<br/> CardNumber: [330000xxxxxx0001]<br/> CardId: [87ee56bd-ec6e-4932-a8cbc85c81437824]<br/> VWUserLgn: [101@ya.ru]<br/> ForwardedTo: [NotForwarded]<br/> Notification: [CustomerPayFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [10.08.2018 14:08:20]<br/> ErrCode: [AMOUNT_EXCEED]<br/> OrderId: [2031feb6-f2e6-4c21-be67-c669b9786027]<br/> Amount: [102] |
| CustomerRefundSuccess | Успешный возврат средств | Пример Is3DS: [False]<br/> NewAmount: [0]<br/> OrderId: [6075f4c6-a1d0-4366-a4ca-3100625bafa6]<br/> Amount: [102]<br/> Notification: [CustomerRefundSuccess]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 14:09:36]<br/> ErrCode: [NONE] |
| CustomerRefundFail | Неуспешный возврат средств | Пример Is3DS: [False]<br/> NewAmount: [102]<br/> OrderId: [80cc7ce0-b2da-46bb-96e7-02416cdb7bc7]<br/> Amount: [102]<br/> Notification: [CustomerRefundFail]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [10.08.2018 14:10:32]<br/> ErrCode: [PROCESSING_ERROR] |
| CustomerRefundPending | Возврат средств в процессе выполнения | Пример Is3DS: [False]<br/> NewAmount: [102]<br/> OrderId: [80cc7ce0-b2da-46bb-96e7-02416cdb7bc7]<br/> Amount: [102]<br/> Notification: [CustomerRefundPending]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [10.08.2018 14:50:32]<br/> ErrCode: [NONE] |
| CustomerDeleteCard | Удаление карты (с параметром Success=True/False) | Пример DeleteDate: [10.08.2018 12:30:50]<br/> CardNumber: [411111xxxxxx0023]<br/> CardId: [6fd5fa99-7e26-4637-84a4-8cc90d49c4d1]<br/> VWUserLgn: [101@ya.ru]<br/> CardHolder: [CARD HOLDER]<br/> ExpDate: [12/2018]<br/> Notification: [CustomerDeleteCard]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [10.08.2018 12:30:50]<br/> ErrCode: [NONE] |
| ChequeSent | Чек отправлен Покупателю | Пример OrderId: []<br/> ChequeId: [bfh7k8f3j582c17d]<br/> Type: [Pay]<br/> Status: [Created]<br/> Cheque: [Чек в Base64]<br/> Notification: [ChequeSent]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [15.08.2018 19:02:53]<br/> ErrCode: [NONE]<br/> MerchantId: [140] |
| ChequeNotSent | Чек не отправлен Покупателю | Пример OrderId: []<br/> ChequeId: [bfh7k8f3j582c17d]<br/> Type: [Pay]<br/> Status: []<br/> Cheque: [Чек в Base64]<br/> Notification: [ChequeNotSent]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [15.08.2018 19:02:53]<br/> ErrCode: [NONE] |
| ChequeCreated | Чек создан | Пример OrderId: []<br/> ChequeId: [bfh7k8f3j582c17d]<br/> Type: [Pay]<br/> Status: [Created]<br/> Cheque: [Чек в Base64]<br/> Notification: [ChequeCreated]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [15.08.2018 19:02:52]<br/> ErrCode: [NONE]<br/> MerchantId: [140] |
| ChequeAccepted | Чек принят | Пример OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]<br/> ChequeId: []<br/> Type: [Pay]<br/> Status: [Accepted]<br/> Cheque: []<br/> Notification: [ChequeAccepted]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [15.08.2018 16:48:04]<br/> ErrCode: [NONE]<br/> MerchantId: [140] |
| ChequeNotAccepted | Чек не принят на стороне сервиса онлайн-касс | Пример OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]<br/> ChequeId: []<br/> Type: [Pay]<br/> Status: [NotAccepted]<br/> Cheque: []<br/> Notification: [ChequeNotAccepted]<br/> MerchantContract: [Merchant]<br/> Success: [True]<br/> TransactionDate: [15.08.2018 16:48:04]<br/> ErrCode: [NONE] |
| ChequeRejected | Чек отклонён на стороне платежного шлюза | Пример OrderId: []<br/> ChequeId: []<br/> Type: [Pay]<br/> Status: [Unknown]<br/> Cheque: []<br/> Notification: [ChequeRejected]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [15.08.2018 16:27:26] ErrCode: [] |
| ChequeTimeout | Чек не отправлен за допустимое время | Пример OrderId: [dfe29039-c795-44aa-8297-ae61e7102fc9]<br/> ChequeId: [636699484844436085331]<br/> Type: [Normal]<br/> Status: [Accepted]<br/> Cheque: []<br/> Notification: [ChequeTimeout]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [15.08.2018 16:54:05]<br/> ErrCode: [CHEQUE_TIMEOUT] |
| ChargeBack | Возвратный платеж | Пример OrderId: [17f76c0c-177f-46cb-b35c-620ed5b1189c]<br/> Amount: [1500]<br/> ChargeBackDate: [27.08.2018 12:17:26]<br/> CardHolder: [CARD HOLDER]<br/> PANMask: [411111xxxxxx0080]<br/> Notification: [ChargeBack]<br/> MerchantContract: [Merchant]<br/> Success: [False]<br/> TransactionDate: [15.08.2018 16:27:26]<br/> ErrCode: [] |
