6vC PayPal Basic Module Support

[QUOTE=serversponsor;105459]whats the differents can you maybe code it for basic also?

it works now with azure but i dont like that them somehow :slight_smile:

any idea ?[/QUOTE]

I thought a little more about this and it doesn’t make sense for me to say that the module is only compatible with the azure template. The functionality this module offers extends from the core, so it should be independent of the template used.

I think it’s more accurate to say that it’s setup for azure “by default”. If you want it to run on other templates, it should only be a matter of creating a new checkout page (based on existing TPL files such as payment.tpl in the case of the basic theme) and pasting in the appropriate code from the v6c_redirectpost.tpl file that’s included in the module.

Where appropriate code refers to all code within the following block tag:

[{block name="v6c_checkout_redirect_main"}]
.
.
.
[{/block}]

In fact, if you don’t care to have the checkout steps display at the top, you can just create a completely new TPL file (i.e. doesn’t have to be based off of payment.tpl).

got this error:

Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /modules/v6c_merchantlink/v6c_mlpaymentgateway.php on line 479

Fehler beim Empfang der IPN-Übertragungsdaten vom PayPal-Server.

Wenn ich den Testmodus deaktiviere dnan geht es.

Wo wird dann bei Paypal der Preis angezeigt?
Sehe da nur: “3x Artikel” links

@Souleater

Not sure how you got that far w/o an error message. The second argument is supposed to be the array of data returned by PayPal after a successful init. If the init fails, this value is set to false and an error is flagged. It’s as if somehow a bad PayPal result was passed through???

Are you doing any mods that would reset the oxpaymentgateway object and hence loose that array value?

If you have the latest repo code (check if OXIDproj merged my latest changes) you can try setting debug mode > 0 and then check the v6c log file in the logs folder. I recently improved the error logging.

I get this error when I activate the test mode (sandbox).
If I uncheck it it works.

[B]But what I miss is the price of the articles on the paypal checkout page, any setting I forgot?
There is only on the left side of the paypal checkout page: 3x product but no price?[/B]

This is already the latest version.
Replaced the older one, but do I need to update something again?

Still cant use the sandbox mode =( And it still doesnt show the price of the article I bought on the paypal checkout page

Maybe this:

If you pass in unit price information (L_PAYMENTREQUEST_n_AMTm ) without passing in the unit quantity (L_PAYMENTREQUEST_n_QTYm ), the unit price does not display. To show both values, you must pass in values for both parameters. You can pass in a value of 1 even if the item purchase is uncountable.

Well - did you ever thought about the phenomenon of so called “time zones”?

On the other hand, this is a GPL - module, feel free to fork from github and improve.

Is there a german forum / thread for this extension?
Do you / or someone else know how to solve the problem with the price?

[QUOTE=Souleater;107096][B]But what I miss is the price of the articles on the paypal checkout page, any setting I forgot?
There is only on the left side of the paypal checkout page: 3x product but no price?[/B][/QUOTE]

The PayPal portal is for payment authorization only. No payment is being made at that stage, hence no prices are shown. I’m not sure what PayPal says in the German version, but in the English portal PayPal explicitly states on the portal page that prices will be confirmed before the order is processed.

Showing prices is possible, but not appropriate in this case for multiple reasons:
[ul]
[li]PayPal Express Checkout does not support discounts, so even if you really want pricing to show it will break down if the shop applies any discounts/coupons. Other PayPal Express Modules for other shops work in the same way for the same reason (i.e. because discounts break functionality, pricing is not used to maintain consistent behavior).
[/li][li]In theory, the user can still modify the order after authorization, so the pricing shown at that stage is too early to remain accurate.
[/li][/ul]

I have never had a problem using the Sandbox feature unless the sandbox account info I entered was incorrect. I will try shortly on the latest 4.6 version and post-back results.

Thought it supports discounts (make a negative price)?

Ah ok.
Well, sandbox and paypal api user are not the same, also paypal says, dont use your paypal email for the sandbox or can I activate sandbox also in the normal paypal / seller page under api 
?

Sandbox use requires a completely new set of credentials (email, password, key, etc.) provided via the PayPal sandbox website. It is entirely different than regular accounts and not linked to regular accounts in anyway.

You’ll have to refer to PayPal documentation with regards to setting up PayPal sandbox accounts and retrieving all the necessary credentials.

But you can not use the sandbox credentials for the paypal module or should not.
So when activating sandbox / test mode in the module use another set of credentials we can insert. Because there are differences between sandbox seller and buyer accounts and the use of api keys (not available for sandbox mode accounts)?

So the missing price is by design? Thats irritating

Hey Guys,

I tried to install the PayPal Basic Module. Like mentioned at https://github.com/OXIDprojects/6vC-PayPal-Basic/blob/master/README I Copied the files into the several Folders, cleared tmp and tried to update db views in backend.

I’m sorry but I’ve got a problem while installing the Module. Unfortunately I can’t open the 6vC Modules>Merchant Section. If I click to “6vC Einstellungen > HĂ€ndleranbindung” Theres no Button to install/update db, I only have a blank page. If I switch to non productive Mode I see an error: “Fatal error: Call to a member function execute() on a non-object in /usr/www/users/shoppc/admin/v6c_merchantlinkmain.php on line 128” - do you have any idea?

[QUOTE=tb@sp24;108155]
I’m sorry but I’ve got a problem while installing the Module. Unfortunately I can’t open the 6vC Modules>Merchant Section. If I click to “6vC Einstellungen > HĂ€ndleranbindung” Theres no Button to install/update db, I only have a blank page. If I switch to non productive Mode I see an error: “Fatal error: Call to a member function execute() on a non-object in /usr/www/users/shoppc/admin/v6c_merchantlinkmain.php on line 128” - do you have any idea?
[/QUOTE]

Sorry, that is a bug that only applies to 4.5.x versions. I already fixed it but I don’t think that changes are on GitHub yet. If you can wait, I’ll post the changes probably later this week. Otherwise, add the following line to the top of the 2 deprecated functions in v6c_merchantlinkmain.php:

$oDB = oxDb::getDb();

Also, manually verify the modules extensions section in admin after hitting the install button. The auto-installer tries to do what 4.6.x now does, but was a little buggy. Just make sure all the appropriate modules are extended correctly (can check metadata.php file to see what modules should be extended)

And lastly, I noticed later that there is not a 1-to-1 relationship between the modules folder and the root shop folder. As a result, you’ll have to copy the lang files sparately (i.e. copy them from lang directory to appropriate place in out directory)

@Souleater

I tested sandbox mode on 4.6.5 and had no issues. I even purposely tried using real credentials with sandbox mode and received an appropriate error message. Not sure why it isn’t working for you. Maybe try starting over from scratch.

[QUOTE=Souleater;107250]So the missing price is by design? Thats irritating[/QUOTE]

Prices are not missing, they are shown in the first step and the final step. This is the same as if somebody were to checkout using COD, advanced pay, built-in credit card processing, and any other conceivable payment method. In default OXID behaviour, prices are not shown for the payment step. The paypal module does not change this default behaviour.

@spuvis: First of all - thanks to this great module! works (nearly) like a charme, even in 4.7. just installed it onto my system and except of having to copy the file into the custom folder everything went pretty fine.

regarding the “sandbox bug” i can confirm that if you switch to testmode and keep the “live” api credentials you get the error (line 479 in mlpaymentgateway -> key).

maybe i can find out how it can be done to enter “Live” and “Sandbox” Values into the module-backend and activating the sandbox just uses the sandbox values.

Is there any “documentation” on how to include express checkout, include “paypal” styling and work on the “wait for redirect to paypal” page? (Also in my version there is no button shown for manually starting a redirect).

Another issue i would like to state is, that “german” glyphs like ĂŒ,Ă€,ß are not transferred correctly to PayPal resulting in a 2 byte way - seems to be a UTF8-Problem

thanks

[QUOTE=onethirtytwo;108218]regarding the “sandbox bug” i can confirm that if you switch to testmode and keep the “live” api credentials you get the error (line 479 in mlpaymentgateway -> key).[/QUOTE]

Can you provide more repro details on this? Such as OXID version & test credentials used (can email them to info@6vcommerce if you prefer). If I could repro the issue, I will fix it, but so far no luck.

[QUOTE=onethirtytwo;108218]maybe i can find out how it can be done to enter “Live” and “Sandbox” Values into the module-backend and activating the sandbox just uses the sandbox values.[/QUOTE]

This is easy, I’ll add it into the next release.

[QUOTE=onethirtytwo;108218]Is there any “documentation” on how to include express checkout, include “paypal” styling and work on the “wait for redirect to paypal” page? (Also in my version there is no button shown for manually starting a redirect).[/QUOTE]

Not sure what you mean by “include express checkout, include “paypal” styling”. The module implements express checkout. As for the redirect page, just edit v6c_redirectpost.tpl.

[QUOTE=onethirtytwo;108218]
Another issue i would like to state is, that “german” glyphs like ĂŒ,Ă€,ß are not transferred correctly to PayPal resulting in a 2 byte way - seems to be a UTF8-Problem[/QUOTE]

This may have to do with the german translations not having the right encoding originally. Do you have the latest? I’ll double check but the module already re-encodes strings according to PayPal Express requirements.

Hey spurvis,

thanks for your reply:

[QUOTE=spurvis;108157] Otherwise, add the following line to the top of the 2 deprecated functions in v6c_merchantlinkmain.php:

$oDB = oxDb::getDb();

[/QUOTE]

When I added

$oDB = oxDb::getDb();

to Line 120 and Line 145 of v6c_merchantlinkmain.php - I can see content in “6vC Modules>Merchant” Section.

But after clicking to install/update my Shop/Database crashes. I can’t open Frontend or Backend. I’m always redirected to 
/offline.html

Do you have any ideas?

@spuvis:

) I can’t really provide you with credentials as i am currently only having my absolute real and private ones active :slight_smile: please understand that i can’t really pass them on :slight_smile: But what i can do is provide you with proper information.

System: Oxid 4.7.0 /// PHP 5.3.10 /// DB UTF8
In the configuration everything works fine as long as i am not in “sandbox” mode. SSL is set to on.

As soon as i switch to Sandbox mode it creates this errors:
<br />
<b>Warning</b>: array_key_exists() expects parameter 2 to be array, null given in <b>/kunden/203623_70794/rp-hosting/7538/8538/oxidShop/OXID_4_7/modules/v6c_merchantlink/v6c_mlpaymentgateway.php</b> on line <b>479</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at MYDOMAINPATH/oxidShop/OXID_4_7/modules/v6c_merchantlink/v6c_mlpaymentgateway.php:479) in <b>/MYDOMAINPATH/oxidShop/OXID_4_7/core/oxutils.php</b> on line <b>1129</b><br />

ticking the sandbox mode off will result in a working payment solution :slight_smile:

BUT!!! there is correct feedback on the “content” of the page itself
 so it tells you that anything went wrong with payment on paypal side
 so it is just the error that is annoying!

but i guess this will afterwards also be solved if you really insert additional fields for sandbox mode credentials.

Regarding translations /// language file
 i have your most current version out of github. (or maybe you can post the link to the most current version).

With “documentation” i just meant on how to include buttons, 
 within the templates
 but i guess this is kind of unneccessary
 and as i am pretty new into “payment things” i always thought that “paypal express” is kind of extra method / or something like that
 I just have one payment method now “credit card & paypal”.

and i do have another thing to report


within your config you are “deactivating” the top or side mini basket during checkout. these commands seem not to work in 4.7.0 (or at least in my installation).

regards

One other thing i accomplish now is that the module deactivates itself every now and then
 And i don’t find anything in the logs about that. If i reactivate them payment runs fine
 after logout/login into the admin the module displays itself as deactivated


Hello.

I have a problem with this module. Now I use Oxid version 4.5.2
I install module, but it does not work.

When I go to paymant I see message:

"Ein Fehler wurde verursacht, bevor die Zahlungsinformationen eingeholt werden konnten.

Sie können versuchen, den Weiter-Button unten noch einmal zu benutzen, sonst versuchen sie es bitte spĂ€ter noch einmal. Wir entschuldigen uns fĂŒr diese Unannehmlichkeit."

Error in file v6c_mlpaymentgateway.php line 395:

“if (array_key_exists(‘TOKEN’, $this->_aGatewayParms))
{
$sUrl = $this->_v6cIsTestMode() ? ‘https://www.sandbox.paypal.com/’ : ‘https://www.paypal.com/’;
$sUrl .= ‘cgi-bin/webscr?cmd=_express-checkout&token=’.$this->_aGatewayParms[‘TOKEN’];
}”

$this->_aGatewayParms = null and I dont know why.

Can anyboby help me?