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