Can I implement Stripe checkout in React without my own backend server? - node.js

I have a React frontend deployed on Netlify. I want to implement a simple payment system where user can enter the amount they want and pay using Stripe checkout or even PayPal. I wanted to know If this is possible without paying for a separate backend. Or is there any other self hosted payment gateway you can suggest?
thanks! :)

Technically, you can use client-only Stripe Checkout, however it's not the recommended path: https://stripe.com/docs/payments/checkout/client
Client-only is not recommended because it lacks many of the features made possible with a client-server integration. Furthermore, the client-only integration is not currently (as of this post) receiving new features or upgrades.

If you don't want to do server-sided development, then Stripe Checkout (client-only integration) is the way to go. Everything you need can be done on Stripe dashboard.

Stripe now has a solution called Stripe Payment Links. It's a client-only solution... in fact it requires no code!

As you can see on Stripe docs The Stripe API uses API keys to authenticate requests. - so this means that you need a secure way to integrate with them, without exposing those keys.
So the best way would be to use some serverless backend (FaaS) for that, like Amazon Lambda, GCP Cloud Functions etc.
Here's a good article, how to integrate Stripe with webtask.io, which should be pretty simple to use

Related

How can i add the functionality in my web App So that my Application user can create their Paypal Account using API in Nodejs?

Actually in my application i want the functionality in which user can create their paypal's account on API calling or any SDk function invoking I want this implementation in node js I integrated the package
https://www.npmjs.com/package/paypal-adaptive
because it has a function of
paypalSdk.createAccount(payload, callback);
but error occurs besides this i dont know is it a perfect approach or not and please tell me
Is it possible if my application can create paypal account using API from my App?
Adaptive Accounts and Adaptive Payments were deprecated years ago, and cannot be used.
In a regular PayPal Checkout flow, an account can always be created when making a payment, so it's unclear why your app needs something additional for this.
The closest thing to something for account creation would be seller onboarding with the partner referrals API. You must be an approved partner to use that integration.

Is there a way to integrate a Stripe payment on my website with Firebase backend service without using any other backend service?

I began to develop an online store website with html, css and js, I use Firebase as backend. Then came up the payment part, I want to use Stripe for that, and it turns out that I have to use Node.js to manage that payment part. (or any other server technology)
I have to say that I'm very novice in back-end (and stripe) and the idea was to get rid of that part (the reason why I use Firebase) except that the payment part requires it.
My question is:
Is it enough to use Firebase only as a backend to manage the payment part with Stripe?
If no,
can I use node.js(express framework) just on the payment page and not extend it to all the other pages with those routing things? Or do I have to deploy it on the whole website?
Thanks.
There is a Firebase Extension that is built by Stripe and states:
Use this extension as a backend for your Stripe payments.
It makes use restricted API keys so you have granular control over what records can be created/read/updated by the extension.
I think that sounds easier that trying to work out an Express app for a single payment page.

Connecting to customer's stripe account

Newbie to stripe here. I have seen this done on some apps but can't seem to be able to find documentation on stripe on how to do this:
On our website, we want to let our customers integrate our app with their Stripe account. So ideally I'd like to send the customers to stripe, they login and when they come back, our app has all the info we need from their stripe account (keys, ...?).
What is this flow called? Where can I find documentations for it?
Thank you in advance.
without knowing what you are planning on doing with your app it is difficult to know what you are exactly looking for. But I am guessing you’re looking for this guide right here: Build a Stripe Extension. If it doesn’t fit your use case, you may want to check out Stripe Connect.

BlueSnap omnipay integration

Did anyone used or know where can I find Bluesnap omnipay gateway?
I'm working on OctoberCMS site using JIRI shop plugin.
Last integration made possible to use omnipay gateways, but bluesnap (i'm about to use) is missing. Wondering if anyone already made it.
Thanks
On this page is the canonical list of integrations for Omnipay:
https://github.com/thephpleague/omnipay
There are approximately 100 integrations there but sadly Bluesnap is not one of them. If you contribute the gateway code then we can list it on the Omnipay page.
According to the API docs on the Bluesnap website it is a REST API that takes either SXML blobs as input. It should not be too hard to code such a gateway based on one of the existing REST gateways, e.g. Stripe, the only complexity being the generation of the HTML.
I've just created an Omnipay driver for BlueSnap. At this time, it's mostly intended for the BlueSnap Hosted Checkout product, but you could expand it for the rest of the API: https://github.com/vimeo/omnipay-bluesnap

Security concerns with using Stripe checkout over Cordova

I'm looking into using Stripe.js for payment processing in a mobile web application wrapped in Cordova. According to the Stripe documentation all checkout pages should be served over https. Since Cordova will technically be serving these pages locally in a webview, are there any security concerns I should worry about?
Note: I will still be using https to submit the tokenized card details from Stripe to my remote API server to actually complete the charge.
I'm an engineer at Stripe.
Cordova/PhoneGap isn't a platform we actively support with Stripe.js, but after talking it over with the team, we have two suggestions for how to mitigate potential vulnerabilities:
Configure your Domain Whitelist sensibly, to limit the possibility of other scripts maliciously sending payment data to an untrusted third party. You should only need to add https://api.stripe.com to support communicating with Stripe.
Always load the latest version of Stripe.js from our servers, per the Stripe.js documentation. This will ensure that you're always up-to-date with any bugfixes and patches we add to Stripe.js
Beyond that, I believe your exposure is similar to using Stripe.js in a normal webpage, loaded in-browser.
(I should note that I assume you're using Stripe.js and not Stripe Checkout—the latter would require the https://checkout.stripe.com domain to be added to the domain whitelist, as well.)
I posted an answer related to this in a similar question. If you control a custom API, give it https protection and send your whole checkout form down into an iframe (source set to your API endpoint).
Then use a plugin like Cordova-HTTP for SSL pinning, and you should be more secure!
Original answer:
Implement Stripe Payment Gateway in Cordova/Phonegap Application

Resources