Contents
What is this integration?
The integration with the payment provider 2C2P lets clubs that operate with this gateway offer secure, efficient online payments. It also lets you save cards for future payments and process refunds directly from Golfmanager.
It is especially useful in markets such as Asia, where 2C2P is one of the leading providers, and it supports payment by card and by QR code.
To enable the integration you need to install the payment2C2P module (from the App Market or with help from support). For purchasing and downloading it, contact our support team.
What problem does it solve?
It lets you take secure online payments by card or QR for clubs that work with 2C2P.
It speeds things up for regular customers: they can save their card and pay without re-entering it.
It handles refunds directly from Golfmanager (instantly from the POS, or automatically for booking cancellations).
It is natively integrated with the Golfmanager operating environment.
What can it do?
Function | What it is for |
Online payment (card / QR) | The customer pays directly through 2C2P when booking or buying |
Save card | Stores the customer's card (token) for faster future payments |
Refunds | Refund the amount of a booking or sale paid with 2C2P |
Which systems does it connect, and which way does the data flow?
It connects the Golfmanager checkout (payment) with the 2C2P gateway:
The customer is redirected to 2C2P's secure environment, where they pay by card or QR.
2C2P processes the payment and returns the result to Golfmanager, which marks the sale as paid.
To refund, Golfmanager asks 2C2P to process the refund.
🔒 Security: card details are handled by 2C2P. If you save the customer's card, Golfmanager stores a secure reference (customer token), not the card number. Secret keys and certificate files are stored encrypted and privately.
Prerequisites (before activating the integration)
Have the payment2C2P module installed.
Have a 2C2P account for testing (sandbox) and/or production, with access to the merchant Options menu.
Generate the key pair with your technical team: a private key (
privatekey.pemfile) and its public key (public_key_x509.pemcertificate).Have ready the Merchant ID, the secret SHA keys (test and production) and 2C2P's public certificate.
Billing permissions to configure.
Setup in your 2C2P account
Before configuring Golfmanager, prepare these two items in your 2C2P account (Options > PAYMENT RESULT URL menu):
Log in to your 2C2P account (test or production environment).
Go to Options > PAYMENT RESULT URL.
Enter in the "Frontend return URL" field your Golfmanager address ending in
/2c2p/callback(for example, your club's address followed by/2c2p/callback). This is the URL 2C2P returns the customer to after paying.Paste the contents of your public key (
public_key_x509.pem) into the "Server-to-server API - Public key" field.Save the changes in 2C2P.
⚠️ If the Frontend return URL is wrong, the customer won't return correctly to Golfmanager after paying and the payment may go unconfirmed. Confirm it with your IT team.
Setup in Golfmanager (step by step)
Log in to Golf Manager.
In the side menu, select 2C2P.
Click Settings.
Turn the Production Mode on or off depending on whether you'll operate live or in testing.
Enter the Merchant ID and the Currency.
Enter the Test Secret Key and the Production Secret Key.
Upload the Certificate Key file and the Private Key file.
Save the changes.
Each field is explained in detail below.
Field-by-field reference
Production Mode
Description: a switch that decides whether the gateway runs live (production) or in testing (sandbox).
System impact: it determines which secret keys are used. On → production keys and charges (real money). Off → test keys and environment (no real charges).
Behaviour: with the switch off, payments are processed against 2C2P's test environment; when you turn it on, all charges become real.
Example of use: during onboarding, leave it off and run test payments with test cards; once everything works, turn it on to start charging for real.
Merchant ID
Description: your unique merchant identifier in 2C2P.
System impact: it identifies your charges to 2C2P; without it, no payments can be generated.
Behaviour: it is sent with every payment request to 2C2P.
Example of use: in 2C2P, go to Options > Merchant Information, copy the Merchant ID value and paste it here.
Currency
Description: the currency in which transactions are processed.
System impact: all payments are charged in this currency; it must match the one enabled on your 2C2P account.
Behaviour: it is included in every payment request. Default value: THB (Thai baht).
Example of use: if you operate in Thailand, leave it as THB; change it to the currency your account supports if you operate in another market.
Test Secret Key
Description: the secret SHA key for 2C2P's test environment.
System impact: it securely signs and validates transactions when Production Mode is off.
Behaviour: the system uses it only in test mode; it is stored encrypted.
Example of use: in your 2C2P test account, go to Options > Merchant Keys (Secret Key), copy the current SHA key and paste it here.
Production Secret Key
Description: the secret SHA key for the live (production) environment.
System impact: it signs and validates real charges when Production Mode is on.
Behaviour: the system uses it only in production mode; it is stored encrypted.
Example of use: repeat the previous step but in your 2C2P production account, and paste the production SHA key here. Use it for production only.
Certificate Key
Description: 2C2P's public certificate (file) that you download from your account.
System impact: it establishes encrypted, trusted communication between Golfmanager and 2C2P.
Behaviour: it is used to validate/encrypt the messages exchanged with 2C2P; it is a file field, private.
Example of use: in 2C2P, go to Options > 2C2P Public Keys, download the certificate file and upload it to this field.
Private Key
Description: your private key (
privatekey.pemfile), generated by your technical team.System impact: it securely signs the requests Golfmanager sends to 2C2P.
Behaviour: it works together with the certificate for secure communication; it is a file field, private. Do not share it.
Example of use: upload the
privatekey.pemfile you generated when creating the key pair (the same one the public key you pasted into 2C2P comes from).
⚠️ The private key and the public key are a pair: the public one is loaded into 2C2P and the private one into Golfmanager. They must match, or secure communication will fail.
Day-to-day use
Online payment (card or QR)
The customer makes a booking or purchase and chooses 2C2P as the payment method.
Golfmanager redirects them to 2C2P, where they pay by card or QR code.
Once complete, they return to Golfmanager.
What happens / system behaviour: Golfmanager builds the request with your Merchant ID, the amount, the currency and the sale reference, and sends the customer to the 2C2P payment screen. If the payment is approved, the sale is automatically marked as paid; if it is declined, the sale stays pending.
Save card
When paying, the customer ticks the "Save card for future use" option.
On the next payment, their saved card appears as an option.
What happens / system behaviour: when the card is saved, 2C2P returns a customer token (customerToken) that is linked to their profile. On future payments, that token is used so they don't have to re-enter the card. You can review the tokens in Golf Manager > 2C2P > Client Token (Customer Token).
Refunds
From the POS (Options > Discard): the refund is requested to 2C2P instantly, the sale is marked as cancelled and a "Cancellation" sale is created. It supports partial refunds.
Cancellation from the customer portal: the booking is cancelled immediately, the sale stays active, and an automatic process (cron job) runs the refund later.
Cancellation from the internal booking view: same as the portal: booking cancelled at once and refund processed automatically later.
What happens / system behaviour: for booking cancellations (portal and internal), there is nothing else to do: the scheduled task checks the cancelled bookings paid with 2C2P and processes the refund automatically. From the POS, by contrast, the refund is instant when you discard the sale.
Transactions and saved cards
In the 2C2P menu you have:
Transactions (Transaction): the history of all payments and refunds, with their result. It is the first screen to check when a payment or a refund hasn't gone as expected. (Golf Manager > 2C2P > Transaction)
Client Token: the customers' saved cards. (Golf Manager > 2C2P > Client Token)
Limitations to keep in mind
Refunds for booking cancellations aren't instant: they are processed automatically by the scheduled task (no manual action needed). Only the refund from the POS is instant.
It requires the payment2C2P module and a 2C2P account with its keys, certificate and the Frontend return URL set up.
It is an online payment (not for the physical POS card reader): the customer pays in the 2C2P environment.
Designed for markets where 2C2P is used and to operate in THB or other currencies enabled on your account.
Test and production keys are different: remember to turn on Production Mode to charge for real.
It depends on 2C2P: if the service is unavailable, payments cannot be processed at that time.
Benefits
Secure, fast online payments, by card or QR.
The option to save cards for future payments.
Supports automatic refunds from bookings and instant refunds from the POS.
Native integration with the Golfmanager operating environment.
Ideal for clubs operating in THB or other currencies configured in 2C2P.
Frequently asked questions
How is 2C2P different from taking a payment with a POS card reader?
2C2P is an online payment: the customer pays in 2C2P's secure environment (by card or QR code), not with a physical card reader at the club. It is used when booking or buying online, and once finished the customer returns to Golfmanager with the payment confirmed.
What do I need to have ready to start using it?
You need: the payment2C2P module installed; a 2C2P account (test and/or production); the key pair your technical team generates (private key privatekey.pem and its public key); and your 2C2P account details: Merchant ID, the secret SHA keys (test and production) and the public certificate. In addition, in 2C2P you must set up the Frontend return URL and paste your public key.
Where is everything configured? Do I set things in both 2C2P and Golfmanager?
Yes, in both places. In 2C2P (Options > PAYMENT RESULT URL) you set the Frontend return URL (ending in /2c2p/callback) and paste your public key. In Golfmanager (the 2C2P > Settings menu) you enter Production Mode, the Merchant ID, the Currency, the secret keys and the certificate and private key files.
2C2P doesn't appear as a payment method. Why?
It is almost always because the module or the configuration is missing. Check that the payment2C2P module is installed and that in 2C2P > Settings the Merchant ID, the keys and the certificate are filled in.
The customer pays, but the sale isn't marked as paid. What should I check?
The most common cause is the Frontend return URL: it must be your Golfmanager address ending in /2c2p/callback and entered correctly in 2C2P. Also check that you have pasted the public key (Server-to-server) correctly in 2C2P. If those details are wrong, the customer pays but the result doesn't return properly to Golfmanager.
The payment is declined. What could be happening?
It may be a card declined by the customer's bank, or a wrong environment key (for example, using the test key in production). Check the secret key of the active environment and review the attempt detail in 2C2P > Transactions.
I cancelled a booking paid with 2C2P, but the refund doesn't appear right away. Is that normal?
Yes, that's expected. For booking cancellations (from the customer portal or the internal view), the booking is marked cancelled at once, but the refund is processed automatically by a scheduled task that runs every 12 hours. You don't need to do anything: it runs on its own. (The refund from the POS, by contrast, is instant.)
What is "Production Mode" for, and why are there test and production keys?
The Production Mode decides whether charges are real (on) or test (off, sandbox). Depending on its state, the system uses the production secret key or the test one. That's why you should fill in both: the test one to validate the integration without charging for real, and the production one to go live.
What's the difference between the "Private Key" and the "Certificate Key"?
They are different pieces of the secure communication. The Certificate Key is 2C2P's public certificate, which you download from your account and upload to Golfmanager. The Private Key is yours (the privatekey.pem file your team generates) and forms a pair with the public key you paste into 2C2P. The public one goes in 2C2P and the private one in Golfmanager: they must match.
Which currency should I set?
The currency enabled on your 2C2P account. It comes set to THB (Thai baht) by default, given its common use in Asia; change it to yours if you operate in another market.
How does the customer save their card, and where can I see it?
When paying, the customer ticks "Save card for future use". That creates a customer token linked to their profile, which lets them pay on future occasions without re-entering the card. You can review those tokens in Golf Manager > 2C2P > Client Token (Customer Token).
How do I issue a refund?
It depends on where you cancel: from the POS, open the sale and use Options > Discard and the refund is requested instantly (partial refunds supported). For bookings (portal or internal view), just cancel: the refund is processed automatically by the scheduled task.
Where do I review the payments and refunds made?
In Golf Manager > 2C2P > Transaction. There you see the history of payments and refunds with their result; it is the reference screen for reviewing any issue.
What exactly happens, step by step, when a customer pays?
Golfmanager builds the payment request with your Merchant ID, the amount, the currency and the sale reference, and redirects the customer to the 2C2P payment screen. The customer pays (card or QR) and returns to Golfmanager. If 2C2P approves the payment, the sale is marked as paid; if it declines it, the sale stays pending.
Can I use 2C2P to take in-person payments with a card reader?
No. 2C2P in this integration is an online payment. For in-person payments with a card reader, other gateway integrations are used.
I'm testing and I'm worried about charging for real. How do I avoid it?
Keep Production Mode off: in that state all payments go against 2C2P's test environment and there are no real charges. Use 2C2P's test cards. Once everything works, turn on Production Mode to start charging for real.
