Jump to content
  • 0

Cannot Get Paypal Payments Standard To Work


Brashquido

Question

Hi All,

 

I have a verified business Paypal account and am having all sorts of issues getting the Paypal Payments Standard gateway to work. Payments are accepted and processed fine on the Paypal site after which the user is returned to my site, however the invoice never shows as paid and there is nothing in the gateway logs (have waited hours, now days). It's as if Paypal never tells Blesta what the status of the payment is.

 

Perhaps even more frustrating is that everything seems to work fine using developer mode. Upon paying an invoice with my sandbox account I am returned to my Blesta 3.0.6 site and can see the payments in pending mode (which I assume is where they are intended to stay in developer mode?). As soon as I remove my sandbox API credentials and put my live one back in, no payments work. I have re-entered (copy/paste) my API username, password and signature more times than is probably sane, as well as re-requesting new API credentials. Same thing every time, no details come back from Paypal as to the status of payment and there is nothing in the gateway logs. I have also removed all Paypal email accounts now apart from the one used in Blesta so that there can be no mismatch.

 

On the Blesta side it looks pretty straight forward. Not too many places to go wrong. Just wondering if there is anything other than the API credentials I need to ensure is in place on the Paypal side for it to work. One thing I have noticed is that the API username is based on the primary email account. The live API username I have is based on an email account no longer linked to my account, however the API username for the sandbox account I created a day or two ago is based on the email I actually use in Blesta. Could this cause an issue? I doubt it, but I am clutching at straws a bit here seeing as I've got no information it seems to go on.

 

Any assistance here would be greatly appreciated as it is driving me a bit nuts.

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Client's email address MUST be their Paypal email address for payments to be recorded, they are looking at a way to make it more friendly, I know how you feel, but i've been doing 80% manually for so long it's part of my day lol.

 

I put a notice on my cart warning customers.

					<div class="message_box" style="width: 94.6% !important;">
						<ul>
							<li class="alert error">
	    							<a href="#" class="cross_btn">×</a>
	    								<p>If you are paying by Paypal, your email address must match your paypal email address for instant orders, if your Paypal email address isn't the same as your client email, please allow our billing team a few hours to manually process the order.<br />We apologies for the inconvenience and hope to get this fixed soon.</p>
	   						 </li>
						</ul>
					</div>

Just under:

<?php
					echo $this->Html->ifSet($message);
					?>

In: /plugins/order/views/templates/standard/main_checkout.pdt

Link to comment
Share on other sites

  • 0

Check [Tools] > [Logs] > [Gateway]. PayPal must send the payment notification to Blesta and the address used for the notification must match that of your PayPal account in [settings] > [Company] > [Gateways] > [PayPal]. If you're behind a NAT or a local IP address PayPal may not be able to make a callback request to Blesta.

 

The client's email address doesn't matter.

Link to comment
Share on other sites

  • 0

Thanks for the replies. From what you are saying, it sounds as if this gateway should be as simple to setup as it looks.

 

I have checked [Tools] > [Logs] > [Gateway]. The only entries there pertain to the transactions I made using my developer API credentials. As stated I removed all email addresses from my Paypal account apart from the one specified in [settings] > [Company] > [Gateways] > [PayPal] in Blesta. I am getting payment notifications to that email address so it is definitely what is set Paypal side.

 

The fact my sandbox credentials work and my live credentials do not have me thinking this is a Paypal issue rather than a Blesta issue. Especially as the gateway logs show no communication for my live creds. I'll raise a ticket with Paypal and see how I go.

 

Thanks for the help.

Link to comment
Share on other sites

  • 0

It appears I was right. The support ticket I raised with Paypal has gotten nowhere yet, so in the meantime I created a new Premier account, generated the API credentials and put them into Blesta. All payments are now being processed as expected which is a BIG relief.

 

Still have a few questions however :)

 

  1. I am unable to issue refunds using these new API credentials. Would I be correct in assuming that this is because this is a new account and all payments go into pending before being available?
  2. Payments appear to break when I enabled encrypted website payments. Is there anyway we can use our own encrypted Paypal button over the one in the Paypal Payments Standard module?
  3. I would like to enable the Paypal auto-return option so customers are returned to my site without having to click a link. This requires me to define a return URL in my Paypal settings. Is the following URL correct, if not what should it be?

www.myblesta.com/client/pay/received/paypal_payments_standard/3/

Link to comment
Share on other sites

  • 0
  1. I would like to enable the Paypal auto-return option so customers are returned to my site without having to click a link. This requires me to define a return URL in my Paypal settings. Is the following URL correct, if not what should it be?

www.myblesta.com/client/pay/received/paypal_payments_standard/3/

 

Just www.myblesta.com/client/

Link to comment
Share on other sites

  • 0

Thanks for that. Though Paypal does not seem to return to my site if a payment is made using a credit card without logging in with a Paypal account.

 

After doing some reading it would appear that this is by design. I might use your method Michael to provide a link to some "How-to" information for getting back to our site after payment for those not wanting to use/register for a Paypal account.

Link to comment
Share on other sites

  • 0

After talking to Paypal support I now think my solution is a workaround rather than a fix.

 

Paypal support have informed me that they are not seeing any access attempts for my business account API credentials. They have also asked me to provide further evidence that the issue is their side or they will close my support call.

 

My problem is that Blesta is not logging anything at all for any transactions while using these credentials. Is there anyway I can turn on extra logging for the Blesta gateway logs so I see everything?

Link to comment
Share on other sites

  • 0

Non-merchant gateway payment requests are not logged until a response is received from the gateway since the user initiates the payment request in their browser. PayPal needs to send information regarding a payment to Blesta first, and then Blesta will ask PayPal to verify that payment afterward. It sounds like Blesta never gets notified of a payment.

Link to comment
Share on other sites

  • 0

Yep, I agree Tyson. Annoying thing is that Paypal have said they'll close my support call if I cannot prove this is the case. Just going to have to close that account I think and use my secondary account.

 

Surely they realize how difficult (if not impossible) it is to prove that something didn't happen. It is much easier to prove what has happened, and in your case, I think that would be for them to prove that after you made a payment to your account, that they posted the data to the notification URL (notify_url field) that was set. The notify URL is the URL to your Blesta installation followed by the callback URL, company ID, and payment gateway. By default, this is

http://yourdomain.com/callback/gw/paypal_payments_standard/

If the sandbox works fine, then I suspect that there is some configuration issue different between your live and sandbox accounts which leads to PayPal not posting data back to Blesta, although nothing else comes to mind that hasn't already been mentioned.

Link to comment
Share on other sites

  • 0

Surely they realize how difficult (if not impossible) it is to prove that something didn't happen. It is much easier to prove what has happened, and in your case, I think that would be for them to prove that after you made a payment to your account, that they posted the data to the notification URL (notify_url field) that was set. The notify URL is the URL to your Blesta installation followed by the callback URL, company ID, and payment gateway. By default, this is

http://yourdomain.com/callback/gw/paypal_payments_standard/

If the sandbox works fine, then I suspect that there is some configuration issue different between your live and sandbox accounts which leads to PayPal not posting data back to Blesta, although nothing else comes to mind that hasn't already been mentioned.

 

That fixed my issue: /callback/gw/paypal_payments_standard/ now all payments save.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...