Contents
What is this integration?
The Authorize.Net integration connects Golfmanager with the Authorize.Net payment gateway (a payment provider widely used in the United States). It lets your customers pay online by card — credit or debit — when they make a booking or a purchase in the online shop, and lets you handle refunds from within Golfmanager itself.
The charge is processed securely: card details are entered in a protected form hosted by Authorize.Net (Accept.js technology) and turned into a single-use encrypted code (a token). The full card number never passes through Golfmanager's servers.
A payment gateway is the service that connects your business with the banks to take card payments securely. Authorize.Net is one of them. Golfmanager sends it the amount and the card token, and it takes care of the charge.
What problem does it solve?
Enables online card payments for clubs that operate with Authorize.Net, with no manual work.
Increases security and reduces risk: the club never stores or handles card data.
Speeds up refunds: they're processed straight from Golfmanager, without logging into the Authorize.Net dashboard.
Leaves a trail of every operation: charges, refunds and voids are all recorded in a transactions screen.
Separates testing from real charges: a test environment (sandbox) and a production one, so you can validate everything before charging for real.
Which systems does it connect, and which way does the data flow?
It connects Golfmanager's checkout (payment) with the Authorize.Net gateway, in real time:
The customer enters their card in a secure Authorize.Net form, which turns it into a single-use token.
Golfmanager sends that token and the amount to Authorize.Net, which authorizes and captures in a single operation and replies whether it was approved or declined.
If it's approved, the sale is marked as paid automatically and the transaction identifier is stored.
For refunds, Golfmanager asks Authorize.Net to refund the amount to the customer's card (or to void the charge if it hasn't settled yet).
What information is exchanged?
Information | Direction | Purpose |
Card turned into a token, plus the amount to charge | Golfmanager → Authorize.Net | Process the charge securely |
Customer billing details (name, address, city, postcode, country) | Golfmanager → Authorize.Net | Payment verification (AVS) |
Result, transaction ID and last digits of the card | Authorize.Net → Golfmanager | Confirm the charge and allow refunding it later |
Refund or void request | Golfmanager → Authorize.Net | Reimburse the customer |
🔒 Security: the full card number never reaches Golfmanager. Only the last digits and the transaction identifier are stored, which is what's needed to handle refunds.
Prerequisites (before turning the integration on)
Have a merchant account with Authorize.Net (and, for testing, a free sandbox account at developer.authorize.net).
Have the Authorize.Net module installed in your Golfmanager, along with the billing module. If you don't, contact support.
Your Authorize.Net credentials: API Login ID, Transaction Key and Client Key (public). You'll need one set for testing and another for production.
The right permissions: configuring the integration and viewing the transactions requires the manage billing permission.
How to set it up in Golfmanager (step by step)
Step 1 — Get your credentials in Authorize.Net
Log in to the Authorize.Net dashboard (the sandbox for testing, or the live account for production).
Go to Account > Security Settings > API Credentials & Keys.
Copy the API Login ID.
Generate and copy the Transaction Key.
In the Manage Public Client Key section, copy the Client Key (public).
If you're going to test first (recommended), get these three credentials from your sandbox account; when you go live, repeat it in your production account.
Step 2 — Enter your credentials in Golfmanager
Log in to Golfmanager.
Go to Settings > Authorize.Net (or search "Authorize.Net" in settings).
Under the test credentials, enter the API Login ID (Test), the Transaction Key (Test) and the Client Key (Test) from your sandbox account.
Under the production credentials, enter the API Login ID, the Transaction Key and the Client Key (Public) from your live account.
Save your changes.
The Transaction Keys (test and production) are stored encrypted.
Step 3 — Choose the environment with "Production mode"
The Production mode toggle decides which credentials and which environment are used:
Leave it off (the default) while you test: the test credentials are used and the payments aren't real.
Once you've validated everything, turn it on: from then on the production credentials are used and the charges are real.
Save your changes.
⚠️ Recommendation: start with production mode off, make a test payment with a sandbox card, and only turn it on once everything works.
Each configuration field explained
Below, one by one, is every field on the Settings > Authorize.Net screen: what it is, how it affects the system, how it behaves, and an example of use showing what happens when you use it.
Production mode
Field name: Production mode. It's a toggle (on/off).
Description: decides whether the integration works in the test environment (sandbox) or the production (live) one.
System impact: it determines which credential set is used and which Authorize.Net servers it connects to. It's the switch between "fake payments" and "real payments".
System behavior: with the toggle off, Golfmanager uses the test credentials and the sandbox environment; with it on, it uses the production credentials and the live environment, where charges to cards are real.
Example of use / what happens: you leave it off, make a payment with a test card and confirm everything works; then you turn it on and save. From that moment, customers pay for real.
API Login ID (Test)
Field name: API Login ID (Test).
Description: the identifier of your Authorize.Net sandbox account.
System impact: it identifies your test account to Authorize.Net. It's only used while production mode is off.
System behavior: it accompanies the test Transaction Key on every operation against the sandbox environment.
Example of use / what happens: you paste here the API Login ID shown in your sandbox account. With it, test payments are tied to that account.
Transaction Key (Test)
Field name: Transaction Key (Test).
Description: the secret transaction key of your sandbox account.
System impact: it's the password that authorizes test operations. Without it (or if it's wrong), test payments are rejected.
System behavior: it's stored encrypted and travels with the test API Login ID on every call to the sandbox.
Example of use / what happens: you paste the sandbox Transaction Key and save. From then on, tests can authenticate correctly.
Client Key (Test)
Field name: Client Key (Test).
Description: the public client key for sandbox, used by the secure card form (Accept.js) in the browser.
System impact: it lets the test card form turn the card into a token. Being public, it can appear in the browser with no risk.
System behavior: it's sent to the customer's payment form to initialize Accept.js in test mode.
Example of use / what happens: you paste the sandbox public Client Key. Without it, the test card form won't load.
API Login ID
Field name: API Login ID (the production one, without the "Test" label).
Description: the identifier of your live Authorize.Net account.
System impact: it identifies your production account. It's only used while production mode is on.
System behavior: it accompanies the production Transaction Key on every real charge and refund.
Example of use / what happens: you paste the API Login ID of your live account. With production mode on, charges are tied to that account and are real.
Transaction Key
Field name: Transaction Key (the production one).
Description: the secret transaction key of your live account.
System impact: it authorizes real charges and refunds. If it's missing or wrong, production operations are rejected.
System behavior: it's stored encrypted and travels with the production API Login ID on every real operation.
Example of use / what happens: you paste the production Transaction Key and save. It's essential for charging for real; treat it like a password and don't share it.
Client Key (Public)
Field name: Client Key (Public) (the production one).
Description: the public production client key, used by the real secure card form (Accept.js).
System impact: it lets the live card form turn the card into a token. Without it, the real payment form doesn't work.
System behavior: it's sent to the customer's payment form to initialize Accept.js in production mode.
Example of use / what happens: you paste the production public Client Key. With production mode on, it's the one that powers the form your customers see.
How it works day to day
The customer's online payment
The customer makes a booking or a purchase in the online shop/portal and goes to pay.
They select Authorize.Net as the payment method.
They click to continue and a secure card form appears (hosted by Authorize.Net).
They enter the card details and click Pay.
If the payment is approved, the sale is marked as paid instantly.
What happens / system behavior: the form turns the card into a token on Authorize.Net's servers; Golfmanager sends that token, the amount and the customer's billing details; Authorize.Net authorizes and captures in a single operation and replies. If it approves, the sale is marked as paid and the transaction ID and last digits of the card are stored; if it declines, the error is shown (for example, "The payment processor rejected the transaction") and the customer can retry.
This method is designed for the customer's online payments, not for taking payment at the physical POS.
Refunds
Open the sale you want to refund (from the admin panel or the POS).
Click Cancel / Refund.
Choose refund to the same payment method.
Confirm the refund.
What happens / system behavior: Golfmanager locates the original transaction (by its ID and the last digits of the card) and automatically picks the right option:
If the charge has already settled (usually after 24 hours): it issues a refund and the money goes back to the customer's card.
If the charge is from the same day and hasn't settled yet: if a refund isn't possible, it automatically issues a void, cancelling the charge before it's collected.
It supports partial refunds: you can refund part of the amount, and the system keeps track of how much has already been refunded.
How to check it's working
Go to Settings > Authorize.Net and confirm the three test-environment fields (API Login ID, Transaction Key and Client Key, all "Test") are filled in, with Production mode off.
Go into the online shop/portal, add a booking or a product and go to pay.
Choose Authorize.Net and, in the secure form, use a sandbox test card (for example,
4111 1111 1111 1111, with any future date and any CVV).Confirm the payment is approved and the sale is marked as paid.
Go to Admin > Authorize.Net > Transactions and confirm the charge appears with Success and its Authorize ID.
Issue a refund for that sale and confirm it also appears as successful in Transactions.
Once the whole cycle works, fill in the production credentials, turn on Production mode and save.
Reviewing the transactions
In Admin > Authorize.Net > Transactions you'll see every movement sent to the gateway. Each record shows:
Client: the customer linked to the operation.
Type: charge, refund or void.
Total: the amount of the operation.
Success: whether the gateway accepted the operation.
Authorize ID: the transaction identifier in Authorize.Net.
Last digits of the card and, if it failed, the error detail.
By default the list hides in-progress or incomplete attempts (drafts), so you only see completed operations. It's the first screen to check when a payment or a refund didn't turn out as expected.
Limitations to keep in mind
It's for the customer's online payments (bookings and online shop), not for taking payment at the physical POS.
Authorize.Net operates mainly in the US; you must have a valid merchant account with them.
Charges are in your Authorize.Net account's currency. If the charge currency doesn't match your account's, the gateway will reject it.
Test and production credentials are different: remember to turn on production mode to charge for real, and don't mix them.
A payment made in test mode is not a real charge: it only serves to validate the configuration.
It doesn't include 3D Secure authentication from Golfmanager: any extra security rules (CVV, AVS, 3DS) are applied from your Authorize.Net account itself.
It depends on an external service: if Authorize.Net is unavailable or takes too long to respond, that operation fails at that moment and can be retried; there's no automatic retry.
Frequently asked questions
Can Authorize.Net be used to take payment at the club's physical POS?
No. This integration is designed for the customer's online payments — that is, in the online shop and booking portal. It doesn't appear as a payment method at the physical counter POS.
Is it secure? Where does the customer enter their card details?
Yes. Card details are entered in a secure form hosted by Authorize.Net (Accept.js technology), not in Golfmanager. The card is turned into a single-use encrypted token on Authorize.Net's servers. The full card number never passes through Golfmanager.
What card data does Golfmanager store?
Only the last digits of the card and the Authorize.Net transaction identifier. That's all that's needed to show the movement and to be able to refund it later. The full number, the expiry date and the CVV are not stored in Golfmanager.
What is "Production mode" for?
It's the toggle that decides whether the integration works with real money or in testing. Off, it uses the test credentials and the sandbox environment (payments aren't real). On, it uses the production credentials and charges cards for real. Always start off and turn it on only once you've validated everything.
How do I run a test without charging for real?
Leave Production mode off, fill in the sandbox credentials (the "Test" fields) and make a payment in the online shop using an Authorize.Net test card (for example, 4111 1111 1111 1111 with any future date and any CVV). The payment is processed against the test environment and nothing real is charged.
I get "The payment method is not configured". What should I check?
It means credentials are missing for the active environment. If you're in test mode, check that the API Login ID (Test), Transaction Key (Test) and Client Key (Test) are filled in; if you're in production, check the API Login ID, Transaction Key and Client Key (Public). Complete the three fields of the environment you're using and save.
Authorize.Net doesn't appear when paying. Why?
The most common cause is that the module isn't installed or the payment method isn't available in the online portal. Check that the Authorize.Net module is installed (Admin > Modules) and that the configuration is complete. Also remember that Authorize.Net is an online payment method, not a physical-POS one.
The payment is declined or I see "The payment processor rejected the transaction". What do I do?
It means Authorize.Net didn't approve the charge (invalid card, insufficient funds, incorrect details or a gateway rule). Open Admin > Authorize.Net > Transactions and look at the error detail of that operation: it usually states the reason. The customer can try another card or review the details entered.
I see "Invalid cart" or "Invalid intent". What do they mean?
They indicate the payment was attempted against a cart or a payment intent that is no longer valid (for example, because the cart expired, was modified, or was retried much later). The fix is to start the payment again from a new cart.
How do I refund a customer?
Open the original sale, click Cancel / Refund, choose refund to the same payment method and confirm. Golfmanager handles the rest: it locates the original transaction and asks Authorize.Net to return the amount to the customer's card.
What's the difference between a refund and a void?
A refund is used when the charge has already settled (usually after 24 hours): the money already left the card and is returned. A void is used when the charge is from the same day and hasn't settled yet: it's cancelled before it's collected. You don't have to choose: Golfmanager tries the refund first and, if it isn't possible because the charge hasn't settled, it automatically does the void.
Can I refund only part of the amount?
Yes. The integration supports partial refunds: you can reimburse part of the sale, and the system keeps track of how much has already been refunded for that transaction.
When I try to refund, it tells me to cancel the original payment. What does that mean?
The refund must start from the original Authorize.Net payment so it knows which transaction to reimburse. Make sure you open the original sale and use Cancel / Refund to the same payment method, rather than creating a standalone refund not linked to the original charge.
Where do I confirm a charge or a refund went through?
In Admin > Authorize.Net > Transactions. Each operation appears with its type (charge, refund or void), the amount, whether it was a success, the Authorize ID, the last digits of the card and, if it failed, the error detail. It's the reference screen for reviewing any issue.
What do the types "charge", "refund" and "void" mean?
A charge is a payment from the customer. A refund returns to the card an amount that has already settled. A void cancels a charge that hadn't settled yet. You'll see each of these types in the relevant column of the transactions list.
Some payment attempts aren't showing in Transactions. Why?
By default the list hides in-progress or incomplete attempts (drafts), to show only completed operations (charges, refunds and voids). It's normal for an attempt the customer never completed not to appear in the default view.
What permissions do I need to configure it and view the transactions?
You need the manage billing permission. With it, you can access the Authorize.Net settings screen and the transactions list.
Are the credentials stored securely?
Yes. The Transaction Keys (both test and production) are stored encrypted in Golfmanager. The API Login ID and the public Client Key aren't sensitive secrets (the Client Key is meant to be used in the browser), but it's good practice to treat all credentials carefully and not share them.
What happens if Authorize.Net is unavailable when a customer tries to pay?
If the gateway doesn't respond or takes too long, that operation fails at that moment and the customer can retry the payment. There's no automatic retry. If the problem persists, it's most likely an issue on Authorize.Net's side.
Does the integration request 3D Secure authentication (the bank's code)?
Not from Golfmanager. The integration doesn't add the 3D Secure step. The security checks (CVV, address verification AVS, 3DS) are applied by Authorize.Net according to your merchant account's configuration. If you need to require 3DS, you must enable it in your Authorize.Net account.
What currency are charges in?
In your Authorize.Net account's currency. If the charge amount is in a currency other than the one your merchant account accepts, the gateway will reject it. Make sure the currency of your operation matches your account's.
Do I need a US account to use Authorize.Net?
Authorize.Net operates mainly in the US, so you need a valid merchant account with them. It's the usual choice for clubs that work with that provider; if you operate in another region with a different gateway, you'll probably use a different integration.
What's the difference between the API Login ID, the Transaction Key and the Client Key?
They're the three pieces of the connection. The API Login ID identifies your account. The Transaction Key is the secret key that authorizes operations (stored encrypted; treat it like a password). The Client Key is a public key the card form uses in the browser to turn the card into a token. All three are needed for the charge to work.
I made a payment in test mode — was it actually charged?
No. Any payment made with Production mode off happens in the test environment (sandbox) and generates no real charge. To charge for real, you have to fill in the production credentials and turn on Production mode.
I've finished testing. How do I switch to charging for real?
Go to Settings > Authorize.Net, fill in the production credentials (API Login ID, Transaction Key and Client Key (Public) of your live account), turn on Production mode and save. Make a first real test charge with your own card to confirm the whole cycle (charge and, if you want, refund) works.
Recommended best practices
Test in test mode first with sandbox cards before turning on production.
Keep your production credentials safe and don't share them; the Transaction Key is stored encrypted in Golfmanager.
When a payment fails, check Transactions first: the error detail usually points to the cause.
Make a test charge and a test refund at go-live, to validate the whole cycle.
Confirm your Authorize.Net account's currency matches your operation before you start charging.
Turn on Production mode only once everything is validated, and make a first controlled real charge to be sure.
