Why PayPal IPN work on Simulator, but not working on sandbox? - paypal

I made a copy of this script on my server. And when I test it on IPN simulator in the developer panel, and everything is fine - I get emails and the logs are saved. But when I try to test the same script via sandbox facilitator account, the script does not work. I added the URL of the IPN script in the settings and I'm testing as buyer account.
Tell me please, what else can check?

You need to make sure you've configured the SELLER sandbox account you're using with the IPN URL that you are testing.
Also, make sure this is not getting overridden by the PayPal button or API integration you are testing with. For example, the Notify URL parameter can be used to specify an IPN URL in payment requests, and this would override anything set at the account level.
If you have the URL set properly, and you don't have an override, it should hit that URL as expected. You can check the IPN History of the sandbox seller account to verify whether or not IPNs are getting sent.

Related

PayPal Express Checkout in Sandbox leaves transactions 'Pending'

I've integrated PayPal Express Checkout using the method at https://developer.paypal.com/docs/checkout/integrate/#1-set-up-your-development-environment , with the JS SDK.
Everything works fine and I am able to create a button with the amount and the transaction succeeds. However, I don't see the money coming into the sandbox business account. I do see the transaction on the sandbox personal account, but it's pending on approval from seller, which I don't see there.
Not sure if this is sandbox behaviour or if I have something wrong.
The src script which I load is:
https://www.paypal.com/sdk/js?client-id=${clientId}&currency='CAD'&disable-funding='credit,card,bancontact,blik,eps,giropay,ideal,mybank,p24,sepa,sofort,venmo'
Any help would be appreciated.
The most likely problem is that the receiving account's email address is not confirmed in sandbox.
To check, navigate to https://www.sandbox.paypal.com/businessprofile/settings/email , log in with the receiving sandbox account, and resend any necessary confirmation message
To open the confirmation message, log in with your live developer account at https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fnotifications%2F and follow the link there to do the confirmation

PayPal ExpressCheckout - You do not have permission to make this API call

I have integrated a simple online form that demands some input from the user and has the item and pricing information in hidden fields.
After the user verified his inputs he hits the button to pay with PayPal and will be redirected to PP where he can pay instantly.
The PP URL is
https://api-3t.sandbox.paypal.com/nvp
for the sandbox and
https://api-3t.paypal.com/nvp
for the live environment paypemnt.
In the sandbox everything works fine when I use the sandbox credentials. After I set the URLs to live, changing the API credentials to the live credentials I am receiving the error
You do not have permission to make this API call.
I have tested and verified the following:
the PP account is a business account and verified
the form has been checked and approved as PP app by PayPal
the form uses the correct API credentials
set "Accept payments from your shop before configuring an API" to "YES" and saved it with the submit/save button
checked the http request parameter live and they are looking fine
The error occours after sending the parameters from setExpressCheckoutData().
Now I am confused. I've red some infos to set MODE "test" to "live" at the end of the cart but don't know exactly what that means.
Please help.
Found the reason and fixed it.
Removed the parameter "subject" from the request data. If this parameter isn't passed (I think it is necessary for Unipay only) the ExpressCheckout works fine.
In the sandbox it doesn't matter wether to use this parameter or not.

Not receiving any IPN post for sandbox account

I'm using sandbox accounts to test SetExpressCheckout and DoExpressCheckout methods. However, I'm not receiving any IPN notifications.
My PC has public IP and firewall is off, so I'm expecting IPN posts but none are coming. Is there anything I should do (e.g. any profile settings) to start receiving IPN? (I'm using the Java SDK and passing the notify_url as parameter)
I'm also checking the "IPN History Page" from PayPal.com and I do not find any data there. Am I supposed to find IPN data in this page even if I use the sandbox accounts?
Thanks for your help
EDIT: I solved the problem by transfering my code to another server. something must have been wrong with my public IP.
Make sure you have IPN enabled in your test Sandbox PayPal account. Also, you will not see IPN messages in your PayPal account if you are going to www.paypal.com. This would only be for live IPN messages sent through your live account. If you are wanting to see the IPN messages for your sandbox transactions, you would need to log into the sandbox seller account and view the IPN messages from there.

Can't login Paypal sandbox account inside sandbox

i'm having troubles trying to get IPN work inside my sandbox.
I have a developer paypal account and i imported 2 sandbox account. Now i suppose to have 2 ways to test IPN:
IPN Simulator
Setting my IPN address in sandbox options
but i have problems in both of them.
If try to use the IPN simulator everytime i try to send an IPN page starts loading for some minutes and then Chrome gives me a "empty page response" response. After some googling it appers IPN simulator have some problem with non standard ports but my page can run only on port 12000. My page is reachable, i checked from inside and outside my network, it works for all except the ipn simulator.
I have no more luck trying to set IPN address on sandbox, simply because i have no settings at all to access. I logged to sandbox and got a page where i'm supposed to login with my sandbox account, but i get a different login from mine on the upper right corner of the page (thats the original sandbox account, now that sandbox and main account are merged all this mess happen) and when i try to login with sandbox account i get a generic
This sandbox mail is not available. Try another mail address
If i try to create a new sandbox account i always get this error:
We're sorry but something went wrong.Please delete this account and
try again.
So.. i'm basically stuck. What i can do to test my ipn now?
edit for be more clear:
i used to have a sandbox and a main paypal account, now they are merged
i login to both sandbox and developer section with my main account now
even if logging in sandbox with my main account i get logged as my old sandbox account
after this first sandbox login if i try to log my sandbox account (listed in developer.paypal.com) i get that "Sandbox mail not available" error
in developer.paypal.com i can't create any new sandbox account, getting error everytime. I found that you got that error if password is not 8-20 chars long and now i'm using a correct lenght password but i'm still getting that error
edit2: i successfully created a new sandbox account!
to get that i had to:
use an US account (i was using italian)
use password with: uppercase, lowercase, special characters, numbers
initial balance import < 1000 usd
but i still can't login this account inside the sandbox, always same error. I'm hating this.
Non-standard ports really are not supported at this time, so you'll run into a myriad of different issues over time. The initial IPN delivery may work, but the re-sending of a single message may not, etcetera.
Can you use something like http://progrium.com/localtunnel/ perhaps?
With regards to the account creation:
For discussion's sake, let's stick to the right terminology; you use a developer account to log into https://developer.paypal.com/, and a Sandbox account to log into https://www.sandbox.paypal.com/
Is the account you're trying to log into via www.sandbox.paypal.com a Sandbox account listed under Applications > Sandbox accounts?

PayPal isn't sending IPN to my handler?

I have an IPN handler, but it seems it isn't getting any IPN's from PayPal. When I hit the subscribe button, my payment goes through, but my IPN handler doesn't get any requests.
I tried invoking via Firebug's javascript console by
$.post('http://mysite.com/ipn', {'foo': 'bar'})
and I can see in my logs that the request is received (although my handler fails, as expected).
Debugging IPN is hard unless you follow the rules:
Check that the IPN URL domain resolves correctly to an external IP
Ensure that the URL is accessible from outside of your local network
Do not expect to use echo or print for debug - log everything to a file.
Create a "sandbox" account for a buyer and a seller so you can to test from both the seller and buyer perspective. Read the PayPal sandbox user guide.
Make sure you follow all the directions in setting up a sandbox test environment, including the addition of fake bank accounts and credit cards.