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.
Related
Ok so I got the following problem with my Shopify shop: Because my shipping varies based on weight paypal does not show the shipping rate until after the customer has logged in and paid for it. It then gets send back to Shopify where it receives the message that it will be billed an additional $10 for shipping, which already got me some complaints.
So what I want is that it will already shows the shipping cost before the customer logs in and pays for it. I imagined that more people had this problem and perhaps found a solution to fix this?
Thank you
There are a number of ways to handle this with the PayPal system, but I'm not sure if Shopify is open enough for you to make any changes. You'll probably need to ask them how it's configured and see if you have any option to adjust it.
The standard flow for Express Checkout is that you would show the user their cart and any fees you've gathered at that point so you can generate the subtotal. Then you send them over to PayPal where they login and agree, and are then sent back to your site. Back at your site you would obtain the shipping address from PayPal and you could then display a final review page that breaks down any additional shipping, tax, etc. that might be applied now that you know their shipping address. No money would actually be charged until they approve this final review page.
In order to skip the additional review page on your own site, PayPal introduced the Instant Update API a few years ago. This gives you the ability to generate a web service that PayPal's review page will call and send the shipping address so that the service can calculate shipping and tax and return it back to PayPal. The PayPal review would then update accordingly so the buyer can choose their shipping option and see the grand total on the PayPal review page. That way they can finalize and would still be returned to your site, but you wouldn't need to show another review. You could simply show the thank you / receipt page.
I'm not sure if that first method I outlined is in fact what you're getting..?? It sounds like you're saying that Shopify is skipping the extra review, finalizing the payment, and then simply notifying the user that more money was charged than they agreed to. If that's the case, I would say that's very sloppy checkout design.
Again, though, as Shopify is a hosted solution, you probably won't have the ability to adjust this on your own. It's possible they have the Instant Update API available, though, and maybe you just need to enable it..??
You'll need to check with them for more details about your options.
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.
Is it possible to send all relevant details to including the paypal email and password to make a transaction in only 1 step?
From what I know, no you can't.
I have been playing with the api for the last week and here is what I've learned.
You can get the users information using PayPal Login API (use the token to process payments)
You can charge a credit seamlessly (without redirecting to paypal)
You can stored / delete / look up a credit card
You can obtain authorization for a payment (requires redirect to paypal site), then capture it later.
Complete Sale (redirect to paypal), confirm payment and complete sale
I am trying to find a way of sending email invoice via google checkout's API (and also in PayPal)
I can't find how. or at least how to generate a new order (money request)
thank you
From: http://code.google.com/apis/checkout/developer/Google_Checkout_Comparison_Part_I.html
Requesting Payment by Email Invoices
What is it? Email invoicing lets you sell without an online store. Buyers can place orders from you by phone, fax, email or other offline means; then you send email invoices from the Merchant Center to the buyers requesting payment. Email invoices contain a personalized message from you regarding the requested payment as well as a "Pay now through Google Checkout" link. When buyers click this link, they are brought to Google Checkout where they can complete the payment process.
Best for: Use this option if you don't have or need an online store.
Time required: There's no setup — just open a Google Checkout merchant account and you can immediately start sending invoices.
Technical skills required: None. Just Internet access.
Demo: Email Invoice and Wizard (requires sign-up)
Processing Orders: (Part II) Once orders start coming in, use the Merchant Center to charge orders and update order status.
Next Step: How to request payments by email invoices
From what I've seen, looks like they don't have a way to do this through an API. Hopefully someday they will, but for now I think I'll have to create my own email with a link to my own page that sends them to google checkout via a custom Buy It Now button.
It's too bad - it'd be so simple to just be able to call send_email(name, email, amount, message) and have it be the same as logging in & doing it through the Merchant Center.
I do understand the rationale a little - if you're capable of creating an automated invoicing system that can call a google API to send emails, then you should also be capable of creating a link, custom button, and letting the user checkout that way. I still want it though - I'm lazy.
Can you submit the form data in the way that the google checkout portal does? then it would authenticate and autofill the form?
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.