Connecting Authorize.net
Maven connects to Authorize.net using your API Login ID and Transaction Key. These credentials allow Maven to create charges and customer profiles on your behalf.Prerequisites
- An Authorize.net merchant account
- API Login ID and Transaction Key from your Authorize.net account
- A Maven app
Getting Your Credentials
1
Log in to Authorize.net
Go to Authorize.net Merchant Interface and log in.
2
Navigate to API Credentials
Go to Account > Settings > API Credentials & Keys.
3
Copy API Login ID
Your API Login ID is displayed at the top of the page. Copy it.
4
Generate Transaction Key
Under Create New Key(s), select New Transaction Key and click Submit. Copy the generated key — it won’t be shown again.
Connecting in Maven
1
Go to Payments
In the Maven Dashboard, navigate to your app and click the Payments tab.
2
Click Connect Authorize.net
Click the Authorize.net card and enter your credentials.
3
Enter Credentials
- API Login ID: Your Authorize.net API Login ID
- Transaction Key: Your Authorize.net Transaction Key
4
Save
Click Connect. Maven will validate the credentials and save them.
Sandbox Testing
For testing, use Authorize.net Sandbox credentials. Create a sandbox account at developer.authorize.net. Use sandbox credentials withmvn_test_ API keys to test without real charges. Sandbox responses include real transaction_id, auth_code, AVS, CVV, CAVV, and network transaction ID values, so the payload your code receives in test mode matches what you’ll see in production.
Capture Mode
Maven supports two capture modes for Authorize.net charges. The setting is per-app and can be changed any time from the Payments tab on the Authorize.net card.
When to use Authorize Only:
- Hotels, car rentals, and other businesses that authorize on booking and capture on checkout
- Service businesses where the final amount may change before fulfillment
- Any flow where you want to verify the card and reserve funds without immediately moving money
- Authorizations typically expire 30 days after creation if not captured. Holds beyond that are released.
- Once captured, the captured amount is locked and cannot be increased.
- You can capture for less than the original auth amount (partial capture).
- Maven does not currently send a follow-up webhook when you capture in Authorize.net — you track captures on your side.
payment-authorized instead of payment-success, and the webhook payload includes processor.auth_only: true.
Processor Response Fields
Charge Mode
Result Code Cheat Sheet
response_code — overall transaction outcome:
avs_result_code — billing address verification:
Improving AVS Coverage
By default, voice sessions only collect the ZIP code from the caller — so AVS returnsZ (zip match only) or U (unavailable) when no ZIP was captured. Strict Authnet AVS reject filters often decline both, which can block legitimate transactions.
To get a full AVS match (Y), pass a billing_address block on session creation. We forward it to Authnet’s billTo on both charge and tokenize paths:
Always pass the cardholder’s billing address — the one on file with the card issuer — not the shipping address. AVS only matches against billing. If you reuse a shipping address that differs from billing, AVS will return
N (no match), which most fraud filters reject.first_name and last_name on the billing_address are optional — when omitted, we fall back to the cardholder name collected during card capture. See the API reference for POST /v1/sessions for the full field list and validation rules.
Tokenize mode (CIM)
When you passbilling_address with mode: "tokenize", the address is stored on the resulting CIM Payment Profile. Subsequent charges against that profile (via createTransactionFromProfile) inherit the billing address automatically — no need to re-send it on the charge call, unless you explicitly override billTo in your charge request.
cvv_result_code — CVV match:
cavv_result_code — 3D Secure / cardholder authentication:
