Transaction-UpdateReservation-v1

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

Befoglalás frissítése

POST /Transaction/UpdateReservation

Ez a hívás lehetőséget nyújt arra, hogy egy folyamatban levő befoglalásra további összeget foglaljunk rá, valamint esetlegesen kitoljuk a befoglalás érvényességét. A folyamatban levő befoglalás összegét a rendszer megnöveli az Amount mezőben kapott értékkel, az érvényességi időponthoz pedig hozzáadódik a ReservePeriod időérték (amennyiben azt megadtuk).

Ez a funkció akkor használható, ha egy befoglalási tranzakcióhoz például további termékeket rendeltünk, és emiatt megváltozott a végösszeg. Befoglalás frissítésekor az új összeg csak nagyobb lehet, mint az eredeti.

Sikeres frissítés esetén a rendszer visszaadja a frissített befoglalási tranzakció azonosítóját, az új végösszeget, illetve a befoglalás érvényességének új időpontjá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
TransactionId GUID Kötelező nincs nincs A frissíteni kívánt befoglalási tranzakció egyedi azonosítója. 8f945017-5bad-4899-8c96-77626ed8a38f
ShopTransactionId string Kötelező min. 1 karakter hosszú nincs A befoglalási tranzakció egyedi azonosítója a bolt saját rendszerében. TRANS0001
ShopGuid GUID Kötelező nincs nincs A befoglalást indító bolt azonosítója. c82e38cc-6de0-41a1-8816-ee70c37f3c22
Amount decimal Kötelező min. 1 nincs Az érték, amellyel a befoglalt összeget növelni szeretnénk. 500
ReservePeriod TimeSpan Opcionális nincs nincs Az időtartam, amellyel a befoglalás érvényességét növelni szeretnénk. Amennyiben nem adjuk meg, a befoglalás eredeti érvényességi ideje nem változik. 00:05:00 (5 perc)
Comment string Opcionális max. 160 karakter nincs A befoglaláshoz tartozó megjegyzés. "Barion Pizza rendelés #00532"
Products Products Opcionális nincs nincs A vásárláshoz tartozó termékek adatai a véglegesítés pillanatában. Products

Kimenet

Mező Típus Leírás Formátum / Példa
IsSuccessful boolean Jelzi, hogy a befoglalás frissítése sikeresen lezajlott-e. true
NewAmount decimal A frissített befoglalási tranzakció végösszege 8000
NewEndTime DateTime A frissített befoglalás új érvényességi időpontja. 2014-10-28 14:31:46
TransactionId GUID A frissített befoglalási tranzakció azonosítója. 98a2354d-538b-4e61-9f04-3d15abe94d40
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 létezik.
4007 A befoglalás frissítése közben rendszerhiba történt.
4008 A megadott tranzakció nem befoglalás típusú.
4010 A megadott tranzakció már befejeződött; nem módosítható.
5002 A felhasználónak nincs elég pénze a befoglaláshoz.
5801 A hívó fél érvénytelen paramétereket küldött.

Példák

Sikeres frissítés

Az alábbi példában egy már folyamatban levő, 4000 Ft-os befoglalásra ráfoglalunk további 500 Ft összeget, az érvényességét pedig kitoljuk tíz perccel:

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    TransactionId: "25429422-324d-41ec-a8f3-df8f736fafd0",
    ShopTransactionId: "TRANS0001",
    ShopGuid: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Amount: 500,
    ReservePeriod: "00:10:00"
}

Kimenet

{
    "IsSuccessful": true,
    "NewAmount": 4500,
    "NewEndTime": "2014-10-31T17:10:00",
    "TransactionId": "25429422-324d-41ec-a8f3-df8f736fafd0",
    "ErrorList": []
}

Sikertelen frissítés

Érvénytelen tranzakció

Az alábbi példában rossz tranzakció azonosítót adtunk meg.

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    TransactionId: "12345678-abcd-abcd-1234-123456789abc",
    ShopTransactionId: "TRANS0002",
    ShopGuid: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Amount: 500,
    ReservePeriod: "00:10:00"
}

Kimenet

{
    "IsSuccessful": false,
    "NewAmount": 0,
    "NewEndTime": null,
    "TransactionId": "00000000-0000-0000-0000-000000000000",
    "ErrorList": [
        {
            "ErrorNumber": 4003,
            "ErrorMessage": "Invalid transaction!",
            "Details": null
        }
    ]
}

Nincs elég pénze a felhasználónak

Ebben a példában szerettünk volna további 1000 Ft összeget befoglalni a felhasználótól, neki azonban nincs elég pénz a tárcájában.

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    TransactionId: "25429422-324d-41ec-a8f3-df8f736fafd0",
    ShopTransactionId: "TRANS0003",
    ShopGuid: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Amount: 1000
}

Kimenet

{
    "IsSuccessful": false,
    "NewAmount": 0,
    "NewEndTime": null,
    "TransactionId": "00000000-0000-0000-0000-000000000000",
    "ErrorList": [
        {
            "ErrorNumber": 5002,
            "ErrorMessage": "Balance is not enough to start new transaction!",
            "Details": null
        }
    ]
}