PayPal IPN doesn't reach EC2 tomcat - paypal

I'm trying to get IPN to my site, hosted on Amazon AWS EC2. The web server is Tomcat 7. Using PayPal sandbox.
The site has a Servlet or JSP to get the request.
When I set the IPN URL to my local machine (using IP address) it works, but setting it to the public site doesn't.
It doesn't matter if use site name or IP address, servlet or JSP.
In the access log I don't see any request for the IPN URL.
IPN Simulator with the IPN URL works.
in AWS ports 80 and 443 are opened for all IP range (0.0.0.0/0).
I think I checked everything, so I'm totally lost right now.

This was resolved after installing Linux updates and restarting the server. I don't know why, but SSL certificate did not work correctly before the updates and/or reboot

Related

SMTP Mail Service is not working in AEM 6.4 (Service pack 7) - Invalid mail service configuration

We are trying to send email from an AEM Service using MessageGatewayService API. The weird part is, it is working on all lower environment and including in our local aem instance but it is not working only in Live servers. We verified the below things
Verified org.apache.sling.healthcheck: smtpMailService service
(/system/console/jmx/org.apache.sling.healthcheck%3Aname%3DsmtpMailService%2Ctype%3DHealthCheck),
it says “The E-mail Service appears to be working properly. Verify
the health check e-mail was sent to [ healthcheck#example.com ]”
Verified that the smtp host is open with port number using telnet from both author and publish servers
Restarted Day Communique 5 Mailer com.day.cq.cq-mailer bundle
Error Message:-
com.day.cq.mailer.MailingException: Invalid mail service configuration.
at com.day.cq.mailer.impl.DefaultMailService.send(DefaultMailService.java:270)
at com.day.cq.mailer.impl.DefaultMailService.send(DefaultMailService.java:45)
Is there any additional configuration to verify?
This problem got resolved after restarting AEM servers

Oauth2 - Redirect url to iis on Server 2012 R2

I use Oauth2 to access a database in a cloud.
The code is developed in .net core 2.0.
The redirect urls are:
"AuthRedirectUri": "http://localhost:44378/auth/callback", "PostRedirectUri": "http://localhost:44378/myapp/Index",
I get connected to the database when the app runs on the visual studio (iis express). However, when the app is published on the local server (Windows Server 2012.R2) I receive an "invalid request" message from the third party web app. The published app is on http://localserver:80/. The solutions I have found in the web are redirecting to the localhost which doesn't work in my case.
Which hostname/port should be used to receive the callback code on the server? Shall I change anything in the iis or the server?
The solutions I have found in the web are redirecting to the localhost which doesn't work in my case.
Which hostname/port should be used to receive the callback code on the server? Shall I change anything in the iis or the server?
As far as I know, the redirect url should be your application's domain or IP address which could be access by someone outside your server.
Normally, we will use your server's public IP address and add your IIS application's port as the url(If you have the domain, you you should bind this url with domain address).
I suggest you could find this url and access from internet to make sure you could access the web application.
Then you could use this IP address and port plus sepcial fomat as the redirect url.

Configure Paypal Sandbox ReturnURL with localhost

I'm trying to insert http://localhost:4000/api/myroute as returlURL
on https://developer.paypal.com.
Paypal displays this message :
We are sorry something went wrong while saving application please try again...
So, localhost seems be forbidden but the last week, it's was ok.
How can i enter localhost url ?
Please, do not answer me the 127.0.0.1 solution.
"localhost" to PayPal's server, is themselves, so if they tried to redirect to http://localhost/whatever, it would just go right back to their own server, and that URL most likely wouldn't exist, and you'd end up with a 404 at the PayPal server.
If you want to test on your local server you're going to need to setup DNS to point some sort of a domain to your public IP address there, and make sure your web server is configured to answer to that domain as well.
For example, your site might be www.domain.com. Lookup your public IP address there, and then create a DNS record for domain.com that points sandbox.domain.com to your public IP address there.
Then you can use http://sandbox.domain.com anytime you need to work with PayPal (or anything else) and it'll work the same as "localhost" is for you now, but 3rd party servers will be able to communicate with your application as expected. This will also allow you to have other people on different networks test/demo the site with you.

paypal REST endpoint

Iv been working to intergrate the paypal REST API into a web application, its now time to change from the sandbox endpoint to the live endpoint, but iv hit a snag, it seems like the live endpoints have dropped from the face of the earth. the sandbox environement works, api.sandbox.paypal.com and i can reach it via ping and so on,
but not api.paypal.com which is the live endpoint according to developer.paypal.com/webapps/developer/applications i can not even ping the live server, both from my local development environment and a cloud server instance. im i doing something wrong?
Edit:
solved, see comment

How to configure an Internet mail server to use with IIS website

I am looking for a little direction to my problem. Short story, I have a website hosted on a web server. I pay a yearly subscription. This year I am planning on taking it off and hosting it internally. I already backed up, restored, and installed all necessary components (on Windows BTW with IIS, PHP, and MySQL). The site works great internal and by IP address externally through a firewall. (IP address for now until my web host subscription expires, then I will forward and register DNS).
But now this is my problem, my website has email functionality which works on my providers server. I want to install a local mail server for my website that will wind up sending and receiving emails through my website. I am lost here. No sure which path I should take. I have installed and used Exchange 2003 in the past just for internal domains, nothing for internet AND internet.
Anyone with ideas, links, suggestions? I see that IIS does support SMTP virtual servers, is this a possible route? If so, what about POP3 or IMAP (incoming) server solutions?
Thanks
Edit
---Update On Situation---
So far I have configured a local exchange server that works with my local webserver. I then created a CNAME in my web host DNS zone for my IP address. I created a simple subdomain for my site redirected to my home web server. Everything works great, internal email through Exchange 2003 from website on IIS, redirected DNS names, almost there. Now I just need to create Internet Mail functionality in Exchange. Went through the Exchanges wizard to "open system" for Internet mail, created new SMTP connector and ....nothing for external mail test. Failed! Thought everything was configured properly. I also tried to open all ports on firewall, 25 and 110.
I'd recommend using something like PostMarkApp to send transactional email from the website, and use hosted email (Google Apps for Domains) for your email. Its a pain to run a real mail server.
Link to Exchange Internet mail SMTP connector configuration:
Configure Exchange Internet Mail SMTP Connector
Well, I did figure it out. I was on the right path and everything was working but I just configured my client wrong and my ISp blocked port 25, duh. CHanged port to unused 366. But here is a little tip for anyone that may need to figure this out in the future.
1)Setup install IIS with default SMTP and NNTP virtual servers.
2)Install Exchange into organization. Internal naming convention doesn't really make a difference between internal to externally if you are behind a firewall. Basically this means you don't have to create a seperate zone in DNS if using this for a seperate domain hosted elsewhere. Hope this didn't confuse anyone.
3)Right click on server name in Exchange System Manager and go to Internet Mail Wizard
4)If you want your clients to hold a different domain email address than your internal you can setup in exchange through
Exchange System Manager >> Recipients >> Recipient Policies
Then add a Masquerade in Default SMTP Virtual Server
5)Have a gmail Internet SMTP connector set to smtp.gmail.com as smart host with a gmail email account settings and TLS checked
6)Default SMTP VS set with outbound port 587 and TLS checked
If you need to change SMTP ports too, don't forget to change not just firewall but also inside Exchange.