Comment on page
URL Értesítés
Használja a
NotificationUrl
paramétert, hogy automatikusan értesüljön a tranzakciók státuszának változásáról. Az inicializáció (Init
) során adja át az értesítési URL címet a NotificationUrl
paraméterben. Rendszerünk ezt a címet hívja meg a tranzakció státuszának megváltozásakor.Rendszerünk legfeljebb 5 alkalommal kísérli meg a megadott értesítési URL hívását, amíg a hívásra HTTP 200 választ nem kap. Az értesítés a tranzakció részletes adatait tartalmazza JSON formátumban (a
Details
hívás eredményének megfelelően), amit application/json
típusként küldünk, így az adat a raw request body-ból nyerhető ki.Jelezze vissza rendszerünk számára, hogy a kereskedő oldala értesült a tranzakció eredményéről. Ehhez indítson egy
Result
kérést minden rendszerünktől visszaérkező NotificationUrl
hívás után. Result
kérés hiányában a tranzakció “megválaszolhatatlan” állapotot kap a PayAdmin felületén.A
NotificationUrl
átadása minden tranzakció inicializáció során kötelező.
Továbbá figyeljen arra, hogy a megadott értesítési URL cím (NotificationUrl
):- rendelkezzen HTTPS protokollal
- legyen mindenkor publikusan elérhető
A JSON formátumú értesítésben található paraméterek kis kezdőbetűkkel szerepelnek. Ezzel ellentétben a tranzakció részletes adatainak lekérdezésére (
Details
hívásra) adott válasz paraméterei nagy kezdőbetűvel rendelkeznek.Végezze el a következő lépéseket az URL értesítés megfelelő működéséhez.
A leírt folyamatot minden egyes
NotificationUrl
híváskor végre kell hajtani.- 1.Adjon meg egy értesítési URL címet a
NotificationUrl
paraméter segítségével. - 2.Vizsgálja meg, hogy a raw request body tartalmaz JSON típusú adattartalmat (a rendszerünkből érkező
NotificationUrl
hívás során). - 3.Nyerje ki az aktuális
TransactionId
értéket a raw request body-ból. - 4.Indítson egy
Result
kérést melyben megadja aNotificationUrl
törzséből kinyertTransactionId
értéket. - 5.Dolgozza fel a
Result
kérésre kapott választ, majd - 6.mentse el a rendszerében a tranzakció végstátuszát (
ResultCode
). - 7.Válaszoljon HTTP 200-as státusz kóddal a rendszerünkből érkező
NotificationUrl
hívásra.
PHP használata esetén így nyerheti ki a
TransactionId
értékét:$json = file_get_contents('php://input');
$data = json_decode($json);
$transactionId = $data->commonData->transactionId;
curl --url 'https://system-test.paymentgateway.hu/api/payment/' \
--user 'sdk_test:86af3-80e4f-f8228-9498f-910ad' \
--user-agent 'Init | merchant-store.com | PHP | 7.3.0' \
--request 'POST' \
--data 'method=Init' \
--data 'json=
{
"StoreName":"sdk_test",
"ProviderName":"Borgun2",
"ResponseUrl":"https://demo.paymentgateway.hu/response.php",
"Amount":100,
"Currency":"HUF",
"OrderId":"BF-TEST-ORDER",
"UserId":"BF-TEST-USER",
"NotificationUrl":"https://merchant.notification.url"
}'