По переходу операции в конечный статус на адрес, переденный в запросе в поле notification.url отправляется нотификация.
-
метод: POST
-
в заголовке передается подпись. Правила формирования
-
публичный ключ для проверки подписи:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs7NA6ot9a53nxGYelM89
o1imFac04hED3sS8cwzFxi2rxUNQXl2tEiWIHzGy2sEFLDfeN2lvEVCONl7pXlDP
fpFPBNPy6zfSRMq32t319MDOkykBRTRE4GDlU+MPm/u/UOGuHSaFLKKKXVZVyk6o
9K+hI9UfVE5FNjF04vWBrgcnwWQ9+hqNE9EhqxELoQdhbcUz3PnBkjWRKlBXnUBo
9HrboTaRUr+YkyTh6Kh/afQHreKXy8yA0arTT4mpeb5PL06g0B9Ejn4m+wHPN8DW
feY8U8QImoaDT5n+ngxMpqIXv2kokPBATlpno3uj9fKcxivqvEbtNrAA5wRM17Bq
WwIDAQAB
-----END PUBLIC KEY-----
Пример уведомления (версия 2)
POST /test/emptycallback HTTP/1.1
W1-Signature: Xjt4sHBqjA7WoJY5ETcfa+xVHu/pKkM3EEapSGYFJ2drF46jsGP9xHVgfRq5eCU4mNtqzWWdXC+E/OxdPbzWUfl+W8jXYo4uo2flXM4fXqTrkYwgTvy3hP93VXVRQmL+wACDRWPRb1BCn6ubHYouLZH02ukNZToB/YHnd+qBre0L3RYqqb0szdRu44SO8PWzjo7MOTokfW+XnkzFL73ZNIEPPGYEQdKfYKgEua2Kd5n219nlaY74OKJwvonlXRlyAlm3mnsW/b7uMm4dGgyM4NCbqoRtRsbvxLegqyesjObd4iDkUUbC0id1WFY1ClviPaOoFU6yWefQjc1paWSUfA==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 805
{
"id" : "1-6-a-34",
"type" : "REFUND",
"status" : "SUCCEEDED",
"externalId" : "ext#42-1779575507263",
"amounts" : {
"amount" : {
"amount" : 5.0,
"currency" : "USD"
},
"payerAmount" : {
"amount" : 7.5,
"currency" : "USD"
},
"merchantFee" : {
"amount" : 0.0,
"currency" : "USD"
},
"payerFee" : {
"amount" : 2.5,
"currency" : "USD"
},
"settlementAmount" : {
"amount" : -5.0,
"currency" : "USD"
}
},
"registeredMethods" : [ ],
"merchantParameters" : {
"param1" : "anything you want for callback",
"param2" : null,
"param3" : null
},
"transactions" : [ {
"type" : "REFUND",
"status" : "SUCCEEDED",
"maskedPan" : "411111XXXXXX1111",
"rejectReason" : null
} ]
}
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Привер уведомления (версия 3)
POST /test/emptycallback HTTP/1.1
W1-Signature: aeL0lGxlLNOitB+0aLhNx/YfiSNkvqrpQPdrR9mf7KZAlyj70HQrxNtrRL/Y4NZVeYk8egUXYFudJDEC/woopyQjCRe3Bc8bePtzEWlG4/BIJCMNZ9rhVxg7rRNuVdTHCF8mUzPX73afu+uaG78xKVDbi879uYtk5AjJivheElCjK7Mu9fpBtVQi88UzZziYwW07YMB73t8AS2wW+6A610vNKwBuWkGcRJN1btpkz9yNUIO+lwakPKjpW3mQA0E6nNGzGe3Ozhi6vTVCL9t3AKUyUh2wcQrjDWi5hQayOBxq73fKn6htF0cWwtZxI1QQH+/Sq3QMe97ALlwEkG6UrQ==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 928
{
"id" : "1-1-a-20",
"type" : "PURCHASE",
"status" : "SUCCEEDED",
"externalId" : "ext#25-1779575488159",
"chargedAmounts" : {
"amount" : {
"amount" : 10.57,
"currency" : "USD"
},
"payerAmount" : {
"amount" : 10.57,
"currency" : "USD"
},
"merchantFee" : {
"amount" : 0.0,
"currency" : "USD"
},
"payerFee" : {
"amount" : 0.0,
"currency" : "USD"
},
"settlementAmount" : {
"amount" : 10.57,
"currency" : "USD"
}
},
"registeredMethods" : [ {
"entity" : {
"id" : "payoutToken-411111-something-1111"
},
"type" : "PAYOUT_TOKEN"
} ],
"merchantParameters" : {
"param1" : "anything you want for callback",
"param2" : null,
"param3" : null
},
"transactions" : [ {
"type" : "PURCHASE",
"status" : "SUCCEEDED",
"maskedPan" : "411111XXXXXX1111",
"rejectReason" : null
} ]
}
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers