URL Értesítés

Működé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ó (InitRP) 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.

Beállítás lépései

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 a NotificationUrl törzséből kinyert TransactionId é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;

Példa (URL értesítés beállítására teszt környezetben)

curl --url 'https://system-test.paymentgateway.hu/api/payment/' \
  --user 'sdk_test:86af3-80e4f-f8228-9498f-910ad' \
  --user-agent 'InitRP | merchant-store.com | PHP | 7.3.0' \
  --request 'POST' \
  --data 'method=InitRP' \
  --data 'json=
    {
        "StoreName":"sdk_test",
        "ReferenceTransactionId":"783593c87fee4d372f47f53840028682",
        "ResponseUrl":"https://demo.paymentgateway.hu/response.php",
        "NotificationUrl":"https://www.notification.url/bfpg",
        "Amount":200,
        "Currency":"HUF",
        "OrderId":"BF-TEST-ORDER-REG",
        "UserId":"BF-TEST-USER-REG"
    }'

Last updated