问题
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!
回答1:
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.
回答2:
Both Website Payment Standard (WPS) & Express Checkout WILL accept credit cards. Express Checkout has more features (e.g. a return POST) and now both allow credit card usage directly, so the differences are smaller.
There is a setting in your paypal profile, probably under Profile=>My selling preferences=>Selling Online section that has the return and custom landing page options.
For a sole gateway function, you need to have Website Payments Pro and/or other form of solution that allows you to do a direct POST, which might include other hurdles like PCI compliance etc.
As for activemerchant, check out the Railscast series on paypal (specifically express checkout)
The videos are a bit old, but I set up a payment solution using activemerchant and paypal express based off those videos just last year. Should work for you
来源:https://stackoverflow.com/questions/9523376/api-differences-between-paypal-express-checkout-and-website-payment-standard