User is not allowed to perform this action - json

Our platform is trying to create a feature so that a seller can refund a paypal transaction after 60 days. To do this our thought was that we would use the adaptive payment feature and simply ask paypal to send money from seller to buyer.
We created an application, and in the sandbox we have everything working. When we move to production we get this response below.
{"errorId":"550001","domain":"PLATFORM","subdomain":"Application","severity":"Error","category":"Application","message":"User is not allowed to perform this action"}]}
The question is, "How does the seller authorize our platform?" Do they need to check a box in their Paypal account?
What's a bit confusing to us, is that we are testing with our own 'seller' account which is of course a valid Paypal account.
Furthermore, we are doing a simple implicit approval. We did notice that in our application registration we are 'conditionally excepted'. We read that simple payments should work fine, it is only the chained payments that require specific approval from paypal.

Related

How to instantly know if payment was successful using recurring payments?

I am implementing recurring payments on a website through SetExpressCheckout and CreateRecurringPaymentsProfile.
Since it's being used for giving a user access to the member's area, I would need to know right away if the initial purchase was successful. Right now, CreateRecurringPaymentsProfile always returns 'Success' and profile status of 'Active' or 'Pending', and only through the IPN will I be able to know if the first transaction was successful or not. So the mechanism seems to be asynchronous (as opposed to Paypal's single transaction system).
Is there any way to know right away (synchronously) if the first payment is successful so that the website can let the member know if he/she has access to the member's area or do we have to tell the user that his/her access is pending verification or something like that?

Check if payment received paypal?

I am making a website where people will buy things. What I am wondering is if there is a way to check if payment was received in paypal, and then execute some code. Or should I add a paypal widget where when payment is done then it executes some code? This is all being done in HTML and CSS being it is a website.
Take a look at Instant Payment Notification (IPN). Any time a transaction hits your PayPal account their server will POST the transaction data to a URL you specify. Your script receives the data, verifies it with PayPal to ensure it actually came from them, and then you can process that data however you need to.
This gives you the ability to update your own database, send out your own email notifications, hit 3rd party web services, or anything else you want to automate when transactions hit your account. This works for payments, refunds, disputes, etc. so you can automate lots of tasks. It happens in real-time, too.

When does Paypal send subscr_eot?

can we rely solely on subscr_eot to activate/deactivate an account?
Assume we have the following scenario:
On 9/16, a customer pays using Paypal for a monthly recurring
service.
With 24 hours, Paypal sends "subscr_signup" and
followed by "subscr_payment". At this time, the application will
grant the user access.
??
The question, will Paypal send an EOT before attempting to collect the payment on 10/16 or would it send it before?
Thanks,
subscr_eot means that the subscription has expired, either because the subscriber cancelled it or it has a fixed term (implying a fixed number of payments) and it has now expired with no further payments being due. It is sent at the end of the term, instead of any payment that would otherwise have been due on that date.

How to create multiple payment options

I am looking to implement a donations form on a political party website, but rather than using the default single "Donation" button I would like to have a menu with multiple payment options, much like the form found here: https://www.oaklandgop.net/donate.
I can't seem to find this option on the PayPal's basic button creator, so I'm assuming this must be done with custom HTML? Sorry if this question has already been asked; I wasn't able to find any relevant answers on the forum.
Thanks,
Justin
You wont find an option like this for the basic button creator. If you are wanting to accept the credit card information on your site, you would have to use Pro. There wouldn't be a problem with collecting any of the other information as the form would be on your site so you could ask for what every infomration you want.
If you use standard, you can collect the information on your site and pass it over to PayPal during the payment flow. However if you are using standard, you would also need to redirect the buyer over to PayPal to enter in their credit card informatioin and make the payment.
You do have a few other options as well. For example you could use Express Checkout. With Express Checkout the buyer would have to enter in the credit card information on PayPal's page or log into their PayPal account to make a payment. However, you could set up the flow in the following way. The buyer selects the amount that they wish to make a payment for. You make the SetExpressCheckout API call and get your token back. You redirect the buyer over to PayPal where they enter in their credit card information or sign into their PayPal account and agree to the payment. They are then redirected back to your site, where they fill in the rest of the information, and then you execute the DoExpressCheckout API call to complete the payment. You could also collect the information up front as well.
There are also hosted pages you could use as well to do something similar to this as well, but if you are wanting the buyer to enter in the credit card information on your site and keep this all in one form, your best option would be to use pro.

"callback" from PayPal to confirm payment?

I have a very simple online ordering app in Perl. The user fills in a form, and when they submit, my app inserts the info into a mySql database, then redirects them to PayPal to complete the payment. The problem is that the database does not have any information about whether they actually completed the payment. I end up having to manually reconcile a report from PayPal with my database to confirm payment for each order.
Is there anything like a "callback" from PayPal, where I could provide PayPal with a unique identifier for the order and PayPal could send back that identifier as confirmation that the order was paid, preferably through an HTTP request back to my server? Then I could update the order in my database with a "paid" flag.
yes, that's pretty much exactly how it works.
Instant Payment Notification
check out Paypal instant payment notification