How to create e-wallet in laravel website - laravel

I am developing a website in laravel I want to apply a e-wallet system on my website(Like Paytm).
This is first time I am doing this, I read on different places, saw methods using java and also read that I can sign-up for existing Wallets like PayTM, Payu Money, etc and integrate the same in the store.
But how to do it?
I used: https://github.com/tzsk/payu to add payu on my website.
Can you please tell me how can I make such a wallet? I have a wallet named table in databse when I added payu with one of the pages, I think it might bs used?
I made this wallet link, which will link user to different page where he can add money to his wallet as in here : https://paytm.com/paytmwallet
But, how can I add the payu feature of adding money to the wallet there?

You have to register as a merchant for a payment gateway on payemnt gatway providers like traknpay or payu and if your business is approved they will provide you with all details about integrating it in your website using there apis.

Related

Laravel - Paypal user to user money transfer

i have a donation website where users post their cases and any other user can donate to them, i want to implement paypal integration but my question is what do i write in the paypal clientid and secret key if the receipient is different for each case? every tutorial i see, it has a fixed receipient so they just write the clientid of their merchant account, but in my website there is no fixed receipient as each user that posts a case can receive donations.
sorry if my question is too basic but this is my first time working with paypal. any help is really appreciated!
For payments directly to another account, there are two different integration options:
Checkout flow :: specify the payee.email_address of the recipient's PayPal account when creating the order. See the documentation.
Donation flow :: specify the recipient account as the business parameter. See the documentation. Do not specify a hosted_button_id. Specifying a fixed amt is optional.

Can I use spatie/laravel-google-calendar for a web server application with multiple users?

I'm working on a Laravel site where users could connect their Google account and manage their Google calendars directly from within the site. I found https://github.com/spatie/laravel-google-calendar but I'm not sure that it really meets my needs.
That package doesn't seem to follow the authentication flow (OAuth 2) I'm used to with other APIs. It uses service accounts and stores credentials in JSON files where I usually save access and refresh tokens in my users table.
So am I missing something or is that package not made for that kind of site ?

Laravel Google Login, Calendar and Drive multiple API integration

I have a question maybe useful for most of Laravel developers.
I want to allow user to connect to one or more of these APIs:
Google Login
Google Calendar
Google Drive
I have used Laravel Socialite so far, which provides clear connection to many social accounts. My issue is that through Socialite I have only one google Driver, while I need to address to different Google API from different buttons.
My .env data, connected to the config/services.php are:
GOOGLE_CLIENT_ID=1.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=XXX
GOOGLE_CALLBACK_URL=https://mysite/google/login_callback
GOOGLE_CALENDAR_CLIENT_ID=2.apps.googleusercontent.com
GOOGLE_CALENDAR_CLIENT_SECRET=YYY
GOOGLE_CALENDAR_CALLBACK_URL=https://mysite/google/calendar_callback
GOOGLE_DRIVE_CLIENT_ID=3.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=WWW
GOOGLE_DRIVE_CALLBACK_URL=https://mysite/google/drive_callback
Now, it is now clear to me how to manage multiple APIs from different buttons. Here some options:
Use Socialite with unique credential entry point (google_login) from Google Console Cloud and in the callback function into the Controller I differentiate different cases (login, calendar, drive...)
I create a different Google credential for each API into API section, I use Socialite only for login and I create/download separate package for Calendar, for Drive, etc...
So the main point is: multiple Google APIs in Laravel need to be applied with unique API credential and at Controller level I address to relative code using scopes or I have to create a separate API credential of each API, make the relevant .env keys and the manage all separately.
I hope to have been not to much blur.
thanks!
With the socialite package, you can only do authentication. If you are developing for Calendar and Drive, I would suggest to use google client library
$client = new \Google_Client();
$client->setAccessToken($accessToken);
$client->setSubject($email);
$clien->addScope(['{scopes}']);
$client->authorize();
$client->get('https://www.googleapis.com/calendar/v3/calendars/' . $calendar_id . '/events');
Please also refer this document: Event apis
Drive Apis

Square E-commerce Api integration to clients website

Sorry if this is a simple question but I am trying to understand the best way to do this and I am new to Square development. I have a customer who has the Square chip card reader device on their cell phone and they are taking credit cards today. They also have a website which is using a oscommerce shopping cart and authorize.net gateway for processing orders on their website. What they want to do is just use Square and change the website so it integrates with their existing Square account. I understand the basic process of how to do this with the E-commerce API but I am a little confused on the developer / merchant Credentials.
This is a one off development for them so I do not think I want to use the oAuth method.
If they are a merchant today do they have to sign up under the developer area and create a app using the Application Dashboard so that they have a personal access token and application ID that I would use on their website? ( I already signed up and have a developer account)
What information about a sale is shown on their Square account once I integrate the secure SqPaymentForm payment form onto their website? Today all the details on the order are in the shopping cart such as what the customer ordered, the shipping address etc. Is this now going to appear on the Square account for them or do I still need to maintain this information in the shopping cart? It would be good if they could use a single interface such as the Square account.
thanks for your help.
If you don't to use OAuth, you'll have to have the merchant go to the Square Developer Portal and give you their personal access token and application id.
There are many different ways you can implement an online store, so where the information lives is all up to you. You probably want to keep your existing shopping cart functionality and just implement square for the payments, as that will likely be easiest and ensure you have all the data you want.

Using Plaid Link with Connect and Auth

I am using the Plaid Link javascript library but I am running into an issue. I want to be able to use both the Auth and Connect products but the Link modal only allows me to show either Auth or Connect but not both. The documentation says to use Auth and then upgrade my token to use Connect. Which is fine I can do that. However the Auth modal will not show any credit only institutions like AmEx. Since I want both to allow for Stripe integration and for pulling in all of a user's transactional data across all institutions, what's the best way to do this?
Currently I am considering showing the different modals in two different flows (add a bank account vs add a transaction history account) but that is not very good UX. Also the IDs assigned by Plaid will be different and have different access tokens so deduping is a nightmare.
Or writing a custom modal that will use the Auth product for institutions with bank accounts (Chase) and the Connect product for credit only institutions (AmEx) but that will likely be a lot of work.
You'll only be able to use the Plaid Link + Stripe ACH integration for institutions that support Auth. I'd recommend initializing Link with Auth as the product and then upgrading to Connect once you have exchanged the Link public token for a Plaid API access token.
To answer the UX question you brought up - you can actually bypass using Link's standard "institution select" view and instead display your own list (you can use the /institutions API endpoints to pull information about supported institutions) using Link's custom integration.
That way, you can show your users a single list of supported institutions. If you initialize Link twice (once with Auth and once with Connect) you can jump directly to the Auth-initialized Link or Connect-initialized Link depending on the user's institution.

Resources