Paypal Express Checkout not sending money now live - express

Please help. I have recently updated the paypal express checkout system on my website (where it leaves the website to go to paypal for payment, then returns).
It was all working fine in sandbox. I went to put it live, and I have found the correct API credentials, but it won't work.
It takes me to the paypal page fine. It takes payment and returns me to the payment return url. All fine. But no payment actually moves anywhere.
What am I doing wrong?!
Thanks.

It takes me to the paypal page fine. It takes payment and returns me to the payment return url. All fine. But no payment actually moves anywhere.
From you declaring that, it seems that you are either not performing the DoExpressCheckout API call, which is the call that moves the money, OR you are getting an error with your DoExpressCheckout call. The flow and error codes for Express Checkout can be found here.

On PayPal pay attention to the button text -
If it reads "Agree and Pay" - then you have configured PayPal to take payment
If it reads "Agree and Continue" then you have only set up the transaction but PayPal is waiting for you to send a confirmation to take payment (there is no DoExpressCheckoutCall)

Related

How to get payout using PayPal API, with only batch_sender_id

Sometimes the PayPal API fails to give back a payout_id but still processes a payment (i.e. because the server is down).
I have some payments that I would like to fetch information for, but only have the batch_sender_id (the id that I gave each payment).
Is there a way to get the payment information with PayPal's API? There doesn't seem to be a way to fetch payments without the payout_id.
Resubmit with the same batch_sender_id, it should return html code 400 with a link to the resource that contains the previously submitted request. So before making a request to PayPal be sure to store the batch_sender_id so you can re-request later if you do not get a response.

Get transaction details in real time, Paypal

I am creating a website and instead of using a fully featured shopping cart I want to use the Paypal API to "automate" some functionality.
By that, the user clicks on the "buy now" button goes and makes payment to paypal, and I want them to be redirected back to my site so I can process some info for my database. I looked into IPN but it seems like an overkill. Is there any simpler way of doing it?
You should look at either IPN or Express Checkout.
If you are using web standard payments it is important to note that a customer does not have to return to your page, once they hit pay on the Paypal site - the transaction is complete. Hence relying on them to return to your page to do a database update is a bad idea. This is where IPN comes into play.
Express Checkout gets around this by allowing the customer to authorize on Paypal and complete a transaction on your site. Passing the data directly to your site once the transaction is complete.

Confused as to which PayPal api to use for generic payments?

I'm building a small cart app in PHP which needs to have PayPal integrated into it for payments.
Checking the PP developer site you get 100 different APIs for every kind of job, however there is no clear answer as to which is the GENERIC API I should use to accept payments in the classic manner most webshops implement:
1. Client clicks pay
2. Redirected to PP site where he is asked to login.
3. After login he is presented with confirmation, he clicks OK.
4. Browser redirects back to my cart which presents user with a "Thank you" message, order code etc, while in the background a request is sent to my cart with the transaction credentials (transaction id, success status etc).
By the way, I'm not looking for Express Checkout since in this case PP provides the shipping info.
You could use the DoDirectPayment API to process payments. This will keep the buyer on your site, and they will enter in the information on your site. Then you will pass the details over to PayPal through an API call, and PayPal will then send the response back to you if the payment is approved.
If you are not wanting to use the DoDirectPayment API and are wanting to direct the buyer over to PayPal's pages to complete the payment but do not want to use Express Checkout, you could use PayPal Payments Adv/Payflow.
Express Checkout is what you want. Shipping info can be set on your end or Paypal end. It makes no difference.

Paypal ipn processing and dropdown option/price buttons logic

I read lots of post from various sites including paypal documentations. But I have some quesitons wihch I couldnt solve those. One of them is that how to design the codes after receiving the ipn message. Ofcourse I make my code I am able to optain and process the variables of message. like payment status and I am able to save them into database. But the point is that how should I desing the code to control the payment to overcome my requirements. I know the post become long but I feel the need of this explanation. So I have a site which works with membership with payment. Site is check after login the membership trial is expired or not if it is expired it shows a div in fornt of the site wihch includes the paypal buttons and redirect to paypal payment screen when button is clicked. User shodul have ability to choos membership period like 6 or 12 mounths (by dropdown paypal button). When the user finalize his payment ipn is trrigerd and I get the datas but all my members dont have to have a paypal account so they can use therid credit card directli and if I understand correctly the transfer of money can take some time to be recevied by me. Which time interval I should set the members approved flag is true ? I am confused about this. If I approve him after ipn is sent is there a possibility an error can occure while transferring me. How the process works.
other problem is the dropdown button. when I set option/price button when I click the button an error page is shown after redirecting to my selling page. It does not redirect to the payment page.
Realy sorry for my long post but I dont know how can I descirebethe situtation in a short way
If you need to wait until funds are available, you should test the value of "payment_status" in the verified IPN message for "Completed".
An eCheck can take from 3-5 days for collection (sometimes longer; you can see the estimated hold time in your account) and has payment_status="Pending". Once collected, you will get another IPN message with "Completed".
Note that the user never sees the IPN process. Normally you set up the conditions (in a table or something that is persistent enough), then send the user to PayPal. When the user comes back from PayPal, your code (at the "return_url") checks the table to see if Payment had completed successfully (perhaps a flag, which was set by your IPN handler code that is called by/communicated with PayPal when the user leaves PayPal gracefully).

About paypal express checkout api

In this picture,there are 3 main steps:SetExpressCheckout,GetExpressCheckoutDetails and DoExpressCheckoutDetails,I'm now sure SetExpressCheckout is to be called by myself,what about GetExpressCheckoutDetails and DoExpressCheckoutDetails,is it called by paypal or by myself?
The api is provided to be called by non-paypal I think,but the problem is seems it's redirected to paypal after calling SetExpressCheckout.
(source: paypal.com)
Yes, you are expected to be the one calling these APIs. After you call SetExpressCheckout, you'll get a token back that represents the checkout you're performing. You'll need to use that token and redirect the user to Paypal to approve the payment. After they approve it, Paypal will redirect back to your site and then you can call GetExpressCheckoutDetails and/or DoExpressCheckoutPayment. The GetExpressCheckoutDetails call is useful for getting things like shipping address, etc, since the buyer can set that stuff as part of the approval flow. Once you have all the info you need, the buyer has approved the payment and you're ready to get paid, then call DoExpressCheckoutPayment to get your money.
See the ExpressCheckout docs for an example of a simple integration.