Skip to main content

v3 - CardNet Integration

Complete guide to the CardNet integration: online card payments, saved cards and recurring charges, step-by-step setup, every configuration field explained, transactions, limitations and FAQs.

Contents

What is this integration?

The CardNet integration connects Golfmanager with the CardNet payment gateway, the leading card payment processor in the Dominican Republic. It lets your customers pay online by card — credit or debit — when they make a booking or a purchase.

Beyond one-off payments, the integration can save the customer's card securely for future charges (for example, membership fees or recurring payments), without having to ask for the details again each time.

A payment gateway is the service that connects your business with the banks to take card payments securely. CardNet is the reference gateway in the Dominican Republic. Golfmanager sends it the amount and a card token, and it takes care of the charge.

What problem does it solve?

  • Enables online card payments for clubs that operate with CardNet, with no manual work.

  • Increases security: card details are entered in a protected CardNet form and never pass through Golfmanager's servers.

  • Saves the card for recurring charges: ideal for membership fees and periodic payments, which can be charged automatically.

  • Leaves a trail of every operation: charges and attempts are recorded in a transactions screen.

  • Separates testing from real charges: a test environment 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 CardNet gateway, in real time:

  • The customer enters their card in a secure CardNet form (a CardNet window embedded in the page), which turns it into an encrypted code (a token).

  • Golfmanager sends that token and the amount to CardNet, which processes the charge and replies whether it was approved or declined.

  • If it's approved, the sale is marked as paid automatically.

  • To save the card, Golfmanager registers the customer in CardNet (with their name, email and phone) and CardNet returns an identifier for future charges.

What information is exchanged?

Information

Direction

Purpose

Customer details (name, email, phone)

Golfmanager → CardNet

Register the customer so their card can be saved

Card turned into a token, plus the amount to charge

Golfmanager → CardNet

Process the charge securely

Charge result and transaction identifier

CardNet → Golfmanager

Confirm the payment and keep a record

Customer's saved cards (brand, expiry, last digits, status)

CardNet → Golfmanager

Show and choose the card to charge

🔒 Security: the full card number never reaches Golfmanager. The card form is handled directly by CardNet; Golfmanager only receives a token and the charge result. Saved cards live in CardNet; Golfmanager only stores the customer's identifier in CardNet so it can look them up.

Prerequisites (before turning the integration on)

  1. Have a merchant account with CardNet, with test and production access.

  2. Have the CardNet module installed in your Golfmanager, along with the billing module. If you don't, contact support.

  3. The credentials CardNet provides: the API address, the public key and the private key (test and production).

  4. The currency charges will be made in (for example, the Dominican peso).

  5. That customers have an email address: CardNet needs it to register them. If it's missing, the system will ask for it during payment.

  6. The right permissions: configuring the integration and viewing the transactions requires system administrator / manage billing permission.

How to set it up in Golfmanager (step by step)

Setup has three parts: the general details (currency), the credentials (test and production), and the environment (production mode).

Step 1 — Open the settings and set the currency

  1. Log in to Golfmanager with manage billing permission.

  2. Go to Billing > CardNet Configuration (or search "CardNet" in settings).

  3. Set the currency charges will be made in.

  4. Save your changes.

Step 2 — Enter the test credentials

  1. In the test credentials section, enter the test API (the address of CardNet's test service).

  2. Enter the test public key.

  3. Enter the test private key (stored encrypted).

  4. Save your changes.

Step 3 — Enter the production credentials

  1. In the production credentials section, enter the production API (the address of CardNet's live service).

  2. Enter the production public key.

  3. Enter the production private key (stored encrypted).

  4. Save your changes.

Step 4 — Choose the environment with "Production mode"

  1. Leave Production mode off (the default) while you test: the test credentials are used and the payments aren't real.

  2. Once you've validated everything, turn it on: the production credentials are used and the charges are real.

  3. Save your changes.

⚠️ Recommendation: start with production mode off, make a test payment, and only turn it on once everything works.

Each configuration field explained

Below, one by one, is every field on the CardNet Configuration 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 or the production (live) one.

  • System impact: it determines which credential set (and which CardNet address) is used. It's the switch between "fake payments" and "real payments".

  • System behavior: with the toggle off, Golfmanager uses the test API and keys; with it on, it uses the production API and keys, where charges to cards are real.

  • Example of use / what happens: you leave it off, make a test payment and confirm everything works; then you turn it on and save. From that moment, customers pay for real.

Currency

  • Field name: Currency.

  • Description: the currency all CardNet charges are made in.

  • System impact: it's sent to CardNet on every charge. It must match the one your merchant account accepts; otherwise charges will be rejected.

  • System behavior: it applies to every operation equally (there's no per-charge currency override).

  • Example of use / what happens: you set your CardNet account's currency (for example, the Dominican peso) and save. From then on, all charges are sent in that currency.

Test API

  • Field name: Test API.

  • Description: the address of CardNet's test service (sandbox).

  • System impact: it's the destination for test operations. It's only used while production mode is off.

  • System behavior: Golfmanager connects to this address to load the card form and process test payments.

  • Example of use / what happens: you paste the test-environment address CardNet provides and save. With it, test payments are processed against the sandbox.

Test public key

  • Field name: Test public key.

  • Description: the public key for the test environment, used by CardNet's card form in the browser.

  • System impact: it lets the test card form load. Being public, it can appear in the browser with no risk.

  • System behavior: it's sent to the customer's payment form to initialize the CardNet form in test mode.

  • Example of use / what happens: you paste the test public key. Without it, the test card form won't load.

Test private key

  • Field name: Test private key.

  • Description: the secret key for the test environment, which authorizes operations against the sandbox.

  • System impact: it's the "password" that validates test requests to CardNet. Without it, or if it's wrong, test payments fail.

  • System behavior: it's stored encrypted and used to authenticate calls to the test API.

  • Example of use / what happens: you paste the test private key and save. Treat it like a password, even though it's for testing.

Production API

  • Field name: Production API.

  • Description: the address of CardNet's live service.

  • System impact: it's the destination for real charges. It's only used while production mode is on.

  • System behavior: Golfmanager connects to this address for the real forms and charges.

  • Example of use / what happens: you paste the live-environment address CardNet provides and save. With production mode on, charges are processed against the live service.

Production public key

  • Field name: Production public key.

  • Description: the public key for the live environment, used by CardNet's card form in the browser.

  • System impact: it lets the live card form load. Without it, the production payment form doesn't work.

  • System behavior: it's sent to the customer's payment form to initialize the CardNet form in production mode.

  • Example of use / what happens: you paste the production public key. With production mode on, it's the one that powers the form your customers see.

Production private key

  • Field name: Production private key.

  • Description: the secret key for the live environment, which authorizes real charges.

  • System impact: it authorizes production charges. If it's missing or wrong, real operations are rejected.

  • System behavior: it's stored encrypted and used to authenticate calls to the live API.

  • Example of use / what happens: you paste the production private key and save. It's essential for charging for real; treat it like a password and don't share it.

How it works day to day

The customer's online payment

  1. The customer makes a booking or a purchase and goes to pay.

  2. They select CardNet as the payment method.

  3. If they have no email on record, the system asks for it (CardNet needs it to register them).

  4. A secure CardNet card form appears. The customer enters the card (or chooses a saved one) and clicks Pay.

  5. 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 CardNet's servers; Golfmanager registers the customer in CardNet (if they weren't already), sends the token and the amount, and CardNet processes the charge. If it approves, the sale is marked as paid and the operation is recorded; if it declines, the error is shown (for example, "Payment failed") and the customer can retry with another card.

This method is designed for the customer's online payments, not for taking payment at the physical POS.

Saving the card and recurring charges

The customer can save their card during payment. From then on, that saved card can be used for:

  • Automatic charges for fees and recurring payments (for example, membership fees).

  • Direct charges from administration against the customer's saved card, without them having to enter it again.

For automatic and direct charges, the customer must have a saved and active (enabled) card in CardNet. A newly saved card may be left pending activation: CardNet sends a security code to the customer's email that must be entered to enable it. If the card isn't enabled, the charge can't be made.

How to check it's working

  1. Go to Billing > CardNet Configuration and confirm the test API, public key and private key are filled in, along with the currency, with Production mode off.

  2. Go into the online shop/portal, add a booking or a product and go to pay.

  3. Choose CardNet, complete the email if prompted, and use a CardNet test card in the secure form.

  4. Confirm the payment is approved and the sale is marked as paid.

  5. Go to CardNet > Transactions and confirm the charge appears as successful.

  6. Once everything works, fill in the production credentials, turn on Production mode and save.

Reviewing the transactions

The CardNet menu includes two logs:

  • CardNet Transactions: every charge sent to the gateway, with the customer, the amount, the type, whether they were successful or failed, the operation identifier and the error detail if there was one.

  • Frontend Logs: the technical detail of what happens in the customer's payment form (for example, when a token is created, cards are loaded, one is activated, or a purchase is attempted). Useful for support to diagnose a specific problem during payment.

By default the transactions list hides in-progress or incomplete attempts (drafts), so you only see completed operations. They're the first screen to check when a payment didn't turn out as expected.

Limitations to keep in mind

  • It's for the customer's online payments (bookings, shop and recurring charges), not for taking payment at the physical POS.

  • CardNet operates in the Dominican Republic; you must have a valid merchant account with them.

  • The customer needs an email address to be registered in CardNet; without it, the charge can't be completed.

  • Saved cards may require activation: until the customer enters the code CardNet sends by email, the card isn't enabled for automatic charges.

  • Refunds aren't processed from this integration: handle them according to the procedure agreed with CardNet.

  • Charges are made in a single currency, the one configured.

  • Test and production credentials are different: remember to turn on production mode to charge for real, and don't mix environments.

  • It depends on an external service: if CardNet is unavailable or takes too long to respond, the payment fails at that moment and can be retried; there's no automatic retry.

Frequently asked questions

Can CardNet be used to take payment at the club's physical POS?

No. This integration is designed for the customer's online payments (bookings, online shop and recurring charges). 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 CardNet form embedded in the page, not in Golfmanager. The card is turned into an encrypted token on CardNet's servers. The full card number never passes through Golfmanager.

What card data does Golfmanager store?

Golfmanager does not store the card number. Saved cards live in CardNet; Golfmanager only keeps the customer's identifier in CardNet, and queries CardNet when it needs to show the cards (brand, expiry and last digits) or to charge. Each card's token is obtained from CardNet at charge time, not stored locally.

Why does it ask for the customer's email when paying?

Because CardNet requires an email to register the customer and be able to process the payment (and save the card). If the customer has no email on their record, the system asks for it during payment. It only fills the email if it's missing; it doesn't overwrite an existing one.

What happens if the customer has no email address?

The payment can't be completed without an email, because CardNet needs it to register the customer. The form will ask for the email at that point; it's best for customer records to have an email to avoid interruptions during the charge.

How is a customer's card saved?

During payment, the customer can save their card in CardNet. From then on, that card is associated with their CardNet record and can be used for future charges without retyping it. Each saved card shows its brand, expiry, last digits and status (enabled or pending activation).

What is the security code the customer receives by email?

It's CardNet's activation code. When a card is saved but left disabled, CardNet sends a code to the customer's email. The customer must enter that code to enable the card. Until it's enabled, it can't be used to charge them automatically.

When paying I get "You must select a card". What does it mean?

It means the customer has saved cards but hasn't chosen one before clicking Pay. They must select a card from the list (or add a new one) and then complete the payment.

How do recurring charges or membership fees work?

Once the customer has a saved and enabled card, Golfmanager can charge them automatically (for example, fees) or via a direct charge from administration, using that card without the customer having to enter it again. The charge is processed against CardNet just like an online payment.

What does a customer need so I can charge them automatically?

Three things: to be registered in CardNet (Golfmanager does this the first time they pay), to have a saved card, and for that card to be enabled. If any is missing, the automatic charge doesn't happen and you'll see a notice indicating what's missing.

I get "The customer does not have a saved CardNet card". What do I do?

It means you're attempting a recurring or direct charge on a customer who has no saved card in CardNet. The customer must save a card first (for example, on their next online payment) before you can charge them this way.

I get "The customer does not have an enabled CardNet card". What does it mean?

The customer has a saved card, but it's pending activation. They must enter the security code CardNet sent to their email to enable it. Once enabled, you can charge them.

Can I issue refunds from Golfmanager with CardNet?

No. Refunds are not processed from this integration. If you need to reimburse a customer, you must handle it according to the procedure agreed with CardNet (for example, from their own dashboard or with their support).

I get "CardNet is not configured". What should I check?

Details for the active environment are missing. Go to Billing > CardNet Configuration and check that the API, the public key and the private key of the environment you're using (test or production) are filled in, along with the currency. Complete whatever's missing and save.

I get "Could not register the customer with CardNet". Why?

Usually because customer details are missing (most often the email) or because CardNet rejected the registration. Complete the customer's email and try again; in the Frontend Logs you can see the detail of what CardNet returned.

I get "Payment failed". What do I do?

It means CardNet didn't approve the charge (card declined, insufficient funds or a gateway rule). Open CardNet > Transactions and look at the error detail of that operation: it usually states the reason. The customer can try another card.

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 (payments aren't real). On, it uses the production credentials and charges 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 test credentials and make a payment in the online shop with a CardNet test card. The payment is processed against the test environment and nothing real is charged.

I made a payment in test mode — was it actually charged?

No. Any payment made with Production mode off happens in the test environment and generates no real charge. To charge for real, fill in the production credentials and turn on Production mode.

Where do I confirm a charge went through?

In CardNet > Transactions. Each operation appears with its customer, amount, type, whether it was a success, the identifier and, if it failed, the error detail. It's the reference screen for reviewing any issue.

What are the "Frontend Logs"?

They're a technical record of what happens in the customer's payment form (loading cards, creating a token, activating a card, attempting a purchase, etc.). They're mainly for support to diagnose a specific problem during payment; they aren't needed in normal use.

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. It's normal for an attempt the customer never completed not to appear in the default view.

What permissions do I need to configure the integration and view the transactions?

Manage billing / system administrator permission. With it, you can access the CardNet settings and the transaction logs.

Are the keys stored securely?

Yes. The private keys (test and production) are stored encrypted in Golfmanager. The API and the public key aren't sensitive secrets (the public key is meant to be used in the browser), but it's good practice to treat all credentials carefully and not share them.

What currency are charges in?

In the currency configured on the CardNet screen. It must match the one your merchant account accepts; otherwise CardNet will reject the charge. All charges use that same currency.

What happens if CardNet is unavailable when a customer tries to pay?

If the gateway doesn't respond or takes too long, the payment fails at that moment and the customer can retry it. There's no automatic retry. If the problem persists, it's most likely an issue on CardNet's side.

Does it support additional bank verification (3D Secure)?

The security verification is handled by CardNet in its form. In addition, for saved cards, CardNet uses its own security mechanism: the activation code it sends to the customer's email. Any additional authentication requirement is applied by CardNet, not by Golfmanager.

I've finished testing. How do I switch to charging for real?

Go to Billing > CardNet Configuration, fill in the production credentials (real API, public key and private key), turn on Production mode and save. Make a first controlled real charge to confirm everything works.

Recommended best practices

  • Test in test mode first before turning on production, and make a sample charge.

  • Make sure customers have an email to avoid errors when registering the card.

  • Ask customers to activate their saved card (with the code they receive by email) if you're going to charge them recurring fees.

  • Keep your production credentials safe and don't share them; the private keys are stored encrypted in Golfmanager.

  • Confirm the configured currency matches your CardNet account before you start charging.

  • When a payment fails, check Transactions and the Frontend Logs first: the error detail usually points to the cause.

Did this answer your question?