Transaction-FinishReservation-v1

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

Befoglalás véglegesítése

POST /Transaction/FinishReservation

Az alábbi hívással lehetőség van egy korábban indított befoglalás véglegesítésére. A befoglalás és a véglegesítés között megváltozhatnak a tranzakció adatai, ha például vásárlás során kiderül, hogy nem minden termék elérhető vagy a vásárló eláll a vásárlástól. Ennek kezelése érdekében ennél a hívásnál is feltüntethetők a vásárolt termékek adatai végső állapotukban (Products paraméter), valamint a befoglalás véglegesítésekor érvényes összeg (FinalAmount paraméter).

A folyamat végén a befoglalt összeg átvezetésre kerül a vásárló tárcájából a befoglalást indító bolt tárcájába.

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
ApplicationId GUID Kötelező nincs nincs A befoglalást indító bolt azonosítója. c82e38cc-6de0-41a1-8816-ee70c37f3c22
Products Products Opcionális nincs nincs A vásárláshoz tartozó termékek adatai a véglegesítés pillanatában. Products
TransactionId GUID Kötelező nincs nincs A befoglalási tranzakció egyedi azonosítója. 8f945017-5bad-4899-8c96-77626ed8a38f
ShopTransactionId string Kötelező nincs nincs A befoglalási tranzakció egyedi azonosítója a bolt saját rendszerében. TRANS0001
Comment string Opcionális max. 160 karakter nincs A befoglaláshoz tartozó megjegyzés. "Barion Pizza rendelés #00532"
FinalAmount integer Kötelező nincs nincs A befoglalás végső összege ezres elválasztók és pénznem feltüntetése nélkül. Az eredeti tranzakció összegénél lehet kevesebb, vagy akár nulla is, ha a tranzakcióban foglalt termékek változtak, vagy például ha a vásárló időközben elállt a vásárlástól. 7500

Kimenet

Mező Típus Leírás Formátum / Példa
IsSuccessful boolean Jelzi, hogy a befoglalás véglegesítése sikeresen lezajlott-e. 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

A sikeres véglegesítés eredményeképpen létrejön egy bolti vásárlási tranzakció a Barionban. Erről a vásárló értesítést is kap azonnali üzenetként vagy push notification-ként.

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.
4002 A megadott bolti azonosító nem létezik.
4003 A megadott tranzakció nem létezik.
4004 A befoglalás véglegesítése közben rendszerhiba történt.
4005 Nagyobb összeggel szerette volna a bolt véglegesíteni a befoglalást, mint a befoglalt összeg.
4006 A megadott tranzakció lejárt, vagy már befejeződött.
4009 A megadott tranzakció nem folyamatban levő státuszú.
5004 A megadott bolt törölve lett.
5801 A hívó fél érvénytelen paramétereket küldött.

Példák

Sikeres véglegesítés

Az alábbi példában a bolt sikeresen véglegesít egy előzőleg leadott megrendelésre indított befoglalási tranzakciót.

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Products: [
      {
        Name: "SuperToolKit 200",
        Description: "200 darabos szerszámkészlet minden ház körüli barkácsoláshoz",
        Quantity: 1,
        Unit: "db",
        Price: 5000,
        SKU: "P_STK200-12345"
      }
    ],
    TransactionId: "25429422-324d-41ec-a8f3-df8f736fafd0",
    ShopTransactionId: "TRANS0001",
    Comment: "Vásárlás #005784",
    FinalAmount: 5000
}

Kimenet

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

Sikertelen véglegesítés

Érvénytelen tranzakció

Az alábbi példában nem sikerült a befoglalás véglegesítése, mert a megadott tranzakció azonosító hibás.

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Products: null,
    TransactionId: "12345678-abcd-abcd-1234-123456789abc"
    ShopTransactionId: "TRANS0002",
    Comment: null,
    FinalAmount: 5000
}

Kimenet

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

Befejeződött tranzakció

Az alábbi példában nem sikerült a befoglalás véglegesítése, mert a megadott tranzakció már korábban véglegesítve lett.

Bemenet

{
    UserName: "bolt@example.com",
    Password: "ABoltJelszava",
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    Products: null,
    TransactionId: "22d628f5-fac2-4820-a079-b32c7b9243b5"
    ShopTransactionId: "TRANS0003",
    Comment: null,
    FinalAmount: 1000
}

Kimenet

{
    "IsSuccessful": false,
    "ErrorList": [
        {
            "ErrorNumber": 4009,
            "ErrorMessage": "A tranzakció státusza nem 'started'!",
            "Details": null
        }
    ]
}