I have never implemented online payment and it’s the only thing that
keeps me from accepting a project for a UK based client. (I must reply
quickly!)
While I can afford spending an extra week - or 2 - to learn/try/tune the
payment system, I must be sure to succeed before I accept the contract.
If you’ve already been through that path, any hints, links and/or
starting points are welcome.
Requirement:
1/ work for U.K. users (buyers)
2/ at the minimum, allow payment with a Visa card.
I’ve changed our electronic payment provider about tree times already.
Each time it took me no more than two hours to write an integration
code. Don’t be afraid, just make sure your provider has a web based
API available.
It is as hard and risky as your client chooses to make it.
Using something like Paypal, with Instant Payment Notification, has less
risk and is relatively easy.
Storing actual credit card data and handling processing completely
inside the application has much higher risk and is much harder.
The client in the end needs to make the decision, weighing the customer
experience, acceptable risk and development costs.
All my applications take the Paypal with IPN route, simply because I
want to focus on what I do best, and not worry about storing extremely
sensitive information.
Using the shared experience and contributions of the Rails community
most of the technical aspects are easy to overcome quickly.
I would not recommend storing credit card information unless you are
in a shop which has the ressources and expertise required to deal with
this kind of things (which is usually not the case in places I’ve
seen! well, that’s a very specific job).
When I used Bibit, it was relying on an XML API to create
transactions. The general idea is : after creating a transaction, you
get a dedicated URL (bibit hosted) where your customer is redirected
to enter payment details (you don’t even want to have access to that
information). The user is then redirected to your website etc.
Also that’s just an opiniated view I have, but a (non-small) european
ecommerce site should not rely exclusively on paypal, and should go
the credit card road to ensure a broader coverage.
Also that’s just an opiniated view I have, but a (non-small) european
ecommerce site should not rely exclusively on paypal, and should go
the credit card road to ensure a broader coverage.
I’m in a similar situation… I’m considering building a site where
clients
can “one-click” purchase items for download, which would require some
type
of payment information storage. Is it possible to set up some type of
pre-authorized payment with the gateway, and then rely on the gateway to
store the info? This may be a totally crazy concept, but I’ve read some
things that lead me to believe that this was a possibility. It’s similar
to
taking recurring transactions, except that they are charged when they
buy
something instead of on a fixed schedule.
This is my first post to this list since joining yesterday.
There are two ways of doing this with Verisign’s Payflow Pro.
Recurring Billing
Verisign does have a recurring billing feature. You’ll have to pay extra
for
it, but if you want something simple it is the way to go. After you
submit
the initial transaction, you can get rid of the credit card info.
Verisign
will automatically bill the customer a fixed amount every period. Lots
of
options for setting it up make it versatile.
I didn’t like the batch process part of it though. They gather up all
your
recurring transactions planned for the day into one batch. You get the
results of the batch in an email that you would have to then manually
process somehow. I didn’t like the lack of control.
Referenced Billing
Well, that is what I call it anyway. After you submit the initial
transaction, you can get rid of the credit card info. Verisign gives you
a
reference id that points to that transaction, which you can safely store
in
your database. When your application decides it is time to bill again,
it
can submit another transaction without having the customer involved.
This
transaction will not contain any credit card data, because you don’t
know
it. You do include the reference id from the first transaction though,
and
Verisign uses the credit card data from the referenced transaction in
this
transaction. The nice thing here is that your system gets immediate
feedback
as to the outcome with no manual processing! Also, you don’t have to pay
extra for the recurring billing feature.
It doesn’t matter if some hacker steals your database and gets the
reference
id values. There is no way to use them to get the credit card data.
I assume the little guys like Basecamp, TextDrive are using something
like a payment gateway with automated billing – but store the last
4-digits to display to the user, correct?
I’m in a similar situation… I’m considering building a site where
clients
can “one-click” purchase items for download, which would require some
type
of payment information storage. Is it possible to set up some type of
pre-authorized payment with the gateway, and then rely on the gateway to
store the info? This may be a totally crazy concept, but I’ve read some
things that lead me to believe that this was a possibility. It’s similar
to
taking recurring transactions, except that they are charged when they
buy
something instead of on a fixed schedule.
It allows you to submit a customer’s credit card info into “the vault”
and get back a unique ID - you can at a later date then just say “hey
vault, charge customer X for $30.00”.
Actually I didn’t change providers, my client did. I don’t know
specific reasons for that. I am only interested in the technical part
of this process. From the technical prospective they are almost the
same. They all provide pretty much the same API and features like
credit card services, electronic checks, paypal services, etc.
We are currently using CyberSource. They provide SDK with C libraries
and it was just a matter of writing a small Ruby extension, nothing
serious really.
It’s not hard. Most providers like authorize.net provide a simple way of
electronic payment through submitting a simple https post request with
certain parameters. When you are adding payment to your web app we just have
to be careful by not storing credit card numbers and especially CVV numbers
(which is strictly prohibited btw) in your database. At least try to avoid
it.
Check out www.modernauthorize.net – they offer the same form submit
type gateway and very cheap to start up, although there are probably
fiscally better ones if you had large volumes of processing. They use
bluepay (but you cant get it as cheap directly through bluepay iirc),
which I’ve written a class for. Its fairly simplistic and might need
some tweaking for your application, but it works well. If you go with
them, I wouldn’t mind sharing my class, just email me.
It’s not hard. Most providers like authorize.net provide a simple way of
electronic payment through submitting a simple https post request with
certain parameters. When you are adding payment to your web app we just
have
to be careful by not storing credit card numbers and especially CVV
numbers
(which is strictly prohibited btw) in your database. At least try to
avoid
it.