What is PayPal?
Who uses PayPal?
Here are some stack decisions, common use cases and reviews by companies and developers who chose PayPal in their tech stack.
Overview: To put it simply, we plan to use the MERN stack to build our web application. MongoDB will be used as our primary database. We will use ExpressJS alongside Node.js to set up our API endpoints. Additionally, we plan to use React to build our SPA on the client side and use Redis on the server side as our primary caching solution. Initially, while working on the project, we plan to deploy our server and client both on Heroku . However, Heroku is very limited and we will need the benefits of an Infrastructure as a Service so we will use Amazon EC2 to later deploy our final version of the application.
Serverside: nodemon will allow us to automatically restart a running instance of our node app when files changes take place. We decided to use MongoDB because it is a non relational database which uses the Document Object Model. This allows a lot of flexibility as compared to a RDMS like SQL which requires a very structural model of data that does not change too much. Another strength of MongoDB is its ease in scalability. We will use Mongoose along side MongoDB to model our application data. Additionally, we will host our MongoDB cluster remotely on MongoDB Atlas. Bcrypt will be used to encrypt user passwords that will be stored in the DB. This is to avoid the risks of storing plain text passwords. Moreover, we will use Cloudinary to store images uploaded by the user. We will also use the Twilio SendGrid API to enable automated emails sent by our application. To protect private API endpoints, we will use JSON Web Token and Passport. Also, PayPal will be used as a payment gateway to accept payments from users.
Client Side: As mentioned earlier, we will use React to build our SPA. React uses a virtual DOM which is very efficient in rendering a page. Also React will allow us to reuse components. Furthermore, it is very popular and there is a large community that uses React so it can be helpful if we run into issues. We also plan to make a cross platform mobile application later and using React will allow us to reuse a lot of our code with React Native. Redux will be used to manage state. Redux works great with React and will help us manage a global state in the app and avoid the complications of each component having its own state. Additionally, we will use Bootstrap components and custom CSS to style our app.
Other: Git will be used for version control. During the later stages of our project, we will use Google Analytics to collect useful data regarding user interactions. Moreover, Slack will be our primary communication tool. Also, we will use Visual Studio Code as our primary code editor because it is very light weight and has a wide variety of extensions that will boost productivity. Postman will be used to interact with and debug our API endpoints.
To accept payments on updown.io, we first added support for Stripe which is by far the most popular payment gateway for startups and for a good reason. Their service is of awesome quality: the UI is gorgeous, the integration is easy, the documentation is great, the API is super stable and well thought. I can't recommend it enough.
We then added support for PayPal which is pretty popular for people who have money on it and don't know where to spend it (it can make it feel like you're spending less when it comes from PayPal wallet), or for people who prefer not to enter a credit card on a new website. This was pretty well received and we're currently receiving about 25% of our purchases from PayPal. The documentation and integration is much more painful than with Stripe IMO, I can't recommend them for that, but not having it is basically dodging potential sales.
Finally we more recently added support of BitPay for #Bitcoin and BitcoinCash payments, which was a pretty easy process but not worth the time in the end due to the low usage and the always changing conditions of the network: the transaction fees got huge after price raise and bitcoin because unusable for small payments, they then introduced support for BCH and a newer Bitcoin protocol for lower fees, but then you need a special wallet to pay and in the end it's too cumbersome, even for bitcoin users, to pay with it. I think unless you expect a bit number of payments using cryptocurrencies it's not worth implementing this solution, and better to accept them manually.
Google Analytics is a great tool to analyze your traffic. To debug our software and ask questions, we love to use Postman and Stack Overflow. Google Drive helps our team to share documents. We're able to build our great products through the APIs by Google Maps, CloudFlare, Stripe, PayPal, Twilio, Let's Encrypt, and TensorFlow.
Dear StackShare Community,
I am seeking inspiration on creating a billing & subscription stack and came across this wonderful website and community.
From what I understood so far, I need something like Stripe or Braintree to collect payments without dealing with PCI compliance or setting up merchant accounts, etc... Additionally, services like Chargebee, Recurly, Chargify, etc. are said to make life easier when dealing with recurring billing.
Stated below, I've tried to give you some context on what I want to achieve. I am very curious about your ideas and how you'd configure an optimal stack.
Project context (very high level):
Loyalty program for local merchants (stores, restaurants,...).
Customers support their community and merchants by shopping local.
Merchants grant points to customers based on a customer's value spent in a store, restaurant, etc.
Customers can redeem their points at any participating merchant.
Billing / Subscription scenarios to be considered:
(affecting merchants only)
One-time setup fee
What: Merchant pays a setup fee by signing up for the service
Where: Order placed on the website
Monthly retainer fee
What: Merchant pays a monthly recurring retainer for the service.
Where: Order placed on the website
Manually initiated payment
What: Merchant initiates a payment to top up his virtual points wallet. E.g. pays 100 USD to top up 100000 points which then can be used by the merchant for granting points to customers.
Why: Points issued to members need to be paid for by the merchant. We first considered billing the merchants post-ante, e.g. monthly based on the points they've granted to their customers in the last 30 days, but this seems too risky: If they can't / won't pay we'd still have to pay out points to the customers (technically to the merchants where the customers redeem their points). Thus, the pragmatic idea to reduce risk by having the merchants to pre-pay for their points by topping up their balance.
Where: Web application (with the merchant logged in)
Nice to have: Opt-in for automatically initiated top-ups if a merchant's balance falls below a certain amount.
What: After every transaction (setup, retainer, top-up,...), we need to automatically issue and send (E-Mail) an invoice to the merchant.
Nice to have: Customer portal with all their invoices.
Other potentially relevant parameters
Currency: Only Euro
Country: Only Germany (so far)
Tax: Only one tax rate
Payment for setup & retainer: Credit Card; ideally SEPA Direct Debit (but that still causes headache due to the SEPA regulatory and risk of chargebacks still after weeks), PayPal?
Payment for top-up: Same as above plus any other that makes sense (Klarna, Sofort, PayPal...)
Again, thank you very much for sharing your ideas and thoughts! I'd highly appreciate any input :-)
Deciding what tools to use to set up selling from a JAMstack site. Stripe, PayPal, Braintree, @snipcart, @gumroad, @foxy, @memberful, Chargebee, Recurly.
Donations are processed through PayPal, mostly. So it's a pretty indespensable tool, as it's our main source of income. PayPal
- 2.9% + $0.30 or less- With our flat, transparent pricing, you’ll never be surprised by hidden or variable fees. We also offer discounted rates when you sell a lot, or when you use our card reader.
- Keeping every seller secure- If you’re sent an unauthorized payment, or a buyer claims they never received an item, our Seller Protection covers you for the full amount of the eligible payment.
- Easy for them, easy for you- With just a few clicks, you can get paid by debit card, credit card, or a PayPal transfer. All someone needs to start buying from you is your e-mail address or mobile number.
- Adaptive Payments- The Adaptive Payments API allows merchants and developers to pay almost anyone and set up automated payments.
- Express Checkout- Express Checkout allows merchants and developers to minimize the number of steps customers must complete when they checkout.
- PayPal Payments Advanced- PayPal Payments Advanced allows merchants to enable their online stores to collect payment directly via credit card or via PayPal Express Checkout.