Skip to main content

Authorize.Net Integration

Accept credit card and ACH payments for WiFi access on your captive portal using Authorize.Net with support for recurring billing and enterprise-grade fraud protection.

Overview

The Authorize.Net integration provides:

  • Credit card processing for WiFi access
  • ACH/eCheck payments (optional)
  • Recurring billing for subscriptions
  • Enterprise-grade payment processing

Prerequisites

  • IronWifi account with captive portal configured
  • Authorize.Net merchant account
  • API Login ID and Transaction Key

Authorize.Net Setup

Create Account

  1. Go to authorize.net
  2. Apply for merchant account
  3. Complete verification process

Get API Credentials

  1. Log in to Authorize.Net Merchant Interface
  2. Go to Account > Settings
  3. Click API Credentials & Keys
  4. Note:
    • API Login ID
    • Transaction Key (generate new if needed)
  5. For testing, use sandbox credentials from developer portal

Sandbox Testing

  1. Sign up at developer.authorize.net
  2. Create sandbox account
  3. Get sandbox API credentials
  4. Test before going live

IronWifi Configuration

Step 1: Add Authorize.Net Provider

  1. Log in to IronWifi Console
  2. Navigate to Networks > Captive Portals
  3. Select your captive portal
  4. Go to Authentication Providers
  5. Click Add Provider > Authorize.Net

Step 2: Configure API

Enter credentials:

  • API Login ID: Your Authorize.Net API Login ID
  • Transaction Key: Your Transaction Key
  • Environment: Sandbox or Production
  • Signature Key: For webhook verification (optional)

Step 3: Create Access Plans

Configure WiFi access options:

Plan NamePriceDurationData Limit
Quick Access$1.9930 minUnlimited
Hour Pass$3.9960 minUnlimited
Day Pass$9.9924 hoursUnlimited
Weekly$24.997 days50 GB

Payment Flow

Accept.js Integration

Secure card handling with Accept.js:

<form id="paymentForm">
<div id="card-number"></div>
<div id="card-expiry"></div>
<div id="card-cvv"></div>
<button type="submit">Pay ${{amount}}</button>
</form>

<script src="https://js.authorize.net/v3/Accept.js"></script>
<script>
// Accept.js tokenizes card data
// Token sent to IronWifi for processing
</script>

Hosted Form

Alternative: Redirect to Authorize.Net hosted form:

  1. Create payment link
  2. Guest redirected to Authorize.Net
  3. Payment processed on hosted page
  4. Redirect back with result

Transaction Types

Authorization & Capture

Standard flow for immediate access:

  1. Authorize card
  2. Capture funds
  3. Grant access

Authorization Only

For delayed capture:

  1. Authorize card
  2. Grant temporary access
  3. Capture later

Refunds

Process refunds via:

  • Authorize.Net Merchant Interface
  • API call from IronWifi

Webhook Configuration

Silent Post URL

Configure in Authorize.Net:

  1. Go to Account > Settings
  2. Click Silent Post URL
  3. Enter IronWifi webhook endpoint
  4. Select transaction types to notify

Webhook Events

Receive notifications for:

  • Approved transactions
  • Declined transactions
  • Refunds
  • Voids

Testing

Test Card Numbers

In sandbox environment:

ResultCard Number
Approved4111111111111111
Declined4222222222222
Error4012888888881881

Test Amount Triggers

Specific amounts trigger responses:

  • $1.00 = Approved
  • $2.00 = Declined
  • $3.00 = Referral

Test Flow

  1. Configure sandbox credentials
  2. Create test transaction
  3. Verify access granted
  4. Check transaction in sandbox

Advanced Features

Address Verification (AVS)

Enable AVS for fraud prevention:

  1. In Authorize.Net settings
  2. Enable AVS checking
  3. Configure response handling

Card Code Verification (CVV)

Require CVV:

  1. Enable CVV requirement
  2. Configure rejection rules
  3. Improves fraud protection

Fraud Detection Suite

Authorize.Net Advanced Fraud Detection:

  • IP address filtering
  • Transaction limits
  • Velocity filters
  • Suspicious transaction blocking

Recurring Billing

Subscription Plans

For subscription-based access:

  1. Create subscription plan
  2. Set billing frequency
  3. Configure access duration
  4. Handle renewal/cancellation

ARB (Automated Recurring Billing)

Plan: Monthly WiFi Access
Price: $29.99/month
Billing: Automatic monthly charge
Access: Continuous while subscription active

Reporting

Authorize.Net Reports

Available in Merchant Interface:

  • Transaction search
  • Settlement reports
  • Statistics
  • Declined transactions

IronWifi Reports

Track in IronWifi:

  • Revenue by plan
  • Conversion rates
  • Failed payments
  • Customer lifetime value

Security

PCI Compliance

With Accept.js:

  • Card data tokenized client-side
  • Reduces PCI scope
  • Sensitive data never touches your server

Transaction Security

  • SSL/TLS encryption
  • Fraud filters
  • AVS/CVV verification
  • IP filtering

Troubleshooting

Transaction Declined

Check in Authorize.Net:

  1. View transaction details
  2. Check decline reason code
  3. Common reasons:
    • Insufficient funds
    • Invalid card number
    • AVS mismatch
    • CVV failure

Connection Errors

  1. Verify API credentials
  2. Check environment setting
  3. Test API connectivity
  4. Review error logs

Access Not Granted

  1. Confirm transaction approved
  2. Check webhook received
  3. Verify plan configuration
  4. Review IronWifi logs

Error Codes

Common response codes:

CodeDescription
1Approved
2Declined
3Error
4Held for Review

Best Practices

  1. Start with sandbox - Test thoroughly
  2. Enable fraud tools - AVS, CVV
  3. Monitor daily - Check for issues
  4. Clear errors - User-friendly messages
  5. Receipt emails - Confirm purchases