Lehetőség van a bankkártyás fizetések állapotának nyomon követésére a sERPa rendeléseken. A webáruháztól a vevőrendeléssel együtt kapott fizetési információkat eltároljuk a programban felvett vevőrendelésben két módon.
Egyrészt az éppen aktuális sikeres / sikertelen fizetés állapotot a Vevőrendelésben az Általános fülön található További adat táblázatban mentjük le.
A működéshez szükséges a webáruház paraméterben a Kifizetés státuszt egy meghatározott további adat típusra állítani.
Formátum: XML
Elküldendő adat: payment/bank_status
<bank_status>Sikeres fizetés</bank_status>
Másrészt ha a webáruháztól érkezik bankkártyás fizetésre vonatkozó információ (BankAnswerCode mezők, pl. dátum, tranzakciószám, banki válasz), akkor azt a Vevőrendelés bizonylaton a Kártyás fizetés fülön megjelenítjük. Ha a Kártyás fizetés fülön esemény található, akkor a legutolsó banki kifizetés állapotot a Vevőrendelés Általános fülén a Kártyás fizetés státusz mezőben is kijelezzük.
Kártyás fizetés kerül felvételre, ha az összes felsorolt feltétel együttesen teljesül:
[ I. eset - rendelés felvétel - rendeles.xml]
+ rendelés felvételkor sikeresen létrejön a vevőrendelés
+ 'payment_bank_code' értéke = 'simple' vagy 'barion'
+ 'payment_paid_amount' értéke nem üres vagy nem '0'.
+ a) 'payment_bank_answer_code' értéke = '0' vagy 'Succeeded'
b) 'payment_trans_code' nem szerepel az XML-ben (NULL).
Eredménye:
1. Amennyiben van értéke a 'payment_trans_code' bejegyzésnek (és a rendelésnek van érvényes dátuma, ami maga a tranzakció dátuma is lesz), akkor:
A dbo.KartyasFizetesRogzites TE @EgyLepcsosTranzakcio = 1 üzemmódban kerül meghívásra és a 'dbo.KartyasFizetes' tábla 'TranzakcioAzonosito' oszlopába bekerül a 'payment_trans_code' értéke is.
2. Amennyiben nincs értéke a 'payment_trans_code' bejegyzésnek:
A dbo.KartyasFizetesRogzites TE @EgyLepcsosTranzakcio = 0 üzemmódban kerül meghívásra és nem kerül mentésre a (nem létező) 'payment_trans_code' a 'dbo.KartyasFizetes' tábla 'TranzakcioAzonosito' oszlopába.
Megjegyzések:
- Ha a 'dbo.WebaruhazPar.KartyasFizetesNyugtazottFigyeles' mező értéke = 0, akkor 'dbo.KartyasFizetes.Nyugtazott' mező értéke is 0 lesz.
- Ha a 'dbo.WebaruhazPar.KartyasFizetesNyugtazottFigyeles' mező értéke = 1, akkor 'dbo.KartyasFizetes.Nyugtazott' mező értéke is 1 lesz.
- Rendelés módosításakor a kártyás fizetés adatait nem lehet módosítani.
[ II. eset - rendelés befizetés - Rendeles2.xml]
+ létezik a rendelés, amire hivatkozunk az 'erp_order_code' mezőben
+ 'payment_bank_answer_code' értéke = '0' vagy 'Succeeded'
+ a tranzakciónak van dátuma (az üzenet beküldés valós dátuma).
Eredménye:
- A dbo.KartyasFizetesRogzites TE @EgyLepcsosTranzakcio = 0, @Allapot = 2 üzemmódban kerül meghívásra és a 'dbo.KartyasFizetes' tábla 'TranzakcioAzonosito' oszlopába bekerül a 'payment_trans_code' értéke.
- A 'dbo.KartyasFizetes.Nyugtazott' mező értéke is 1 lesz (ha még nem az volt).
Hibaüzenetek:
1. "A 'Kifizetés státusz' mező nincs kitöltve a paraméterben!"
Akkor küldjük, ha az összes felsorolt feltétel együttesen teljesül:
- a 'dbo.WebaruhazPar.TovAdatTipus_ID' (kifizetés státusz) mező értéke nem üres
- payment[1]/bank_status[1] nincs kitöltve
- payment[1]/bank_answer_code[1] nincs kitöltve
- payment[1]/trans_code[1] nincs kitöltve
(megjegyzés: <bank_status/> itt nem számít nem kitöltésnek. Ezzel törölni lehet a címke szövegét.)
2. "Érvénytelen banki tranzakció érkezett! Hiányzó mező: "
Akkor küldjük, ha bármelyik felsorolt feltétel teljesül:
- a 'dbo.WebaruhazPar.TovAdatTipus_ID' (kifizetés státusz) mező értéke üres és az alábbi bejegyzések közül bármelyik üres: payment[1]/bank_answer_code[1], payment[1]/trans_code[1]
- payment[1]/bank_answer_code[1] nem üres, de a payment[1]/trans_code[1] üres
- payment[1]/bank_answer_code[1] üres, de a payment[1]/trans_code[1] nem üres
(megjegyzés: ha a bank_answer_code és trans_code mező is hiányzik, eszerint a sorrend szerint mindig csak egy mezőt jelzünk hibásnak)
Példa egylépcsős kártyás fizetésre:
XML:
<serpa>
<head>
<token>x</token>
<type>order</type>
<time>2026-01-14 10:00:00</time>
</head>
<content>
<order>
<order_code>2103300199</order_code>
<store_code>KR DK</store_code>
<order_series>WGP1</order_series>
<currency>HUF</currency>
<customer>
<name>Kertész József</name>
<phone>+36707777588</phone>
<email>KertJozsi003@gmail.com</email>
<customer_webshop_code>netgo_customer_32</customer_webshop_code>
<customer_groups/>
<agent/>
</customer>
<bill>
<name>Kertészet Nagyker01 Kft.</name>
<zip>1184</zip>
<city>Budapest</city>
<street>Pesti út 7.</street>
<taxnumber>10307078-2-44</taxnumber>
<!--<company/>-->
<postal_name>Kertészet Nagyker01 Kft.</postal_name>
<postal_zip>1184</postal_zip>
<postal_city>Budapest</postal_city>
<postal_street>Pesti út 7.</postal_street>
<bill_webshop_code>netgo_bill_23</bill_webshop_code>
</bill>
<items>
<item>
<item_id>1</item_id>
<product_code>WEB001</product_code>
<pc>1</pc>
<net_unit_price>1020</net_unit_price>
<gross_unit_price>1227</gross_unit_price>
<net_price>100</net_price>
<gross_price>127</gross_price>
<discount_percent>0</discount_percent>
<vat>27</vat>
</item>
</items>
<coupon>
<coupon_code/>
<coupon_name/>
<coupon_gross>0</coupon_gross>
</coupon>
<delivery>
<delivery_id>14</delivery_id>
<delivery_name>Budapest 1149, Egressy tér 11/B - Szaküzlet</delivery_name>
<delivery_cost_net>200</delivery_cost_net>
<delivery_cost_gross>200</delivery_cost_gross>
</delivery>
<payment>
<payment_id>19</payment_id>
<payment_name>ND bankkártya</payment_name>
<payment_cost_net>0</payment_cost_net>
<payment_cost_gross>0</payment_cost_gross>
<paid>0</paid>
<bank_status>Sikeres fizetés</bank_status>
<bank_code>SIMPLE</bank_code>
<bank_answer_code>Succeeded</bank_answer_code>
<trans_code>12345678</trans_code>
<paid_amount>1227</paid_amount>
<auth_code/>
</payment>
<customer_comment/>
</order>
</content>
</serpa>'
Példa kétlépcsős kártyás fizetésre:
XML:
<serpa>
<head>
<token>x</token>
<type>order</type>
<time>2026-01-14 10:00:00</time>
</head>
<content>
<order>
<order_code>2103300199</order_code>
<store_code>KR DK</store_code>
<order_series>WGP1</order_series>
<currency>HUF</currency>
<customer>
<name>Kertész József</name>
<phone>+36707777588</phone>
<email>KertJozsi003@gmail.com</email>
<customer_webshop_code>netgo_customer_32</customer_webshop_code>
<customer_groups/>
<agent/>
</customer>
<bill>
<name>Kertészet Nagyker01 Kft.</name>
<zip>1184</zip>
<city>Budapest</city>
<street>Pesti út 7.</street>
<taxnumber>10307078-2-44</taxnumber>
<!--<company/>-->
<postal_name>Kertészet Nagyker01 Kft.</postal_name>
<postal_zip>1184</postal_zip>
<postal_city>Budapest</postal_city>
<postal_street>Pesti út 7.</postal_street>
<bill_webshop_code>netgo_bill_23</bill_webshop_code>
</bill>
<items>
<item>
<item_id>1</item_id>
<product_code>WEB001</product_code>
<pc>1</pc>
<net_unit_price>1020</net_unit_price>
<gross_unit_price>1227</gross_unit_price>
<net_price>100</net_price>
<gross_price>127</gross_price>
<discount_percent>0</discount_percent>
<vat>27</vat>
</item>
</items>
<coupon>
<coupon_code/>
<coupon_name/>
<coupon_gross>0</coupon_gross>
</coupon>
<delivery>
<delivery_id>14</delivery_id>
<delivery_name>Budapest 1149, Egressy tér 11/B - Szaküzlet</delivery_name>
<delivery_cost_net>200</delivery_cost_net>
<delivery_cost_gross>200</delivery_cost_gross>
</delivery>
<payment>
<payment_id>19</payment_id>
<payment_name>ND bankkártya</payment_name>
<payment_cost_net>0</payment_cost_net>
<payment_cost_gross>0</payment_cost_gross>
<paid>0</paid>
<bank_status>Fizetés alatt</bank_status>
<bank_code>SIMPLE</bank_code>
<bank_answer_code>Succeeded</bank_answer_code>
<paid_amount>1227</paid_amount>
<bank_answer_code/>
<auth_code/>
</payment>
<customer_comment/>
</order>
</content>
</serpa>'
Rendelés befizetés:
'<serpa>
<head>
<token>X</token>
<type>order</type>
<time>2026-01-14-10-01-59</time>
</head>
<content>
<order>
<order_code>2103300199</order_code>
<erp_order_code>2026-WGP1/000001</erp_order_code>
<payment>
<bank_code>SIMPLE</bank_code>
<bank_status>Sikeres</bank_status>
<bank_answer_code>Succeeded</bank_answer_code>
<trans_code>12345678</trans_code>
</payment>
</order>
</content>
</serpa>'
A Webáruház paraméter / További adatok fülön a Kártyás fizetés nyugtázott figyelés paraméter szabályozza, hogy küldemény generálásnál hogyan vegyük figyelembe az utánvét összeg számításánál a kártyás fizetési információt. Bővebben erről a paraméter súgójában olvashatnak.