Getting paid using Stripe or PayPal is only the beginning of creating a fully-functional e-commerce application. You also need to handle failure cases, inventory management, administration, security, reporting, and be compliant with legal issues. Manage one-time transactions and recurring subscriptions, handle inventory management, issue discounts and refunds, mitigate administration and compliance issues, and test your code to ensure your customers have a smooth, hassle-free experience.
An e-commerce payment application is literally rewarding to build--you can see the return on investment as genuine money is added to your account. But it can be stressful to manage, with security and compliance concerns and administration issues. And your entire business may depend on these features working smoothly.
Let Noel Rappin guide you through the setup and complications of dealing with online financial transactions.
Go beyond just the interaction with the gateway service and build an application that will be robust and useful over time. Set up a Stripe and PayPal payment gateway and accept credit card payments. Use the Stripe API to improve security by validating credit card data without sending it through your own server. Design your application for maximum flexibility against the inevitable complexities of business logic, including handling discounts. Manage the multiple failure points of dealing with payment gateways and test for failure cases. Use background jobs to simplify third-party interactions. Handle administrative tasks such as issuing refunds and discounts while maintaining data integrity and security. Create subscription plans and manage recurring payments, and stay on top of legal issues regarding taxes, reporting, and compliance. Pay affiliates or contributors from your application.
By the end, you will know how to create a fully-functional web payment-taking machine.
What You Need:
The code in this book works with Ruby 2.3.1 and Rails 5, though nearly all of the code will run with earlier versions of Ruby and Rails.