Payment-Pay-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

Tranzakció kifizetése

POST /Payment/Pay

Ezzel a hívással lehetőség van egy folyamatban levő tranzakciót kifizetni. A fizetéshez meg kell adni vásárló bejelentkezési adatait, a bolt azonosítóját, a tranzakció összegét, a fizetés végső összegét, valamint a bolt saját rendszerében található vásárlási azonosítóját.

Amennyiben a felhasználó az eredeti tranzakció összege mellé borravalót is ad, a végső összeg mezőben egy nagyobb számérték található, mint a tranzakció alap végösszege. Ez esetben a folyamat végén a Barion rendszerében két tranzakció keletkezik: egy magának a tranzakciónak, egy pedig a különbözetnek (pl. borravalónak).

A Barion mobil alkalmazás ezt az API hívást használja a vásárlás típusú tranzakciók kifizetéséhez.

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
Amount integer Kötelező min. 1 nincs A fizetendő összeg ezres elválasztók és pénznem feltüntetése nélkül. A jutalék összege ebből számolódik és nem az esetleges borravalóval növelt összegből. 4890
FinalAmount integer Opcionális ha meg van adva, akkor min. az Amount mező értéke nincs A tranzakció végső összege. pl. borravaló esetén eltérhet az eredetitől. Szintén ezres elválasztók és pénznem nélkül. Ha nincs megadva vagy nulla értékkel érezik, akkor az azt jelenti, hogy a vásárló nem adott borravalót. 5000
ApplicationId GUID Kötelező nincs nincs A tranzakciót indító bolt egyedi azonosítója a Barionban c82e38cc-6de0-41a1-8816-ee70c37f3c22
ShopTransactionId string Kötelező nincs nincs A tranzakció egyedi azonosítója a bolt saját rendszerében TRANS0001
TransactionId GUID Kötelező nincs nincs A fizetendő tranzakció azonosítója a Barion rendszerben 04ed8c89-c9bd-4c17-92f6-a0964587bbff

Kimenet

Mező Típus Leírás Formátum / Példa
TransactionId GUID A végbement fizetés utáni tranzakció azonosítója. 8323cf68-5e03-4d67-a0fe-b3beaa0bc682
OptionalTransactionId GUID Amennyiben az összeg és a végső összeg nem egyezik (pl. borravalót fizetett a felhasználó), akkor a különbözetet képviselő tranzakció azonosítója. cfee2bb7-c7e6-486d-a1aa-49142644eb0a
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 vagy nem egyezik az összege az Amount paraméterrel vagy a ShopTransactionId nem egyezik.
5801 A hívó fél érvénytelen paramétereket küldött.
6001 A megadott Barion bolt azonosító nem létezik.
6005 A megadott Barion bolt be lett zárva.
6008 A megadott FinalAMount (borravalóval növelt összeg) kisebb, mint az Amount (tranzakció alap fizetendő összege).
6011 A tranzakció kifizetése közben rendszerhiba történt.
6012 A tranzakció kifizetéséhez nincs elég pénz a vásárló tárcájában.
6013 A vásárló átlépte a tárcájához tartozó tranzakciós limitet.

Példák

Sikeres fizetés

Az alábbi példában a felhasználó sikeresen kifizeti a tranzakciót; 2500 Ft értékben vásárol és 500 Ft borravalót ad. A Barion által adott válaszban látható a két külön tranzakció azonosító: az első az eredeti tranzakciót, a második a borravalót azonosítja.

Bemenet

{
    UserName: "pistike@barion.com",
    Password:  "EgySimaJelszo",
    Amount: 2500,
    FinalAmount:  3000,
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    ShopTransactionId: "TRANS0001",
    TransactionId: "6680357f-02f0-4aa0-8e14-8b762e678a45"
}

Kimenet

{
    "Transactionid": "8323cf68-5e03-4d67-a0fe-b3beaa0bc682",
    "OptionalTransactionid": "cfee2bb7-c7e6-486d-a1aa-49142644eb0a",
    "ErrorList": []
}

Sikertelen fizetés

Nincs elég pénz a fizetéshez

Az alábbi példában a felhasználó nem tudja kifizetni a tranzakciót, mert nincs rá elég pénze.

Bemenet

{
    UserName: "pistike@barion.com",
    Password:  "EgySimaJelszo",
    Amount: 8000,
    FinalAmount:  8000,
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    ShopTransactionId: "TRANS0002",
    TransactionId: "a6b329ff-02f0-4aa0-8e14-8b762e678a45"
}

Kimenet

{
    "Transactionid": "00000000-0000-0000-0000-000000000000",
    "OptionalTransactionid": "00000000-0000-0000-0000-000000000000",
    "ErrorList": [
        {
            "ErrorNumber": 6012,
            "ErrorMessage": "Not enough balace!",
            "Details": null
        }
    ]
}

Lezárt tranzakció kifizetése

Az alábbi példában a felhasználó véletlenül egy korábban már kifizetett tranzakciót szeretett volna ismét kifizetni. Ez esetben a Barion rendszerében egy általános hiba keletkezik, ugyanis a tranzakció nem folyamatban levő típusú.

Bemenet

{
    UserName: "pistike@barion.com",
    Password:  "EgySimaJelszo",
    Amount: 2500,
    FinalAmount:  3000,
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    ShopTransactionId: "TRANS0001",
    TransactionId: "6680357f-02f0-4aa0-8e14-8b762e678a45"
}

Kimenet

{
    "Transactionid": "00000000-0000-0000-0000-000000000000",
    "OptionalTransactionid": "00000000-0000-0000-0000-000000000000",
    "ErrorList": [
        {
            "ErrorNumber": 6011,
            "ErrorMessage": "Executing payment failed!",
            "Details": null
        }
    ]
}

Hibás tranzakció a boltban

Az alábbi példában a hívás sikertelen, mert a hívó fél rossz bolti tranzakciót küldött. Ez esetben a tranzakció Barionban található azonosítója hiába helyes, a rendszer ezt is érvénytelenként kezeli.

Bemenet

{
    UserName: "pistike@barion.com",
    Password:  "EgySimaJelszo",
    Amount: 2500,
    FinalAmount:  3000,
    ApplicationId: "04ed8c89-c9bd-4c17-92f6-a0964587bbff",
    ShopTransactionId: "WRONGTRANS",
    TransactionId: "a6b329ff-02f0-4aa0-8e14-8b762e678a45"
}

Kimenet

{
    "Transactionid": "00000000-0000-0000-0000-000000000000",
    "OptionalTransactionid": "00000000-0000-0000-0000-000000000000",
    "ErrorList": [
        {
            "ErrorNumber": 4003,
            "ErrorMessage": "Invalid transaction!",
            "Details": null
        }
    ]
}