Payment-Notify-v2

A Barion wikiből
  • Tervezet
  • Üzlet
  • Informatika
  • Pénzügy
  • Jog
  • 99%
  • Online elfogadó
  • Mobil elfogadó
  • Pénztárgép
  • Feltöltés
  • Piactér
  • Nonprofit
  • Parkolas

Értesítés küldése fizetésre váró tranzakcióról

POST /v2/Payment/Notify

Ezzel az API hívással lehetőség van arra, hogy egy fizetési folyamatban, miután a vásárló jelezte, hogy Barionnal szeretne fizetni, az eladó (készülék) egy fizetési felkérést küldjön a vásárlónak. Ilyenkor az eladó kliense meghívja a Barion szerveren ezt a metódust és átadja paraméterként a tranzakciót illetve, hogy kinek küldje ki. Hogy melyik felhasználó az, aki a közelében van, azt a közelségi fizetés implementálásával lehet figyelni. Az eladó a kérés során megadhat egy kívánt borravaló összeget is a tranzakció mellé, amelyet a vásárló természetesen felülbírálhat (akár 0 Ft-ra is állíthatja). Miután a rendszer befogadta a fizetési kérést és ellenőrizte annak paramétereit, kiértesíti a címzettet (a vásárlót). Ezt úgy csinálja, hogy a vásárló (előzőleg kapcsolódott) készülékén meghívja a PaymentNotification-v1 SignalR metódust.

Ha esetleg az eladó nem a megfelelő vásárlónak küldte el a kérést, akkor van lehetőség a kérés ismételt küldésére más címzettel (vásárlóval). Ebben az esetben először az előzőleg (tévesen) kiértesített vásárlótól a tranzakció visszavonásra kerül majd pedig az új vásárlónak kerül kiküldésre a fizetési kérés. Ezt többször is meg lehet ismételni.

Ha a vásárló nem akarja kifizetni a tranzakciót, akkor lehetősége van azt visszautasítani. Ilyenkor a Barion szerver erről az eladót úgy értesíti, hogy meghívja az eladó kliensén a PaymentCancelNotification-v2 SignalR metódust és paraméterként átadja a visszautasított tranzakció azonosítóját.

Bemenet

Mező neve Mező típusa Kötelező Megkötések Alapértelmezett érték Leírás Formátum / Példa
UserName string Kötelező min. 6, max. 254 karakter nincs Az API hívás hívójának Barion azonosító e-mail címe. user@example.com
Password string Kötelező min. 8, max. 100 karakter nincs Az API hívás hívójának jelszava. EgySimaJelszo
PaymentId GUID Kötelező nincs nincs A fizetési tranzakció azonosítója, amelyről értesítést szeretnénk küldeni. 04ED8C89-C9BD-4C17-92F6-A0964587BBFF
UserToNotify string Kötelező nincs nincs Az értesítés címzettjének felhasználóneve. Ez jelen pillanatban egy felhasználó e-mail címe. pistike@example.com

Kimenet

Mező Típus Leírás Formátum / Példa
IsSuccessful boolean Jelzi, hogy az üzenetet a szerver befogadta és a vásárlónak a kiértesítését megkezdte. true
ErrorList Errorlist A kérés során esetlegesen felmerülő hibákat tartalmazó tömb. Sikeres hívás esetén ez a tömb üres. Errorlist

Hibakódok

Hiba kódja Hiba leírása
1 Nem megfelelő felhasználónév vagy jelszó.
999 Ismeretlen hiba történt a kérés feldolgozása során.
2001 A bemeneti paraméterek valamelyike nem felelt meg az előírásoknak. Ez a hiba annyiszor szerepel(het) a kimenetben, ahány mező hibás volt. Ez esetben az ErrorMessage mezőben található a konkrét hiba: a Validation Error után látható a hibás mező megnevezése, a Value pedig a hiba leírását tartalmazza.
4003 A megadott tranzakció nem található.
4008 A megadott tranzakció nem bolti vásárlás típusú.
4009 Hibás tranzakció státusz. A tranzakciónak elindított állapotban kell lennie. Ilyen hiba jelentkezhet, ha egy már kifizetett tranzakciót szeretnénk újra kiküldeni.
4012 Nem sikerült az utoljára kijelölt felhasználó értesítése. Akkor jelentkezhet, ha véletlenül egymás után több felhasználónak is kiküldésre került a tranzakció.
5006 A megadott felhasználónévhez érvénytelen Barion tárca tartozik.
5801 A hívó fél érvénytelen paramétereket küldött, vagy az értesíteni kívánt felhasználó nem található.
6012 Hiba történt az értesítés kiküldése közben.

Példák

Sikeres értesítés

Az alábbi példában a bolt értesíti felhasználót egy korábban elindított tranzakcióról, melyhez 250 forintos alap borravalót állapított meg. A Barion válaszában látható, hogy az értesítés kiküldését megkezdte a szerver.

Bemenet

{
  UserName: "bolt@example.com",
  Password: "EgySimaJelszo",
  PaymentId: "8cae53aa-b892-42ab-9a39-b1565d97858f",
  UserToNotify: "pistike@example.com"
}

Kimenet

{
    "IsSuccessful": true,
    "ErrorList": []
}

Sikertelen értesítés

Érvénytelen tranzakció

Az alábbi példában az értesítés sikertelen, ugyanis hibás tranzakció azonosítót adtunk meg. Erre a Barion hibaüzenetben figyelmeztet.

Bemenet

{
  UserName: "bolt@example.com",
  Password: "EgySimaJelszo",
  PaymentId: "12345678-abcd-abcd-1234-123456789ab",
  UserToNotify: "pistike@example.com"
}

Kimenet

{
    "IsSuccessful": false,
    "ErrorList": [
        {
            "ErrorNumber": 4003,
            "ErrorMessage": "Invalid transaction!",
            "Details": null
        }
    ]
}

Nem létező felhasználó

Az alábbi példában az értesítést egy nem létező felhasználónak szerettük volna kiküldeni.

Bemenet

{
  UserName: "bolt@example.com",
  Password: "EgySimaJelszo",
  PaymentId: "8cae64aa-b892-42ab-9a39-b1565d97858f",
  UserToNotify: "nemletezik@example.com"
}

Kimenet

{
    "IsSuccessful": false,
    "ErrorList": [
        {
            "ErrorNumber": 5801,
            "ErrorMessage": "Nem megfelelő paramétereket küldtél.",
            "Details": "Invalid user to notify!"
        }
    ]
}