Webhooki transakcyjne
W artykule opisano endpoint i strukturę danych, jakie merchant powinien zaimplementować aby otrzymywać informacje o zwrotach, płatnościach i rozliczeniach.
Aby otrzymywać webhooki merchant powinien przekazać do InPost odpowiedni adres URL dla płatności, zwrotów oraz rozliczeń poprzez kontakt na adres integracjapay@inpost.pl.
Merchant Refunds Receiver API
Endpoint
POST /events
Nagłówki
Content-Type: application/json
X-Signature: <calculated_signature>
X-API-Version: <api_version>
Sygnatura
Sygnatura jest wyliczana poprzez połączenie wartości nagłówka X-API-Version
, wartości wymienionych poniżej pól treści żądania w kolejności alfanumerycznej oraz merchant secret (Jeżeli któraś z wartości jest pusta, wtedy powinna być traktowana jako pusty ciąg znaków.). Końcowa sygnatura to szesnastkowy skrót funkcji skrótu SHA-512 zastosowany do połączonej wiadomości, zapisany małymi literami. W celu weryfikacji sygnatury należy porównać wyliczoną wartość z wartością nagłówka X-Signature
.
Payment:eventData.amount.currency
eventData.amount.value
eventData.createdDate
eventData.eventDateTime
eventData.merchantId
eventData.orderReference
eventData.payment.id
eventData.payment.method
eventData.payment.reference
eventData.status
eventType
Refund:eventData.amount.currency
eventData.amount.value
eventData.createdDate
eventData.eventDateTime
eventData.merchantId
eventData.operationId
eventData.payment.id
eventData.payment.method
eventData.refundReference
eventData.status
eventType
Settlement:eventData.amount.currency
eventData.amount.value
eventData.createdDate
eventData.eventDateTime
eventData.merchantId
eventData.settlementId
eventData.transferReference
eventType
Request Body
{
"eventType":"string",
"eventData":{
"operationId":"string",
"status":"string",
"amount":{
"value":"string",
"currency":"string"
},
"payment":{
"id":"string",
"method":"string",
"reference":"string"
},
"merchantId":"string",
"eventDateTime":"string",
"createdDate":"string",
"orderReference":"string", "refundReference":"string", "settlementId":"string",
"transferReference":"string"
}
}
Opis parametrów
eventType (string): Typ eventu (np. REFUND, REFUND_DECLINED, PAYMENT_AUTHORIZED, PAYMENT_DECLINED, SETTLEMENT).
eventData (object): Dane powiązane z eventem
Wspólne parametry:amount (object, wymagany):
value (string): Całościowa kwota płatności będąca sumą
payload.amount.value
ipayload.additionalFundingAmount.value
.currency (string): Waluta płatności
merchantId (string, wymagany): Wartość merchant ID nadana przez InPost
eventDateTime (string, wymagany): Data i czas wystąpienia eventu
createdDate (string, wymagany): Data i czas utworzenia płatności .{}
Parametry określone dla Payment/Payment Declined:status (string, wymagany): Status płatności (DECLINED, AUTHORIZED).{}
payment (object, wymagany):
id (string, wymagany): ID płatności
method (string, wymagany): Nazwa metody płatności, która została użyta
reference (string): Referencja płatności
orderReference (string): Referencja zamówienia (parametr opcjonalny dla payment-related events).{}
zonedCreatedDate (string, wymagany): Data i godzina wraz ze strefą czasową, kiedy płatność została utworzona.{}
Parametry określone dla Settlement:settlementId (string, wymagany): Zewnętrzny ID płatności
transferReference (string): Numer referencyjny przelewu
Parametry określone dla Refund:status (string): Status zwrotu (np. REFUNDED, DECLINED).{}
operationId (string): Wartość ID operacji powiązanej z płatnością
refundReference (string): Numer referencyjny zwrotu
payment (object, wymagany):
id (string, wymagany): ID płatności
method (string, wymagany): Nazwa użytej metody płatności
reference (string): Referencja płatności
Przykład dla REFUND:
{
"eventType":"REFUND",
"eventData":{
"operationId":"4t54e318-54r3-4f27-b61b-ebd65tr2450d",
"status":"REFUNDED",
"amount":{
"value":"-45.65",
"currency":"PLN"
},
"payment":{
"id":"442b1448-c9c7-4f27-b61b-ebd89a8c850d",
"method":"CARD_TOKEN"
},
"merchantId":"V000000000",
"eventDateTime":"2022-12-19T07:21:21Z",
"createdDate":"2020-06-02T11:21:55.0002",
"refundReference":"refund#1_234b1448-c9c7-4f27-b61b-ebd89a8c8re3"
}
}
Przykład dla REFUND_DECLINED:
{
"eventType":"REFUND_DECLINED",
"eventData":{
"operationId":"4t54e318-54r3-4f27-661b-ebd65tr2450d",
"status":"DECLINED",
"amount":{
"value":"-45.65",
"currency":"PLN"
},
"payment":{
"id":"442b1448-c9c7-4f27-b61b-ebd89a8c850d",
"method":"CARD_TOKEN"
},
"merchantId":"V000000000",
"eventDateTime":"2022-12-19T07:21:21Z",
"createdDate":"2020-06-02T11:21:55.000Z",
"refundReference":"refund#1_234b1448-c9c7-4f27-b61b-ebd89a8c8re3"
}
}
Przykład dla PAYMENT_AUTHORIZED:
Przykład dla PAYMENT_DECLINED:
Przykład dla SETTLEMENT: