Recently I have created my e-journal’s website with OJS 3.1 (Fresh installation).
I have configured my Distribution Settings -> Payment -> Paypal Payment Settings
Created a Rest API in Paypal and placed every detail under Account Name, Client ID and Secret. But the paypal payment is not working. Everytime when someone tries to make a purchase it shows a blank screen.
Please help me. I there any problem with the Paypal plugin ? I have also used OJS 2.8 but there was no issues like this and everything was working fine.
Have you checked your PHP error log? A blank page typically means something is captured there.
If you see something like...
PHP Fatal error: Interface ‘Symfony\Component\EventDispatcher\EventSubscriberInterface’ not found in /var/www/vhosts/my_domain/httpdocs/plugins/paymethod/paypal/vendor/guzzle/guzzle/src/Guzzle/Http/RedirectPlugin.php on line 20, referer: http://my_domain/index.php/EI/user/register?source=%2Findex.php%2FEI%2Farticle%2Fview%2F16%2F14
...you may be running into https://github.com/pkp/pkp-lib/issues/2996.
Related
I am trying for the first time to implement a PayPal Checkout solution (aka PayPal Commerce Platform for Business) in an ASP.NET Web Application, using Web Forms. I've set up a new REST API for the Sandbox and followed PayPal's Set up server-side SDK guidance to install the SDK in my .NET project. PayPal's button demo now lets me log into the Sandbox with a newly created Sandbox user name and make a test payment, which is confirmed as being successful. So far, so good.
My next step was to create a PayPalButton.aspx page containing exactly the same code as used on Paypal's button demo page. All my updated code was then uploaded to my live site. That's when I hit a problem, as the PayPal buttons don't work on my live site (the PayPal log in window just briefly flashes and then disappears). Being a total newbie to the Paypal Checkout process, it's highly likely that I have made some very basic error.
The only thing I can think of is that my problem might have something to do with the section in Set up server-side SDK that refers to modifying HTTP request headers? I didn't understand what that section was asking me to do.
What routes/paths did you implement the create order and capture order functions at? What data do they return? Update your question with this information. For the create order route, is the data a valid JSON object with a PayPal order ID in the id key?
Have you set the paths in your "PayPalButton.aspx" HTML/JS code to call the aforementioned routes? Your question does not include any specific information about what is going on, i.e. your button code and the result (Response body) of the fetch calls from the browser's developer tools 'Network' tab.
This morning, I managed to resolve the problem with my PayPalButton.aspx page just briefly flashing the PayPal login page. As previously mentioned, it contains a script copied from PayPal's button demo. I then realised that it was different from the sample script provided on the Integrate Checkout page.
I created a new PayPalButton2.aspx page containing this alternative script and, unlike PayPalButton.aspx, it worked fine. In both cases, I had substituted my own Sandbox ClientID.
I was working with paypal sandbox account. It was working fine. But, now it shows the following error.
The cookies are enabled. I tried using different browser and a different computer. Still I'm getting the same error. I tried clearing the cookies and cache. But it didn't work. Any solution?
Please turn on cookies to check out
This is a Paypal's issue which affects Express Checkout on the PayPal Sandbox. Paypal announced that there is no alternative workaround at the moment.
Reference: https://www.paypal-notify.com/eventnotification/event_details?eventId=6109
This works for me: Paypal Sandbox Frustration
To simplify:
Login first your developer's account here: http://developer.paypal.com
Open another tab and login your developer's merchant account here: https://paypalmanager.sandbox.paypal.com/apiAccess.do?subaction=api
Open another tab again and do your express checkout process.
To add an experience : In the beginning I had serious SSL issues when connecting to sandbox for a SetExpressCheckout:
The type of error was javax.net.ssl.SSLHandshakeException Error
To bypass this error (never happened before), i added the api-3t.sandbox.paypal.com certificate to my java truststore.
After that, the setCheckout responded correctly with a valid token, but I run into the 'cookie are turned off' problem, for almost 8 hours now. None of my websites is working with the sandbox environment.
I think nothing can be done until PayPal make things clearer with some announcement.
My application uses the SetExpressCheckout paypal classic API method. It is working fine when I use real accounts in a live environment.
It used to work fine using test accounts, but some weeks ago it has stopped working right. At some point, my application calls the "SetExpressCheckout" API method using curl in PHP. When I use the test seller account that I've always used for my tests, I always get the following error:
SetExpressCheckout API call failed.
Detailed Error Message: Security header is not valid
Short Error Message: Security error
Error Code: 10002
Error Severity Code: Error
I know that paypal has recently restructured its "developer network", and the issue seems to be caused by this but I have no proof of that. The API I used is now called the "classic" API.
I've read the documentation, and it says that I now have to create a new "real" paypal account, and then use it to log to https://developer.paypal.com. I did that.
Once logged to the developer website, there is a feature allowing us to import all the test buyer and seller accounts used in an old sandbox account. I did that, and my old test accounts appeared in a list.
One of them is the test seller account I used to test. When I check the details of this account, the username, password and signature used to authenticate to the paypal API are there. If I use them, it still returns the previous error.
There is also a feature allowing me to create test accounts. I've created a new seller, and still, I get the same error message.
When I search on google about this issue, most answers says that the username, password or signature are wrong or have hidden white spaces in them. That's not my case.
I don't know how to solve that problem. I am wondering if the API endpoint has changed. I currently use "https://api-3t.paypal.com/nvp" for tests. I am using the NVP API, version 64.
To make it short:
1) My test account used to work
2) The code has not been modified
3) Real accounts used to work and still work.
4) But test buyer account has stopped working
5) The issue chronologically coincide with paypal "developer network" restructuring.
6) I don't know what has changed exactly and might cause this.
7) Does anyone know what has changed and might has caused this (a new parameter in the query string? Endpoint URL changed?)?
8) According to my previous description, do I seem to have misunderstood something, and what?
I currently use "https://api-3t.paypal.com/nvp" for tests.
That's your problem. You're using test credentials, but the live API endpoint.
Change your endpoint to https://api-3t.sandbox.paypal.com/nvp and all should be fine.
Security header is not valid means that your credentials are incorrect. I've never once seen that error where this wasn't the case.
You need to make sure that if you're using sandbox credentials for testing that you're hitting the correct endpoint and using the correct credentials.
Lots of times people accidentally have sandbox credentials set but then send them to the live endpoint or visa versa. If you're hitting the correct endpoint and your credentials are indeed correct you won't get this error.
I am using the PHP Toolkit for PayPal v0.51
I have setup Pay Pal sandbox accounts and done a test to the ipn.php that comes back as working ok.
I have set the config.inc.php to suit my settings
PHP Version 5.3.3-7+squeeze15 mysql and cURL installed all is working fine.
When using with IE
everything works fine, the transaction is returned to the success.php and in the ipn_success.php
I have it updating the database with the information posted back from Pay Pal.
When using Firefox
Everything works fine till I get to the part where it returns me back to the success.php
I get a Security Warning box open up with the below information within it.
Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party.
Are you sure you want to continue sending this information?
If I click the warning straight away I get the information posted back and the database is updated.
If I leave this warning for a few seconds, I lose all the information that is posted back to the site for the database.
How can I stop this security warning from showing when using Firefox
The website is using http and not using https so Pay Pay is posting back to a non ssl site.
This is actually a known issue with FireFox that we are currently looking into. If you would like to be notified once the issue is resolved, you can open up a ticket with PayPal's Merchant Technical Support. PPXO-7400
Since PayPal changed their website for developers I can't use it anymore. Before I had some test accounts setup and I was able to go in, create buttons and so-on. Now I have imported my previous accounts but I can't log into them, just getting The requested resource () is not available. 404. If I clear browser cache and cookies, it just tells me to login (using my developer-login details, not the test details) and I can't come in. Their support says clear cache and it works... Stupid PayPal.
Anyone knows what to do?
I tried to update Chrome and Firefox to latest versions and then cleared all cookies/cache then logged into developer account and then tried to login to test accounts.
I always get this 404 message: http://snag.gy/rL5t2.jpg
HTTP Status 404
type Status report
message
description The requested resource () is not available.
Apache Tomcat/5.5.15-150
We're aware of this issue and are working on getting it resolved as soon as possible. In the interim, you can manually remove the '/se/' from the URL included in the screenshot, which will bring you to the correct page (https://www.sandbox.paypal.com/webapps/mpp/home).
Sorry for the inconvenience. We'll get this fixed soon!