Transfer-Send-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

Pénzküldés

POST /Transfer/Send

E hívással pénzküldési tranzakció kezdeményezhető a hívó Barion számlájáról egy másik Barion számlára. Lehetőség van Barion számlával nem rendelkező címzettnek is pénzt küldeni, ez esetben a címzett e-mailben értesítőt kap, hogy regisztrációt követően (vagy már meglévő Barion számlára átvezetve) átveheti a pénzt.

Ha sikeres, a pénz küldési tranzakció azonnali és visszavonhatatlan. Minden esetben a küldött összeg teljes összege megérkezik a címzettnek, ha a tranzakció díj köteles, a tranzakciós díjat a rendszer automatikusan egy másik tranzakcióban vonja le, a küldési tranzakciót követően.

Használható kifizetések automatizálására például vállalatirányítási vagy pénzügyi szoftverben, cashback rendszer fejlesztéséhez, egyéb, főleg tömeges pénzküldések lebonyolításához, például jutalék automatikus és gazdaságos kifizetésére. Tömeges pénz küldéshez példaként szolgálhat az alábbi Excel pénzküldő makró.

E hívást használja a Barion mobilalkalmazás is pénz küldésre.

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
Recipient string Kötelező Ha ContactType=0 akkor formailag helyes e-mail cím (min. 6, max. 254 karakter), ha ContactType=10, akkor min. 1, max. 254 karakter nincs A címzett e-mail címe vagy Facebook azonosítója, a ContactType mező értékétől függően, általában e-mail cím.
  • pistike@example.com
  • 1144501115
Amount integer Kötelező Pozitív egész szám, min. 1, max. 10 000 000 nincs A tranzakció összege, ezres elválasztók és pénznem feltüntetése nélkül. 3000
Comment string Opcionális max. 160 karakter nincs A tranzakció közleménye. Decemberi fizetés
CommissionBySender boolean Opcionális nincs False Igaz, ha a küldő fél átvállalja az esetleges tranzakciós díjat. True
Currency string Opcionális pontosan 3 karakter hosszú HUF A tranzakció pénznemének három betűs kódja. A rendszer jelenleg szigorúan HUF értéket használ, minden más bemenetet figyelmen kívül hagy. HUF
ContactType byte Opcionális 0 vagy 10 0 Ez a mező adja meg, hogy a Recipient mezőben található érték pontosan milyen felhasználó azonosítót tartalmaz:
  • 0 - email cím
  • 10 - Facebook fiók azonosító (numerikus)
0

Kimenet

A kimenet minden hívás esetén hasonló felépítésű. Amennyiben sikeres hívás történt az ErrorList hibatömb üresen érkezik. Ha hiba történt, akkor a hibatömbben láthatóak ezek a hibák, de ilyen esetben is megkapjuk a többi kimeneti paramétert, csak üresen vagy pedig egy default alapértékkel.

Mező Típus Leírás Formátum / Példa
TransactionId GUID A tranzakció egyedi azonosítója a Barionban 04ED8C89-C9BD-4C17-92F6-A0964587BBFF
Time datetime A tranzakció időpontja UTC időzónában, de Z nélkül a végén. 2014-10-27T12:52:28.787
Amount integer A tranzakció összege 3000
FromName string A küldő fél neve vagy cégneve Kovács és Társa Kft.
ToName string A fogadó fél neve vagy cégneve Kovács István
FromEmailAddress string A küldő fél email címe kovacs-kft@example.com
ToEmailAddress string A fogadó fél email címe, amennyiben nem Facebook-ra küldesz istvan.kovacs@example.com
FromBalance integer A küldő felhasználó egyenlege a tranzakció után 55000
Comment string A tranzakció közleménye Decemberi fizetés
CommissionBySender boolean Átvállalta-e a küldő a tranzakciós jutalékot False
Currency string A tranzakció pénzneme, jelenleg csak HUF HUF
TransactionType byte A tranzakció típusának kódja a TransactionTypes táblázat alapján. Értéke 2 vagy 3 lehet. 2 = pénzküldés regisztrált felhasználónak, 3 = pénzküldés még nem regisztrált felhasználónak 2
Direction byte A tranzakció iránya az API hívást kezdeményező felhasználó szemszögéből: Pénzküldés esetén mindig 0 fog itt szerepelni, a rendszer más hívásainál ez felvehet 1 értéket is.
  • 0 - a hívást kezdeményező felhasználó szemszögéből pénzküldés, ekkor a tranzakció összegének előjele negatív
  • 1 - a hívást kezdeményező felhasználó szemszögéből pénzfogadás, ekkor a tranzakció összegének előjele pozitív
0
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.
2002 A küldő felhasználó fel van függesztve vagy le van tiltva, nem végezhet tranzakciót.
2003 A küldő felhasználó egyenlegén nincs elég pénz a tranzakcióhoz
2004 Nem megfelelő a tranzakció címzettje. ContactType=0 esetén formailag helyes e-mail címet kell magadni, ContactType=10 esetén pedig formailag helyes Facebook azonosítót.
2005 Túl hosszú közlemény; maximum 160 karakter lehet.
2006 A küldött összeg csak pozitív egész szám lehet, minimum 1 Ft.
2099 A tranzakció végrehajtása során ismeretlen hiba történt.
2100 Hiba történt a Facebook üzenet kiküldése során. Csak akkor kaphatunk ilyen hibát, ha a ContactType=10 pénzküldést választjuk. Ez a hiba akkor fordulhat elő, ha a felhasználó kézzel letiltotta a Barion Facebook alkalmazást. Ez magát a tranzakció végrehajtását nem befolyásolja! A tranzakció tehát megtörténik, de a pénzt fogadó felhasználó nem értesül róla. Amennyiben a fogadó fél még nem regisztrált felhasználó, a tranzakció elévülése után a küldő fél visszakapja az összeget.

Példák

Sikeres pénzküldés

Az alábbi példában egy cég egyik dolgozójának küld 30.000,-Ft cafetéria juttatást Barion számlájára. A pénzküldést a cafetéria szoftver végzi automatikusan, a Barion REST API hívásával. A tranzakciós díjat a cég vállalja, de ennek jelentősége nincs, hiszen a fogadó magánszemély, aki nem fizet díjat pénz fogadásért.

Bemenet

{
    UserName: "ceg@example.com",
    Password: "CegErosJelszava",
    Recipient: "dolgozo@example.com",
    Amount: 30000,
    Comment: "Decemberi cafetéria Barion része",
    CommissionBySender: true,
    Currency: "HUF",
    ContactType: "0"
}

Kimenet

{
    TransactionId: "8C8E8FF8-368F-408B-9F71-2CA536154FB4",
    Time: "2014-12-06T08:35:46",
    Amount: -30000,
    FromName: "Cég Neve",
    ToName: "Dolgozó István",
    FromEmailAddress: "ceg@example.com",
    ToEmailAddress: "dolgozo@example.com",
    FromBalance: 70000,
    Comment: "Decemberi cafetéria Barion része",
    CommissionBySender: true,
    Currency: "HUF",
    TransactionType: 2,
    Direction: 0,
    ErrorList: []
}

Sikertelen pénzküldés

Küldő félnek nincs elég pénze

Az alábbi példában a Barion szerver válasza látható fenti pénzküldés sikertelen lezajlása esetén. Az ErrorList ez esetben nem üres, hanem a hibát, vagy hibákat tartalmazza, példánkban a küldő cégnek nincsen elég pénze.

Bemenet

{
    UserName: "ceg@example.com",
    Password: "CegErosJelszava",
    Recipient: "dolgozo@example.com",
    Amount: 250000,
    Comment: "Augusztusi fizetés",
    CommissionBySender: true,
    Currency: "HUF",
    ContactType: "0"
}

Kimenet

{
    "TransactionId": "00000000-0000-0000-0000-000000000000",
    "Time": "0001-01-01T00:00:00",
    "Amount": 0,
    "FromName": null,
    "ToName": null,
    "Comment": null,
    "FromBalance": 0,
    "Currency": null,
    "TransactionType": null,
    "Direction": null,
    "ErrorList": [
        {
            "ErrorNumber": 2003,
            "ErrorMessage": "Nincs elég pénz a tranzakció végrehajtásához!",
            "Details": null
        }
    ]
}

Hibás bemeneti paraméterek

Az alábbi példában hibás bemeneti paramétereket küldtünk, nem adtunk meg Recipient-et és negatív összeget szerettünk volna küldeni. Ezért a rendszer minden hibás mező után egy külön hibát küld.

Bemenet

{
    UserName: "ceg@example.com",
    Password: "CegErosJelszava",
    Recipient: "",
    Amount: -1,
    Comment: "Negatív összeget küldök"
}

Kimenet

{
    "TransactionId": "00000000-0000-0000-0000-000000000000",
    "Time": "0001-01-01T00:00:00",
    "Amount": 0,
    "FromName": null,
    "ToName": null,
    "Comment": null,
    "FromBalance": 0,
    "Currency": null,
    "TransactionType": null,
    "Direction": null,
    "ErrorList": [
        {
            "ErrorNumber": 2001,
            "ErrorMessage": "Validation Error: model.Recipient Value: The Recipient field is required.",
            "Details": null
        },
        {
            "ErrorNumber": 2001,
            "ErrorMessage": "Validation Error: model.Amount Value: The field Amount must be between 0 and 10000000.",
            "Details": null
        }
    ]
}