News:

Support the VirtueMart project and become a member

Main Menu

VeriSign PayFlow Pro payment module (implementation attached)

Started by durian, July 01, 2005, 01:55:39 AM

Previous topic - Next topic

durian

I didn't get any responses to my queries about implementing a VeriSign PayFlow Pro module, but I seem to have gotten something running anyway.  I still don't understand why my new language text strings aren't appearing on the configuration screen.  Maybe someone can take a look.  I didn't modify any of the SQL scripts either, so you'll need to "Add" the payment module after patching.

I'm attaching the pfp implementation files and a couple diffs to other files.  I've set up the authorization/delayed capture such that delayed captures occur after the order is marked shipped.  This is different from the authorize.net module which charges the credit card after the order is confirmed.  This should probably be globally configurable as different processing companies might have different restrictions on when the card should be charged.  VeriSign says don't charge until fulfillment or shipment.

Another nice feature would be the ability to specify a lower dollar amount when performing the delayed capture in case of a partial shipment.

I also added voiding support.  If you change the status of a pending order from pending to cancelled, the PFP module will issue a void transaction on the initial authorization.

Caveats:
This module assumes you have installed the PHP payflow pro extension.  If you don't have it installed, it won't work.  I've submitted a patch to FreeBSD to add it to the ports collection.  It hasn't appeared yet.  If you run FreeBSD and need the patch before it is integrated, contact me.  If you run other OSes, you are on your own.

You also need the PayFlow Pro developer's kit from VeriSign.  This is only available if you sign up for their PayFlow Pro service, but is available at no extra charge.  You'll need to get this yourself.  You can find it in the downloads area of http://manager.verisign.com/ once you've created an account.  It's object and binary code with wrappers, not full source, but they support all the common OSes.

I'm hoping some one out there will be kind enough to give this code a once over and perhaps do some testing.  Even more, I'm hoping this will make it into the official distribution.

One more thing.  In case it is not clear, this module implements PayFlow Pro, not PayFlow Link.  PayFlow Link is a different VeriSign product with a similar name.

mike

[attachment deleted by admin]

sesheridan

What is the status of this?  I really need partial shipment processing....

durian

I believe PayFlow Pro support has already been integrated into the official VirtueMart release.

sesheridan

durian:  Does payflow pro support allow me to charge items shipped and then charge the balance when the remainder of the items are shipped?  It is apparantly called "delayed capture"

I really hope your answer is in the affirmative.

durian

Delayed capture works in conjunction with authorization.  When you perform
an authorization transaction, you put a reserve/hold on a customer's card for a
certain amount.  The money is not transfers from the hard-holder account to
yours, but the customer's credit limit is adjusted to reflect the reserved funds
(thus ensuring it will be available to the merchant when the transaction
is eventually completed).

Delayed capture is the second half of the transaction.  This is when you finally
transfer the funds reserved by the authorization into your merchant account.

Essentially, authorize/delayed capture is a way of breaking a sale transaction
into two parts.

Typically, you will perform an authorize transaction when a customer places
an order and then perform a delayed capture when the items ship. This is how
I have implemented the payflow pro module.  When the customer places an
order, the total order amount is "authorized" against the credit card.  When
you finally mark the order as shipped, the "delayed capture" occurs.

I'm using the transaction terms "authorize", "delayed capture" and "sale" as
Verisign defines them for PayFlow Pro.  Other companies might use different
terms or define these terms differently.  I don't know.

You can find out more about these types of transactions through your
VeriSign account.  Log in to http://manager.verisign.com/ and dig
around in the Help area.  You'll find explanations for all the transaction types.

mike

sesheridan

Thanks for the fast  and detailed response.

I am having trouble coming to grip with partial shipments:  Charging the customes only for that which is shipped; then charging the card for the balance when the remainder is shipped.  Any ideas?


durian

Sorry, no ideas.  You might have to handle these cases manually, in two transactions.  While you
can perform a delayed capture for an amount less than the authorization amount, I think it is up
to the credit card issuer to decide if the remainder of the initial authorization amount stays on
hold, or is returned to the card-holder's credit limit.  In other words, I don't think you can count
on using one authorization for two, smaller delayed captures.


LaTurco

Hi;

Install payflow pro sdk and enter user information but error message this below.

Error: User authentication failed

Error: Failure in Processing the Payment (ps_pfp)

Login ID, Partner ID and password is right.

pls help .

Thanks...