Tranzakció inicializálása (InitRP) (regisztrált fizetőeszközzel)
Működés
Használja az inicializálás (InitRP) funkciót a rákövetkező fizetések létrehozásához, a korábbi referencia tranzakció azonosító használatával. A referencia azonosító megegyezik a fizetőeszköz regisztrációja során végrehajtott tranzakció azonosítójával (TransactionId). Ezt az azonosítót a regisztrált fizetési eszközök lekérdezése során is visszaadjuk ReferenceTransactionId néven, a GetPaymentRegistrations hívás válaszában. A referencia tranzakció azonosítójára hivatkozva, a rákövetkező tranzakciók már a fizetési eszköz adatainak ismételt megadása nélkül hozhatók létre.
Az inicializálás során figyeljen a következőkre:
Adja át a
ReferenceTransactionIdparamétert a rákövetkező fizetéshez.Használjon erős ügyfél-hitelesítést (PSD2/SCA) a vásárló adatainak átadásához. Erről a következő oldalon olvashat részletesebben: Erős ügyfél-hitelesítés (PSD2/SCA)
Tárolja le az
InitRPkérésre visszaadott referencia tranzakció azonosítót, mivel később ennek segítségével hivatkozhat az adott tranzakcióra.
A sikeres inicializálást (InitRP hívás) követően a tranzakciót egy StartRP hívással kell elindítani.
Mobilalkalmazás fejlesztésnél biztosítsa, hogy az inicializációra a szerver oldalon kerüljön sor. Biztonsági okokból az inicializáció nem történhet meg a mobilalkalmazásban.
Az ismétlődő fizetési tranzakciók esetén a Nevogate a kereskedőnél megvalósult fizetőeszköz-regisztráció céljából indított fizetési tranzakció adatai alapján egyedi tranzakciós lenyomatot, ún. referencia tranzakciót hoz létre. Ezt egyértelműen hozzárendeli a kereskedő által a tranzakció során átadott UserId paraméterhez, amely a vásárló egyedi azonosítására szolgál a kereskedő rendszerén belül.
A kereskedőnek a funkció igénybevétele során biztosítania kell, hogy saját rendszerén belül minden vásárlójához egyedi UserId-t rendeljen. Kiemelt fontosságú, hogy egy már kiosztott azonosító semmilyen körülmények között ne kerülhessen újra hozzárendelésre egy másik vásárlóhoz. Amennyiben ez nem teljesül, kritikus adatintegritási és biztonsági sebezhetőség jön létre: ha két vagy több vásárlóhoz ugyanaz az UserId tartozik, az egyikük által regisztrált fizetőeszközzel egy másik vásárló tranzakciói is teljesülhetnek.
A fenti utasítások be nem tartásából eredő hibáért és az ebből fakadó esetleges károkért a Nevogate-et felelősség nem terheli, azért kizárólag a kereskedő felelős.
API kérés paraméterek
Az API kérés általános információi
InitRP
POST
method=InitRP
json={JSON encode-olt paraméterek}
Kötelező paraméterek
StoreName
string
A Nevogate szerződésben kerül meghatározásra.
Rendszerünkben tárolt egyedi bolt azonosító.
ReferenceTransactionId
string
32 karakter hosszú md5 hash
A fizetőeszköz-regisztrációhoz kapcsolódó tranzakció azonosítója a Nevogate rendszerében.
ResponseUrl
string (255 karakter)
szabadon választható
Ha fizetési folyamat végén a tranzakció státusza PENDING, akkor a tranzakció végleges státuszának beálltakor, aszinkron módon meghívásra kerül az itt átadott URL.
NotificationUrl
string (255 karakter)
szabadon választható
Rendszerünk ezen a címen értesíti a kereskedőt a tranzakció státuszának változásáról (URL értesítés).
Opcionális paraméterek
Amount
number
egyedi értékek
A tranzakció bruttó végösszege (az összeg amit a vásárló kifizet).
Amennyiben nincs megadva, úgy a referencia tranzakciónál megadott érték kerül beállításra.
Currency
string (3 karakter)
HUF (alapért.)
EUR
USD
...
A fizetés devizaneme. Értéke meg kell, hogy egyezzen a referencia tranzakciónál megadott értékkel. Amennyiben nincs megadva, úgy a referencia tranzakciónál megadott érték kerül beállításra.
OrderId
string (255 karakter)
egyedi értékek (kivéve e-mail címek, illetve személyes adatok)
A megrendelés azonosítója a kereskedő áruházában.
(Lehetővé teszi a tranzakció visszakeresését, használata erősen javasolt.)
UserId
UserId
egyedi értékek (kivéve e-mail címek, illetve személyes adatok)
A vásárló azonosítója a kereskedő áruházában, amelyre a korábbi fizetőeszköz-regisztráció végrehajtásra került. Amennyiben nincs megadva, úgy a referencia tranzakciónál megadott érték kerül beállításra.
ModuleName
string (32 karakter)
egyedi értékek
A kereskedő oldalán használt szervizcsomag, programnyelv, keretrendszer, modul, stb. megnevezése.
ModuleVersion
string (8 karakter)
verziószám
A kereskedő oldalán használt szervizcsomag, programnyelv, keretrendszer, modul, stb. verziószáma.
Mintakód
Rákövetkező tranzakció inicializálása InitRP kérés használatával:
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.nevogate.com/response.php",
"NotificationUrl":"https://www.notification.url/",
"Amount":200,
"Currency":"HUF",
"OrderId":"TEST-ORDER-ID-REG",
"UserId":"TEST-USER-ID-REG"
}'API válasz paraméterek
Az InitRP kérés eredményét JSON formában válaszoljuk meg. A válasz a következő paramétereket tartalmazza:
TransactionId
string
Sikeres inicializálás:
32 karakter hosszú md5 hash
Sikertelen inicializálás:
null
A tranzakció azonosítója a Nevogate rendszerében.
ResultCode
string
Sikeres inicializálás:
SUCCESSFUL
Sikertelen inicializálás:
InactiveStore
InactiveProvider
MissingParameter
MissingRemoteAddress
UnauthorizedAccess
UnauthorizedRemoteAddress
UnknownParameter
UnknownProvider
UnknownProviderForStore
UnknownStore
WrongApikey
WrongParameter
WrongProviderSettings
Illetve további szolgáltató specifikus eredménykódok.
Jelzi a tranzakció inicializálás eredményét. Sikertelen inicializálás esetén jelzi a hiba okát.
A felsoroltakon kívül további szolgáltató specifikus eredménykódokat is tartalmazhat.
ResultMessage
string
leírás
Az egyes ResultCode értékek szöveges magyarázata.
ResponseId
integer
egyedi értékek
A válaszüzenet egyedi azonosítója a Nevogate rendszerében.
Mintakód
Sikeres inicializálásra adott válasz:
{
"TransactionId": "90866b50774d8341be49c1aea1ede5a6",
"ResultCode": "SUCCESSFUL",
"ResultMessage": null,
"ResponseId": "3202109280600047718"
}Last updated
Was this helpful?

