Jump to content

PayPal vs tizedes egységár


dienesdavid

Recommended Posts

Sziasztok!

 

 

Ügyfelem alacsony egységárú termékeket értékesít. 

 

Pl. 

nettó     0.06      euró

bruttó    0.0762  euró

 

Ebből százasával lehet rendelni, tehát pl. 100 db-ot bruttó 7.62 euróért. 

 

Azonban a Paypal-nak nem az összesen ár, hanem az egységár kerül átadásra. A probléma pedig az, hogy a PayPal euró esetén max két tizedes jegyet fogad el. 

Ha ennél többet küldünk, akkor a következő üzenet jön:

 

1.     PayPal response:

2.     TIMESTAMP -> 2013-11-22T08:41:54Z

3.     L_ERRORCODE0 -> 10431

4.     L_SHORTMESSAGE0 -> Transaction refused because of an invalid argument. See additional error messages for details.

5.     L_LONGMESSAGE0 -> Item amount is invalid.

6.     L_SEVERITYCODE0 -> Error

 

Vagyis a 0.0762 euró helyett 0.08 euró kerül át PayPal-ba mint egységár, ami 100 db termék esetén 8.00 euró, vagyis a vevő 0.38 euróval többet fizet mint amit a Prestában elfogadott (7.62 euró). 1.000 vagy 10.000 db termék esetén pedig 3.8, illetve 38 euróval fizet többet! Rém kellemetlen visszautalni a pénzt. 

 

Forint esetén hasonlóan rossz a helyzet. A lenti linken olvasható, hogy július 9. óta nem fogadnak el tizedest:

 

https://developer.paypal.com/webapps/developer/docs/classic/release-notes/merchant/PayPal_Merchant_API_Release_Notes_104/

 

Vagyis a nettó 6 Ft-os termék, bruttó 7.62 Ft, ami megint csak a fenti piros hibaüzenet generálja a PayPal-nál. 

 

Ha az árat úgy próbáljuk meghatározni, hogy a bruttó kerek legyen (mondjuk 8,00 Ft), akkor a nettó lesz tizedes (6,30 Ft). Mivel külföldi EU-adószámos vevő esetén nincs ÁFA, ezért a nettó árat fizeti, vagyis akkor is piros hiba lesz. 

 

A 100-as csomagokban való értékesítést javasoltam az ügyfélnek, ez 10.000 termék esetén max fél euró eltérést jelent, de egyelőre ragaszkodnak a darabonkénti értékesítéshez. 

 

Kérdésem, hogy van-e valakinek tapasztalata alacsony egységárú termékek értékesítésével, akár PayPal-lal vagy egyéb modullal?

 

Előre is köszönöm,

Dávid

 

 

 

Link to comment
Share on other sites

Szia PapaDoc!

 

Igen, a defines.inc.php pont úgy néz ki. A kerekítés amúgy itt történik:

 

modules\paypal\express_checkout\process.php 

 

$fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'], $this->decimals);

 

Ha itt ideiglenesen módosítom a $this->decimals -t mondjuk 4-re, akkor a PayPal-nak összeállított string-ben ragyogóan megjelenik 4 tizedessel az AMT0-s paraméter, de a PayPal a fenti piros hibával visszadobja. Ft esetén pedig már akár egy tizedes esetén is hibát dob.

 

Pl. 100 db 12.7 Ft-os termék vásárlás esetén:

 

&L_PAYMENTREQUEST_0_AMT0=12.7

&L_PAYMENTREQUEST_0_QTY0=100

&PAYMENTREQUEST_0_PAYMENTACTION=Sale

&PAYMENTREQUEST_0_CURRENCYCODE=HUF

&PAYMENTREQUEST_0_SHIPPINGAMT=0

&PAYMENTREQUEST_0_ITEMAMT=1270

&PAYMENTREQUEST_0_AMT=1270

 

Ez piros hibát okoz a PayPal-ban (error code 10431). 

 

Köszi,

Dávid

Link to comment
Share on other sites

Ha nem létezik fillér, akkor mennyi a 6.- Ft + ÁFA?   :unsure: 
 

A következő megoldást találtam ki, ami nem szépségdíjas, de legalább a vevő nem érzi magát átverve, legfeljebb némileg összezavarva... modules\paypal\express_checkout\process.php:

 

/*
$fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'], $this->decimals);
$fields['L_PAYMENTREQUEST_0_QTY'.$index] = $product['quantity'];
$total = $total + ($fields['L_PAYMENTREQUEST_0_AMT'.$index] * $product['quantity']);
*/
 
$fields['L_PAYMENTREQUEST_0_AMT'.$index] = Tools::ps_round($product['price_wt'] * $product['quantity'], $this->decimals);
$fields['L_PAYMENTREQUEST_0_QTY'.$index] = 1;

$total = $total + ($fields['L_PAYMENTREQUEST_0_AMT'.$index]) ;

 

Vagyis minden tétel 1 db-ként megy át a PayPal-ba, az egységárat pedig felszorzom a darabszámmal. 

 

Azért keressük tovább a szebb megoldást.... 

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...