Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

API differences between Paypal Express Checkout and Website Payment Standard

I'm trying to understand the API differences between Paypal's Express Checkout and Website Payment Standard. I know the user-facing differences (Express Checkout forces you to have a Paypal account, while Website Payment Standard also processes credit cards), but I don't know the differences between how you can interface with them programmatically, specifically from a Rails app. Active Merchant says that it supports Express Checkout but doesn't mention Website Payment Standard. For recurring payments, I found this gem, but it only mentions Express Checkout. How does it function (if at all) with Website Payment Standard?

I realize Paypal has multiple APIs, and that while Active Merchant communicates via Paypal's SOAP endpoints, you can also communicate via their URL-based API. I'm just getting confused because there is such an overload of documentation that it's difficult to understand what works with what.

EDIT - To clarify, what I mean by accepting credit cards is not forcing the user to have a Paypal account - having Paypal function solely as a credit card gateway (like AuthNet, for example). I know that credit cards can be tied to your Paypal account, and this is not what I am talking about.

Thanks!

like image 342
jnevelson Avatar asked Feb 02 '23 07:02

jnevelson


1 Answers

Rather than edit my previously edited answer, I'm going to try again.

Express Checkout was made to sit next to your existing payment solution as a "Pay with Paypal" option. It has a more full API, and only requires your customers to leave your site to enter their payment information. There is a more detailed writeup here

For clarification, YES, both Paypal's Express Checkout and Website Payment Standard allow you to accept payments from "Guest Accounts" (Customers without paypal accounts.)

I agree that the documentation is sometimes confusing. Since you mention Rails, here is how to enable "Guest Accounts" in Express Checkout with Active Merchant.

I believe express checkout is only available for business acccounts (not personal). If you have a business account, you will find a setting in your paypal profile - Profile>My selling tools>Selling Online>Website preferences Scroll down to PayPal Account Optional and select the On radio button.

Edit: Apparently this option can be found under Profile>Website Payment Preferences>Paypal Account Optional

Then using Active Merchant, call paypal with the allow_guest_checkout (This code is based on the railscast on express checkout episode)

response = EXPRESS_GATEWAY.setup_purchase(current_cart.build_order.price_in_cents,
  :ip                => request.remote_ip,
  :return_url        => new_order_url,
  :cancel_return_url => products_url,
  :allow_guest_checkout => true

)

Hope this helps.

like image 161
Mike Vormwald Avatar answered Apr 08 '23 09:04

Mike Vormwald