Use Paypal to accept payments in ASP.NET MVC - asp.net-mvc

Hi I want to use Paypal to accept payments in my applications. I feel like I'm going around in circles. What I have gathered is that there is very little documentation and a lot of marketing guff that you need to wade through - no disrespect to anyone who has worked on it.
I've learned that the Restful APIs from Paypal are not full featured yet, and the classic APIs provide a richer set of features - and my merchant account is in Australia so I don't think I can use REST APIs yet.
I've got a number of questions :
What do I need to get started ? Is it essentially formatting a payload according to the documents and calling a web service or is there more to it ?
Are there any sample .net applications that use the classic API. I may have missed something but GIT repository only seems to have REST api samples - should I get this and use classic in its place or is there more to it ?
Should I be using the SDK at all ? I checked in Nuget and there are a number of SDKs - the asp.net -http://www.asp.net/web-forms/overview/getting-started/getting-started-with-aspnet-45-web-forms/checkout-and-payment-with-paypal and it doesn't talk about the SDKs ??
If I am to get the SDK which one should I start with for Classic, I'm assuming I only need the SDK for the respective functions I need. For example there is a Merchant SDK and Payments Pro SDK which has the same information on www.paypal.com/SDK
What I want to be able to do is the following:
Accept Credit Card and Paypal payments on my wedapp
Do Adaptive Payments
Establish Recurring Payments after a Credit Card and Paypal Payment
Do PreApproval
Provide Express Checkout as per Paypal requirement
Please help, there appears to be a lack of getting started guides for Paypal and MVC. If anyone has any samples that would be fantastic!

I can certainly help you with your Express Checkout requirement, and in shedding some light on the complexities of interfacing your application with PayPal.
This .NET SDK offers full support for Express Checkout functionality, as well as providing a concise readme that outlines how Express Checkout works at both high, and more precise levels of abstraction.
In terms of Express Checkout, there are 3 main terms that you should familiarise yourself with:
SetExpressCheckout
Establishes a PayPal session based on Merchant credentials, and returns an Access Token pertaining to that session.
GetExpresscheckoutDetails
Returns a definitive collection of metadata that describes the PayPal user (name, address, etc.).
DoExpressCheckoutPayment
Collects the payment by transferring the transaction amount from the User's account to the Merchant account.

Related

Preauth and split payment in paypal using REST APIs in rails

I have buyer and seller in my platform.
When the buyer purchases a product, at the same time the amount should be captured from his account, and on product delivery the seller should receive the amount and admin gets 10% as platform charge.
This implementation is very easy in stripe but I want this to implemented in Russia, France, and Germany and stripe is not supporting these countries.
So, I want to go with PayPal.
I am googled and found that adaptive payment is used for that.
But on the paypal documentation page, it is written that adaptive payment is restricted. Paypal's documentation is very confusing and limited.
I want some can help me on that or can share some links for my better understanding.
Unfortunately, there is not a "quick and easy" solution available right now.
They have added the Marketplaces API which will replace what Adaptive Payments was doing, but it's not ready for public use yet.
You might be interested in this article about PayPal split payments with Express Checkout. It outlines a few alternative methods to get this done.

Recurring billing in activemerchant using Moneris Canada

I am working on an e-commerce site which allows user to purchase a product in 3 monthly instalments. Previously I was using Stripe payment gateway for instalments. I was using Stripe webhooks to update my system after instalments gets paid.
Now I have to achieve the same thing using Moneris(Canada) payment gateway. There are official libraries for Java, PHP & .NET but I am using Ruby. I looked into ActiveMerchant. It allows single charge but I couldn't find anything about recurring payment support.
As far as I know there is no any webhook support but I am looking for API's which I can schedule to run to fetch data from Moneris & update my system accordingly.
I would prefer using ActiveMerchant & a bit of custom code to update my system. I am looking for a good starting point which can lead to a better solution given this scenario.
AFAIK Moneris at this time doesn't support access to reporting via API so there's no programmatic way of checking that a recurring payment was successful or not, neither through webooks or through reportings.
This answer suggests another solution...
Looking for some one who has implemented Moneris recurring payments for a website subcription
...which is basically just storing the credit cards on Moneris in exchange for a token, presumably, (what the poster refers to as "the vault") and then setting up your own scheduler to request payments as needed and getting real-time feedback on success or failure of payments.

How can i implement payment through Paypal on Sharetribe opensource?

i'm trying to implement payment through Paypal on the opensource version of Sharetribe (https://github.com/sharetribe/sharetribe). By default Sharetribe doesn't allow people to use Paypal with the opensource code. How can i create the transaction using the Paypal API? Thank you!
Sharetribe doesn't have Paypal enabled on open source version because using Paypal as a peer-to-peer payment solution requires certain extra steps for a business to set up with Paypal. Sharetribe has done this for their hosted websites, but can't be liable for open sourced versions.
The code is all there for Paypal, however most people are implementing Stripe Connect instead, as, even with the Paypal code, Stripe Connect is a simpler solution to get your marketplace up and running.
In short, there is no 'setting' to turn on Paypal. A lot of code is required to enable payments.
If you want a marketplace ready-to-go with payments enabled, use Sharetribe's hosted version. Otherwise, you'll need someone with solid knowledge of Ruby on Rails in order to implement Stripe Connect.

Credit card payments via PayPal REST API without being PCI-compliant

Can't understand which PayPal API to use.
I have Rails app and I'd like to accept credit card recurring payments via PayPal. At first I was thinking to use Express Checkout API that supports recurring billing and can work even if a user doesn't have PayPal account. But then I saw that their official ruby gem merchant-sdk-ruby https://github.com/paypal/merchant-sdk-ruby will be deprecated:
This Classic SDK is not actively supported and will be deprecated in
the future. For full support on new integrations, please use the Ruby
Rest SDK
So I don't want to use something that will be deprecated soon. But I can't understand whether I can use REST API to accept credit cards without being PCI-compliant.
I'd like to redirect user to PayPal where he could enter his credit card info and return back to my site like in Express Checkout, but I see only examples where credit card info is collected on my site and passed to PayPal via API that implies more security headache on my site.
UPD: I found some information regarding this question in Accept a PayPal payment section of REST API documentation that is a bit odd because I expected to find it in Accept credit card payments section. They say:
Important: To receive Guest Checkout payments, which allow credit cards, ensure that PayPal Account Optional is enabled on your account
settings. For example, here is the path for US accounts:
Profile > My selling tools > Website preferences > PayPal Account Optional
But I'm still not sure whether it will work in my case. Now I have the following question:
Can I use Guest Checkout feature to accept recurring payments?
Can I test Guest Checkout in Sandbox? And if I can what credit card number to use?
Can I show by default form for entering credit card info when user gets to the PayPal site rather than for entering PayPal credentials?
Ughh... why it is so complicated?
There are couple of samples in PHP code, that could help you understand recurring payment options in REST API.
https://github.com/paypal/PayPal-PHP-SDK/tree/master/sample/billing
Or you could follow up the docs on : https://developer.paypal.com/webapps/developer/docs/api/#billing-plans-and-agreements
I will look into this specifically and get back to you
For trying it out on sandbox, you can create an account here at https://developer.paypal.com/webapps/developer/applications/myapps You need to create an app, and it would generate a valid credit card for you.
This may be very unlikely to do, but I can ask the internal team if they know of any such option.
Railscast #289 is on this. It requires that you sign up for the pro version. Looks pretty involved but he walks you through it.

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!
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.
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

Resources