How to make a credit card validation prior to a authorization - authorize.net

I am using Authorize.net as a payment gateway. Now I want to check credit card validity before creating authorize payment. I am using another service to store and manage the customer's profiles and credit cards, and therefore I don't want to create a customer profile in Authorize.net, I just want to use their service to validate a credit card and later to authorize a payment.
Is there any proper way to do this validation?
Searching the documentation and other similar questions, all I could find was the option to create a customer profile, but this option doesn't seem practical to me, since it's necessary to create a customer profile, and after delete it each time I need to validate a credit card.
Does anyone had a similar problem with Authorize.net payment gateway?

Related

How to differentiate Basic/Premium plan users for premium-only features in Django REST?

I am working on a beta-stage writing tool SaaS that is built with NextJS, React, and Django REST. As I’m gaining some user base, I am starting to research on introducing a premium plan to the mix using Stripe.
As most other SaaSs, I will have a subscription-based premium plan which grants access to premium-only features. However, even after days of research, I am still lost how this is commonly implemented in Django/Backend. Here is what I’ve thought of so far, but again, I am not sure if it’s the best/common way to accomplish this.
User model has a ‘premium’ field which is either True or False
Whenever user clicks on a premium-only API call, Django will check if user is premium or not to decide whether to make the actual API call. I currently have a '/user/me/' route which returns basic user information as API GET call.
Upon successful stripe payment, stripe redirects user to the success_url. Then, somehow I will detect when user lands on success_url and then set that user’s premium field to True.
I know this is not the ideal way, because I already see lots of issues/hurdles:
How will I set ‘premium’ field back to False after user’s payment stops
How can I ‘detect’ stripe’s payment to set user’s premium field
Is this feature supposed to be implemented with Stripe customer objects instead? I would appreciate any guidance on where I should be looking for solutions.
If you use subscription on Checkout Session (low code solution), you can add additional key-value pair data such as premium: true in metadata and subscription_data.metadata fields when creating a subscription.
Once the payment is completed, those metadata will appear in checkout.session.completed and customer.subscription.updated webhook events, which you can then set the user as premium in your own database.
A customer object in Stripe can have multiple subscriptions, so this feature will be implemented on subscription object instead.

Directly send money from my Stripe account to my customers bank accounts

I'm looking for functionality to make direct payments to my Stripe Customers bank accounts without Stripe Connect.
Is it actually possible to do?
Do I have to use any other payment providers for that?
I spent a lot of hours to find correct way of doing such kind of payment flow, but all of them requires Stripe Connect for customer which is unacceptable in my situation.
At the end of this issue was decided to use Wise (TransferWise). Because Stripe does not provide required functionality.

token or hash value to store and charge a unique customer: Authorize.net

I have read the documentation and currently it supports the customer profile which i can use to charge the customer. I want to know if it is possible i can have a token which i stored in my user table along with each user and then charge that? like a hash value or the token without using the profile ids? or the only profile id is the way to charge the customer.
Actually i want to do the recurring payment manually because of returning customer and having inconsistent monthly utility bill.
Another reason is that profile it made consist on name description and email which i think is not good enough to check the uniqueness of the users profiles.
Yes, it is possible. You need to use the Customer Information Manager (CIM) API to create a payment profile. You then will have a payment profile ID for that payment profile that you can charge against without having to know or store any of that credit card information.
The profile ID is the only way to charge the customer. There is no token or hash.

google developer transfer app with subscriptions

we have developed an app for customer. This app contains subscriptions and we tested them in real world. Then we stop tests and refund all money back. Now, we are unable to transfer app because of active subscriptions (Google told us - after transfer initiaded - that it's not possible, we do not know this... unfortunately). Read so many stories about fact, that this is not possible to change anything if some subscriptions was paid. But Google test payment system didn't work how we expected, so we need to test it in real way... now we are stuck in circle.
Because we have only one app under our account, we agreed with customer to give him logon & other infos in order to get app for him. Unfortunately, we are unable to change country for merchant account. Is it possible to solve this? Or we do need to make new package under customer developer account and then unpublish current app and create a new one with same name?
If unpublish/publish is only way, how can we do this in order to do not hurt any current customer? App is not paid for now. but customer want to start app in new country and want to activate payment system. Unfortunately we are eu residents, and customer seat in Singapore... so we are unable to put his bank account either.
Do we have any options? Or, can we contact Google e.g. by phone? I try to call to Google in CA and have no success.. no live operator, only phone robots there..

Compulsory information to create CustomerProfile at Authorize.net

I am developing service for payment integration in C#. I am creating CustomerProfile at Authorize.net. We are asking user to enter his name,address,email,mobile no, credit card number, expirydate and cvv no only.
So I just want to know what are the compulsory information that I need to provide to Authorize.net to create CustomerProfile?
When creating a customer profile, you must have the following:
merchantCustomerID OR
description OR
email (except in Europe where email is required)
You can see an example here: https://community.developer.authorize.net/t5/Integration-and-Testing/CIM-CreateCustomerProfile-Issues/m-p/53776#M28859