Event Sign Up

Permalink Browser Info Environment
We are looking to use the Advanced Forms for paid event registration, but are having a difficult time getting out Authorize.net gateway setup with it. Is there some documentation for setting up gateways?

Type: Discussion
Status: New
nvick
View Replies:
jgarcia replied on at Permalink Reply
jgarcia
Unfortunately at the moment the payment gateway feature is not very well documented (and by "not very well" I mean not at all). Part of the reason for this is that the means of connecting to a gateway is not quite as structured as I'd like for it to be. I'd like gateways to be available via practically as add-on's themselves (kinda like for the C5 eCommerce plugin), but I'm just not quite there. The approach now is significantly more pragmatic than I would like it to be.

However, it is still definitely possible to hook the add-on up with Authorize.net though (or any gateway for that matter). I'll try to bump up the priority on getting this adjusted and getting some info out there about it.
nvick replied on at Permalink Reply
nvick
Awesome, thanks!
mikewaz replied on at Permalink Reply
mikewaz
Hi Justin,

Is this still in the works? Do you have an ETA?

Being able to use Authorize.net with Advance Forms would cure a lot of headaches for us.

Thanks,
Mike
jvansanten replied on at Permalink Reply
jvansanten
Any update on gateways in general and Authorize.net in particular?
dimunation replied on at Permalink Reply
dimunation
I've completed a basic Authorize.net AIM implementation with Advanced Forms. For those interested, this was the general process:

1) Create a new single page and add it to the existing single pages.

2) Create a basic HTML form in the single page which captures the appropriate billing information. Billing info, credit card info, etc. Use the Auth Net SDK for a good example, followed by the following hidden fields. I'm using a status field to determine whether to show the form or process it on the same page.

<input type="hidden" name="INVOICE" value="<?=$_POST['asID'];?>"/>
   <input type="hidden" name="amount" value="<?=$_POST['amount'];?>"/>
   <input type="hidden" name="status" value="AuthNetProcess";/>


3) Upload the Auth Net SDK files somewhere on the server.

4) If a checkout form has been submitted, process it in the same file.

require_once './Authorize/anet_php_sdk/AuthorizeNet.php';
   $transaction = new AuthorizeNetAIM('ID''TranX');   
   $transaction->amount = $_POST['amount'];
   $transaction->card_num = $_POST['CC'];
   $transaction->exp_date = $_POST['EXPMNTH']."/".$_POST['EXPYR'];
   $transaction->first_name = $_POST['FNAME'];
   $transaction->last_name = $_POST['LNAME'];
   $transaction->address = $_POST['BADDRESS'];
   $transaction->city = $_POST['BCITY'];
   $transaction->state = $_POST['BSTATE'];
   $transaction->zip = $_POST['BZIP'];
   $transaction->invoice_num = $_POST['INVOICE'];
   $transaction->email = $_POST['EMAIL'];
   $transaction->card_code = $_POST['CSC'];
   $response = $transaction->authorizeAndCapture();


The Gateway Response field is updated based on the authorize.net gateway response. A redirect or confirmation messages should end up somewhere in here as well.

5) Change the sixeightforms/tools/payment_form.php file to point to your newly added single page ($postURL). The loadGatewayConfig() and loadGatewayForm calls can be removed as well, but you'll have to add the submit button back in manually.

This isn't very tightly integrated, but it works properly. This also bypasses the paypal option, which may not be desirable. It would probably be best to pull in some additional form information for the Authorize.net receipt, and fetch the order total from the answer set rather than passing it along in the form.

concrete5 Environment Information

Browser User-Agent String

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.