I have a custom website with a custom shopping cart built in. I am using the Paypal API Standard Payments method to send the shopping cart information over to Paypal & then returning on a return URL to my order_process.php page. Once it returns to my website, the code updates information in our database to sign members up for events, give them a membership etc.
Everything was working fine until Paypal flagged our account due to the high increase in payments coming in within a short period of time.
I spoke with a supervisor over at Paypal & they lifted the flag from our account.
We did not change anything on our end but now the site is not working properly anymore. It sends the information over to Paypal, takes the payment successfully & comes back to our site.
Once it gets to the line in code
$result = execute_payment($_SESSION["payment_id"], $_GET["PayerID"]);
It crashes with an error: "Method PayPal\Api\Sale::getTransactionFee() does not exist"
I've spoken to Paypal numerous times and they keep saying they will call me back with no return phone calls. I've extensively Googled this error and cannot find anything on this topic. I'm at a lost of what to try next and this is causing a lot of disruption because we are processing a high amount of transactions. I switched the site over to a development domain and tried on Sandbox mode and am still receiving the same error message.
Any help at all will be greatly appreciated.
Our site has just started displaying this behaviour too, I don't understand what is going on. It was working perfectly this time last week.
Maybe there is a new version of the PayPal PHP SDK I need to download!?!?
Help!
-- UPDATE: found this on the PHP SDK wiki: "Seeing this error: 'Method PayPal\Api\Sale::getTransactionFee() does not exist' in paypal/vendor/paypal/rest-api-sdk-php/lib/PayPal/Common/PPReflectionUtil.php:73, Please upgrade the SDK to latest version v1.2.1."
See https://github.com/paypal/PayPal-PHP-SDK/wiki
I've downloaded the new SDK and am integrating it now. Will update when done ...
-- Another Update: Updated our test site to use version 1.2.1 of PHP SDK, and everything works fine against the sandbox. Not sure which language/SDK you're using, but might be worth an update?
I just spoke with an engineer over at Paypal. Apparently they updated some of their code and are aware of this issue. They are currently working on a fix to the problem.
Related
I got an email from Paypal saying (below). And I cant find anything to help me fix it, Im using the Opencart standard payment gateway called "PayPal Website Payment Pro iFrame" and I do not know how to update it. any help would be appreciated.
We are contacting you regarding a change that you are required to make by 30th August 2015.
PayPal has detected that you have hard coded the following Pro Hosted Solution URL in your code:(Had to remove link)
PayPal does not recommend hard coding. Instead, you should read the URL from the button creation API response.
If you must hard code this URL, you need to update it to the following: https://securepayments.paypal.com/webap ... ionProcess
You can find comprehensive instructions regarding the required integration changes on our Technical Support Help Centre: https://ppmts.custhelp.com/app/answers/detail/a_id/1231
Click the above link or visit the PayPal Technical Support Centre and search for article ID ‘1231’ or ‘Updating API Integration for Pro Hosted’ for instructions on ensuring that your payment processing is not interrupted when we stop supporting the current hardcoded URL.
Important: you must either read the URL from the button creation API response or update your hard code URL by no later than 30 August 2015. Otherwise, your existing hard coded Pro Hosted Solution URL will not be supported after that date.
If you require any additional support, our Merchant Technical Support team are on hand and ready to help. You can contact them by opening a ticket on ...
Thank you for your time.
I believe this is an issue in the code for "PayPal Website Payment Pro iFrame" which its developer needs to fix or provide you with a workaround. Have you contacted them regarding this issue?
I also posted the same question on the Opencart Forum, Another member just posted a workaround, replacing lines of code in the php file for that gateway.
find out more here.
http://forum.opencart.com/viewtopic.php?f=185&t=150542
We have used DoDirectMethod to credit card payment and recurring payment with CreateRecurringPaymentsProfile Method. But Some how i can not get error "This transaction cannot be processed due to an invalid merchant configuration.".
I found some solution for this :
1)I have problem like : Features that are not enabled for live transactions
2) If for use of REST API ,
I need to change my country then how can i change country or currency.
3) In paypal errorcode i found : Occurs when you have not agreed to the billing agreement.
- Then how can i agreed billing agrrement- need steps for it.
Please help me by providing steps of configuration or any other solution.
PayPal is confusing peoples/developers completely, i am also getting the same issue from one month on one of our client's website, i was used DoDirectPayment, and it works like a charm for test transactions, but as i make it LIVE it is was showing the same issue, i found that too, to performing transactions in LIVE mode we need to 'Enable' this feature for Direct Credit Cards, but many times i requested them (PayPal) to enable that feature, but all time they just received my Application Online and reponsed that it will take about 24 hours. I have also added extra information like SSN, EIN all that but they are so lazy or not active to do that.
At one point they are saying we need Website Payments Pro but i have not found a single link to register that, I found PayPal Payments Pro link at many sites and even in their site, these guys have a huge documentation on that website payments pro and dodirect method but not a single link how to register for that service or how they enable that feature for 'Live' mode.
And today i found they updated their developers site and make things a little different, also provided an extra method "braintreegateway" in order to process, and i tried that too using their sandbox account, its working with only PHP 5.4 and above, so old PHP version servers are unable to get that. And they also need to register your details at their end.
If i have already a PayPal Business account why do i need to register at every single method.
Sucked
I have integrated CCAvenue to my website done in php Yii framework .The transaction works perfectly in 95% cases but sometimes I'm getting an error like this.I have searched in google and ccavenue docs, but didn't find any clue.Please help me.
Error Code: -1
Error Description:Null+Pointer+Exception%21%21%21
Well am not so well versed with the scripting errors but I encountered this issue while making payment on one of the portals. Here is my observations on it.
While attempting to make payment using 'Master card', the error was frequent.
I tried adjusting the strings (like commas, space etc) in all the information I had filled but to no avail.
Hence I changed the credit card from Master card to VISA card and this change of card led to successful processing.
I wonder if this is in any relevance, with your query. But I assure you the error is same as yours.
I have confirmed that it's the problem with CCAvenue. There is nothing to do in our end.
I'm new to php and magento, I'm using the Braintree sandbox environment and everytime I go through the checkout at the point of submitting order I get a pop-up with this error -
There was an error capturing the transaction.
(Transaction declined: Credit card number is required.
CVV is required.)
Websites - http://www.coronafactory.com http://www.tvbedfactory.com
Though they were working before it seems to be effecting both sites, I have checked and cannot find any plugins that would conflict with this plugin, I was told by Braintree "it seems that the Braintree.js widget is being initialized, but the resulting object is never being used." "the file app/design/frontend/base/default/template/braintree/review_js.phtml not being included in your checkout form. This file has the javascript responsible for encrypting the form values and giving them the proper name."
I have put in debugging code 'alert('hello');' in the file with no luck, it seems to not be looking at that file at all.
Braintree dev here. In the event anyone else runs across this problem, here's what happened.
A Magento theme had introduced some errors in checkout.xml that prevented the form from rendering correctly. This in turn prevented the Braintree encryption javascript from triggering properly.
For any problems with a Braintree integration, don't hesitate to reach out to Braintree's Support Team for help.
I'm putting sagepay into a PHP powered site.
So far I've had no trouble integrating the Form into the site, their docs are great compared to paypal (mutter mutter)
However I noticed in the dev guide for form integration, they say you can't rely on sagepay sending the customer back every time as they could close the browser, or navigate somewhere else etc.
At the same time, I don't want to move everything out of the user's cart and into an order before I know it's been confirmed / payed for - otherwise if they cancel or the transaction fails somehow on sagepay's end, their cart will be wiped out when they come back, making retrying the transaction a pain for the user, and I will have a duff order polluting my database.
So what I want to know is if there is a way to get sagepay to send a request to the site when something happens with a payment, similar to paypal's Instant Payment Notifications?
EDIT:
Or are they only saying it's patchy because they can't garuantee it, but it works enough of the time to practically rely on it?
Sagepay (AKA Protx) form integration redirects the user automatically once the transaction has completed.
For small sites, i advise my clients to always check the sagepay transaction logs (on the sagepay site) before sending out any goods.
You should be logging the order before they go to Sagepay. Then changing it's "status" to paid when they get redirected back to your site. This gives you a bit more of a paper trail to pick up any possible issues.
If you want a more robust solution. Try Sagepay direct integration. It has more requirements and is harder to integrate but on bigger projects (where you can't manually check orders) it's usually required. Mainly because users can stay on-site without having to go off to Sagepay to make payments.