bigcommerce app development - custom payment portal - bigcommerce

I need to create a custom payment portal for my BigCommerce store.
So that I can capture credit card information and store that in my own system.
Given that bigcommerce supports the development of private apps - can anyone suggest an approach as to how to write an app that would allow me to change the checkout screen to not display, say the paypal checkout, but instead display my own?
There are 3rd party apps that allow you to capture payment information to facilitate recurring payments, and others to change the checkout page layout, so it seems possible to inject javascript into the bigcommerce screens.

Related

Are there any info or links that clearly covers paypal integration in react native?

I would like to setup a paypal payment method exactly the same as Airbnb. The payment will be recurring on a monthly basis.
If one user is directly paying another user for a fixed amount that recurs automatically every month between just their accounts (very different from AirBnB's setup), that can be done with a Subscribe button. The easiest integration will be to create a classic HTML-only Subscribe button via https://www.paypal.com/buttons , uncheck the option in Step 2 to save the button at PayPal, and once the code is generated click the link to remove code protection. This will give you a button with variables you can adjust, per HTML Variable for Payments Standard, including the business destination in particular.
Newer PayPal Subscriptions can be used instead, but are more complex to set up, as each user will need to have the appropriate recurring Plan created for them via an API call, and you will need their Client ID and Secret to do that from your server.
Since you are using React Native, it is important to note that all PayPal flows require a web interface that includes an address bar, such as Safari View Controller or Chrome Custom Tab. A WKWebView or similar cannot be used.

Use Shopify for selling web tools or services

Shopify is suitable for selling online services, tools or not? Is it possible to use Shopify in the same way as PayPal or any other payment processor, for example simple purchase flow:
1) user clicks the 'Buy' button,
2) page navigates to the Shopify product page where user has to pay (commit the purchase)
3) redirects back to the website with purchase confirmation and token - which is used to link it to the buyer (user that clicked the Buy button).
this should be common and pretty simple, though I couldn't find any tutorial or sample
Yes, it's possible.
Create a store, set up a payment processor, create a product that is (a service, a tool or whatever you want to sell) and you're ready to go.
Also, read bout selling services.
Yes, it is possible but shopify is mainly used for selling physical products.
You can use 'Digital download' apps on the Shopify AppStore. After the customer purchases your digital goods, it will show the download link to the customer. The official free shopify app is ok enough
If you're selling subscription, you can use subscription apps.
Personally, I prefer to use gumroad since it's solely used for selling digital services

How to create an order from sales channel and redirect the user to Shopify store for payment?

I am working on an e-commerce website similar to E-bay or Amazon, where sellers can list their products.
I have also created a Shopify Sales Channel for my e-commerce website, which can import products from Shopify. A Shopify store installs the Sales Channel App and their products will be imported to my e-commerce website.
All of this is working fine... now I want to build the last step, which is buy the product. A buyer comes to my e-commerce website and wants to buy a product which has been imported from certain Shopify store. I want to enable the buyer to create an order from my e-commerce website.
According to Shopify documentation:
By default, your app can provide checkout links to Shopify's web
checkout for each product. This lets your platform use Shopify's web
checkout instead of building your own native checkout form. You can
direct customers to a checkout link by using the web_url parameter of
the Checkout API.
This is what I want... I want to allow a buyer in my e-commerce website to create an order and redirect him to Shopify for payment... buy how can I actually implement this? Would I be able to implement this using Order API? And how could I redirect the user to Shopify store for payment?
If redirecting user to Shopify store for payment is not an option, then do I need to implement the payment process within my e-commerce using the Checkout API? Would anyone be able to give some details about this?
Use DraftOrder API to create an order. Once created it has the invoice_url attribute which can be used to pay and complete that order.

PayPal adaptive payment flow on React Native

I'm creating an app with react native that have a payment module with credit card and PayPal as payment module. The payment is automatically transferred to a vendor account subscribed in our platform
(Buyer -> Platform -> Vendor).
I already successfully created this payment flow in the credit card payment module using stripe as a payment gateway but i didn't find a way to do it with PayPal.
Here's a list of what i tried:
Adaptive payment: the problem with PayPal adaptive payment is that's it's not mobile friendly, the standard checkout page is not even close to being responsive. The lightbox checkout page need to open a new Popup which is not possible with RN WebView. And the Mini-Browser one do not return a response after the payment is done (check out this link)
Braintree SDK: Braintree has a pretty great SDK for RN that i already tested and it works great, the problem is that i need to use Braintree's master-merchant and sub-merchants technique to achieve the payment flow i need, but this technique is only available in the US and the funds needs to be in USD and my application is deployed in France using EUR as a currency.
Braintree SDK with PayPal payout: I could create a Braintree account to receive all the funds and then send each one to it's receiver (vendor) automatically but i couldn't find a way to do this
If anyone have an idea of how could i create this flow with PayPal on RN.
Fixed with using the PayPal express checkout with a payee object.
If you want to know more about this functionality i advice you to read more about it here: https://www.paypal-engineering.com/2017/01/03/setting-payee/ .
Now instead of calling the Adaptive Payment API i use the regular payment API with a custom payee and then give the user the express checkout link generated dynamically and finally i call the execute payment API to make the payment after having the client authorization.

Shopify Checkout Option like PayPal

We offer an additional checkout option for our merchant partners (similar to PayPal).
Customers can checkout by selecting our checkout button on the checkout page; these customers must have already registered with us and added a credit card to their account.
We offer two options for Merchants to integrate with us:
API (web services) or
Form (POST).
When a customer checks out by selecting our button, the following steps occur:
customer is presented with a login dialog to be authenticated
if successful and order is approved (by our back-end system), the customer is notified of this on the dialog box (web service) or form (hosted; then sent back to the merchants site).
the order in the merchants site is updated with the success status and with the customers billing/shipping information from our system.
Does Shopify have APIs that will allow us to do the steps above?
There's no direct API to do this.
Shopify uses (a version of) ActiveMerchant for all payment processing services, both on-site (e.g. Stripe) and off-site (e.g. Paypal). If your service is integrated into ActiveMerchant, it can be integrated into Shopify.
HOWEVER:
Just being integrated into ActiveMerchant doesn't guarantee Shopify inclusion. We already integrate with many payment services, so any new offering must also be attractive on a business level as well as sound on a technical one before we'd consider adding it.