Authorize.net credit card payment for non US customers - payment

I have a website which gives the posibility to our clients to publish some adds on it. The add is first received and checked internaly by an add editor. Then, we are asking the client for the payement and when the payement is received, the add is published.
My goal is to give the possibility to our clients to pay with their credit card. For example, send them the invoice by email with the link (or button) to a webpage where they could introduce their Credit Card number etc.
The company is situated in switzerland and our Bank too.
I am reading actually a lot about the Authorize.net but apparantly, we shuld have a bank in US ? Our clients are based worldwide, can this be a problem and reason for extra fees.
Can we easly send invoices by email with the link for credit card payment?
Thank you very much.

I am reading actually a lot about the Authorize.net but apparantly, we shuld have a bank in US? Our clients are based worldwide, can this be a problem and reason for extra fees.
Authorize.Net is currently only available in the US so you must have a US merchant account to use their services.
Can we easly send invoices by email with the link for credit card payment?
Yes.

Related

Stripe: customers cannot pay an invoice with credit card

When I send an Invoice to a Customer by email, customer is able open an Invoice, but it's not possible to pay with credit card, so, this invoice seems like useless at all, because there is no option to pay it.
Some our customers can connect bank account, but by default all customers have to be able to pay with credit card.
We don't need to store customers' cards on our side, just allow to use cards.
What is easiest way to allow using credit cards for a customer? I see different options in Stripe doc:
Create PaymentMethod, then set invoice_settings.default_payment_method for a Customer
Create Sources, then set it to Customer.default_source.
But I'm not sure if it's possible to create payment method or source without card details.
There is a chance that our Stripe account is configured incorrectly, not sure what exactly I have to check.

What security measurements we should take if we are storing banking details?

I am developing a mobile app, a market place buyers and sellers can meet.
When making payments, the buyer will have to enter his credit card information every time, because we are not saving them.
To get paid, sellers need to have their bank details stored with us (That's what we think). We are planning to use a payment gateway like Stripe or Braintree.
Now, we have 2 questions.
Instead of we storing the bank details, can we shift this responsibility to the payment gateway provider? So the information are with that service and not with us.
If it is mandatory for us to keep the bank details, what security measures we need to take?
I can't speak for Braintree, but Stripe can handle storing those. I'd suggest reaching out to them to tell them more about your use case and ask for more details. https://support.stripe.com/contact/email

Stripe - How to get purchaser's information for a charge with Connect (Express)?

I've set up a test charge using stripe.Charge.create() and it is working, i.e. I can see the dollar amounts processed in the Connect test dashboard. It appears to be money going from the tok_visa to a dummy Stripe account I set up.
charge = stripe.Charge.create(
amount=1000,
currency="usd",
source="tok_visa",
application_fee_amount=123,
transfer_data={
"destination": "{{CONNECTED_STRIPE_ACCOUNT_ID}}",
}
)
For a marketplace type platform, I need to be able to send funds from the purchasing user to the selling user, however.
Would I need to get the purchaser's account (or some other object?) to use as the "source" in the charge?
How do I get that to put it into the "source" field?
I feel a little lost in Stripe's docs, so I could be missing something. Thank you for any tips.
I need to be able to send funds from the purchasing user to the
selling user, however
If by 'purchasing user' you mean a cardholder customer of your marketplace, this is exactly what you have. tok_visa here represents a credit card, that you accept through a payment page.
If instead you mean, the purchasing user is another connected account in the marketplace, you can either :
use an account debit to debit one account, and then transfer to
another.
collect a card from users when they sign up and create a
Customer object for them. You can then charge that customer as needed
like in your example code. You need to maintain a link in your system that
'customer cus_xxx is also my marketplace user acct_xxx'

Allow users to accept payments from their users

I am working on a software that is to be used by businesses which make about $0.5mil revenue per year. I would like to incorporate into the software the option for my users to accept card payments from their clients. So far it seems I have the following options:
Manage multiple merchant accounts on behalf of my clients, however this has a few drawbacks. I would, for example, like to charge some small fee to cover the costs (about 0.1%) which I cannot accept if the payment to my user doesn't go through some stage that I can control where I can deduct the fee and send it my way. Also, about 50% of the mentioned revenue is paid for by credit or debit cards so a volume of $250,000 might not be enough to cover the fees set by the account provider.
Send everything through a merchant account that I control and then distribute the funds to the users. This, however, seems like a very small scale solution at best with the average number of payments per user per day being around 15.
The end result should be that the user enters a price in the software, this gets sent to a card reader where the user's client inserts their card and makes the payment. The amount charged includes all the fees associated. The amount paid will then be sent to some merchant account where my fee will be sent to me and the merchant fee will be deducted, the rest will be sent to my user's account. The whole point being that the user doesn't have to bother with setting up merchant account or card reader and simply gets a card reader from us which connects to the software and can immediately accept payments.
I sincerely hope I am missing something but I would appreciate any help with finding a way how to charge clients of my users and take some small fee.
So as it turns out, the best way to do this is using Stripe after all. If anyone is ever concerned, this is how I solved the problem.
Stripe is currently rolling out Managed Accounts of their Stripe Connect which can be used to effectively manage Stripe accounts for my customers. Therefore, once a user registers for my payment program, I create a managed account for them without the user knowing at all. For incoming Stripe payments I can then use the destination property as the id of the account where the money should go and specify an application fee which will be charged to my own account.
From there on the only problem to solve is that Stripe only supports online payments which can be overcome by using for example Payworks, however so far their service has been pretty terrible so this may be a weak point in the system.

Can Stripe support Offline Payments?

I am using Stripe for online payments but also users can pay offline (cash or check). I want to centralize all my invoices/charges in one place (Stripe).
I am not sure if I can add offline payments (cash or check) to stripe or not. I guess I can if I created customers, invoices, charges with livemode=false for my live keys.
Is this feasible and will Stripe accept having some (customers, invoices and charges) with livemode=false and others with livemode=true?
If yes, should I fill fake credit card info or should I set it as nil?
Stripe does not allow you to create a Subscription on a Customer if you don't have a credit card setup. More accurately, it does not allow you to create a subscription if a customer does not have a way to pay for the next invoice. So for offline payments, you could update the 'account_balance' on the customer to have a negative value equal to the amount the customer wired (credits). Stripe will then allow you to create a subscription for the customer because it knows that the customer has enough account balance to pay for the next invoice. This post has more details.
We don't currently support offline payments, so you'll want to look at a separate accounting system for those payments.
That said, it's totally understandable that you'd want to keep this data in one place. You might be interested in using our webhooks system to offer live updates to your accounting system without directly touching the code that creates the charge in Stripe.

Resources