Connect your payment processor

A step-by-step guide to connecting your own card processor to Sóley. Find your processor below.

Setup is pasting the keys below. How Sóley learns that a payment went through depends on the processor: Teya SecurePay tells Sóley itself, for Teya online payments you register one webhook in the Teya Business Portal and Sóley also asks Teya when someone checks the booking (see its section), Sóley asks Rapyd when someone checks the booking, and for Straumur you register one callback URL in the Straumur dashboard (see the Straumur section). If Sóley cannot match or confirm a payment, our team gets an alert. A payment is never marked paid unless it is confirmed.
You stay the merchant of record. Travelers pay you directly through your own processor; Sóley never holds your funds and invoices its 10% commission separately.

Teya SecurePay (for existing SecurePay accounts)

SecurePay is Teya's older online payment page (formerly Borgun). Connect it if Teya has already set up SecurePay for your business. Teya says it will soon stop taking on new merchants and closes in early 2027. For Teya's new online payments, use the Teya online payments section instead. If you are not sure which you have, email support@soley.travel.

Steps

  1. 1You have SecurePay if customers on your own website are sent to a Teya or Borgun payment page (its address contains securepay.borgun.is).
  2. 2Teya issued your merchant ID, payment gateway ID and secret key when that page was set up. Whoever built your website may have them in its payment settings.
  3. 3If you cannot find them, ask Teya at hjalp@teya.is or +354 560 1600 for your SecurePay merchant ID, payment gateway ID and secret key. You cannot create them yourself in a Teya portal.
  4. 4Do not use the Client ID and Client Secret from the Teya Business Portal (Settings, Integrations). They are for Teya's new platform and do not work in this form.
  5. 5Copy the three values into Sóley exactly as they are, with no extra spaces. Never send them by email, not even to Sóley.
  6. 6Save. Sóley sets the environment: production on soley.travel, so these are your live values. Saving checks that the values have the right shape. It does not contact Teya, so a wrong secret shows only when the first payment fails.

What to paste

Merchant ID
A number issued by Teya with your SecurePay payment page.
Payment gateway ID
Issued by Teya with the same SecurePay setup. Each merchant ID and gateway ID pair works in one currency.
SecurePay secret key
Issued by Teya with your SecurePay setup. Treat it like a password: never share it or send it by email.

Teya online payments

Teya's new online payments (Hosted Checkout). Connect it if your Teya online store has Teya's online payments subscription. Sóley creates a Teya checkout for each payment, and Teya tells Sóley when a payment succeeds at one webhook you register in the Teya Business Portal.

Steps

  1. 1Sign in to the Teya Business Portal (business.teya.com) with your Teya ID and open Settings, then your online store. A store for card terminals does not take online payments: the online store is a separate store under the same Teya account.
  2. 2Open Integrations and create an ecommerce API credential. Teya shows a Client ID, a Client Secret and a Store ID. The Client Secret is shown once, so copy it then. If the portal says no compatible store was found, the store has no online payments subscription: ask your Teya contact to add it.
  3. 3Still in Integrations, choose Add webhook and enter the callback URL Sóley shows in the 'Register this callback URL' box on the payment step. The portal then issues a public key for that webhook.
  4. 4Paste the Client ID, Client Secret, Store ID and the webhook public key into Sóley. Never send them by email, not even to Sóley.
  5. 5Save. Sóley sets the environment: production on soley.travel, so use the credential and the webhook from business.teya.com. Teya's staging portal (business.teya.xyz) is for Sóley's test site, and the two never share keys. Saving asks Teya for an access token with your Client ID and Client Secret and checks the shape of the Store ID and the public key. Only a payment proves the Store ID and the webhook key.

What to paste

Client ID
Teya Business Portal, Settings, your online store, Integrations. Shown when you create the ecommerce API credential.
Client Secret
Shown once when you create the credential. Copy it then.
Store ID
Shown with the Client ID and Client Secret.
Webhook public key
Issued by the portal when you add the webhook (Integrations, Add webhook). One key per webhook and per environment.
Callback URL (you register it)
Integrations, Add webhook: paste the URL from Sóley's 'Register this callback URL' box.

Straumur (Kvika)

Straumur (Kvika) has a few extra steps: besides your API key and terminal identifier, you copy a signing secret and register one callback URL so Sóley learns when a payment completes. It takes a few minutes: follow the steps below. Your Straumur contract must include a Payment Link terminal. If your terminal was set up only for Components, payments fail (error 2016) until Straumur adds a Payment Link terminal.

Steps

  1. 1Sign in to the Straumur merchant dashboard at portal.straumur.is.
  2. 2Go to Settings → API keys and copy the secret API key (not the public one). Paste it into Sóley's 'API key' field.
  3. 3Go to Terminals (Útstöðvar), open your Payment Link terminal and copy its 12-character terminal identifier (Auðkenni útstöðvar). It is not the shorter 8-character terminal number. Paste it into 'Terminal identifier'. If you have no Payment Link terminal, ask Straumur to add one.
  4. 4Go to Webhooks / Notifications and copy the signing secret (a long hex string). If none exists yet, create one. Paste it into 'Webhook HMAC secret'.
  5. 5Still under Webhooks / Notifications, add a notification/webhook and paste the callback URL Sóley shows you in the 'Register this callback URL' box on the payment step. Save it in the Straumur dashboard.
  6. 6Back in Sóley, save. Sóley sets the environment: on soley.travel it is production, so paste your live keys and register the callback URL Sóley shows you there. Saving checks only the shape of the values. It does not contact Straumur, so a wrong key or secret shows only when the first payment fails.

What to paste

API key
Settings → API keys. The secret key, not the public one.
Terminal identifier
Terminals, a Payment Link terminal. Exactly 12 characters.
Webhook HMAC secret
Webhooks / Notifications → signing secret. A long hex string.
Callback URL (you register it)
Webhooks / Notifications → add a notification → paste the URL from Sóley's 'Register this callback URL' box.

Rapyd / Valitor / Korta

Rapyd (which also powers Valitor and Korta) uses an access key and a secret key from the Rapyd Client Portal.

Steps

  1. 1Sign in to the Rapyd Client Portal.
  2. 2Open Developers → Credentials.
  3. 3Copy the Access key.
  4. 4Copy the Secret key. Important: Rapyd shows the secret only once, at creation. If you've lost it, create a new key pair.
  5. 5Sandbox and Production keys are different keys in the portal. On soley.travel, use the Production keys.
  6. 6Save. Saving sends Rapyd a signed request, and the page says Rapyd accepted the keys only if it did.

What to paste

Access key
Developers → Credentials → Access key.
Secret key
Shown next to the Access key. Visible only once, at creation.

Live keys and one small real payment

Sóley sets the environment and shows it on the payment form: production on soley.travel, so every key you paste there is a live key and takes real card payments. You never switch it. Your processor's sandbox (test) keys are only for Sóley's own test site, so do not use them here.

  1. 1Paste your live keys and save.
  2. 2The real test is one small real booking. Check in your processor's portal that the money arrived. Until a payment has gone through the keys, the payment form says your processor has not confirmed a payment yet. After it, the form says Confirmed by a payment, with the date.

How do I know it worked?

After you save, the payment form says what was checked, and it reads the same every time you open it:

  • •Keys saved and format checked: the values have the right shape. Sóley has not contacted your processor, so a wrong secret shows only at the first payment. This is what Teya SecurePay and Straumur show. Teya online payments also shows it, but saving does ask Teya for an access token, so a wrong Client ID or Client Secret is refused when you save; only a payment proves the Store ID and the webhook public key.
  • •Rapyd accepted these keys: Sóley sent Rapyd a signed request and Rapyd accepted it. It still does not prove that a payment works.
  • •Confirmed by a payment on a date (green): a real payment has gone through these keys. This is the only proof.
  • •Not ready (amber): the status line says why in words, for example a missing key or a value in the wrong shape. It does not mark a field. Fix it and save again. A field the form marks in red is one it will not save as typed: a missing value, a value in the wrong shape, or a key your processor refused.

The payment step under What is left before bookings open is done once the keys pass the check. If your business is already open for bookings, saving new keys takes it off traveller search until they pass, and the confirmation starts over.

Refunds

Sóley does not move money and does not send refunds to your processor. When a booking is cancelled and money is owed back, you refund the guest's card yourself in your own processor's portal, as you do for your own website bookings. Sóley records the refund as due and shows Refund due on the booking. The booking shows as refunded once our team has confirmed that you made the refund.

Teya online payments
The Teya Business Portal.
Teya SecurePay
B-Online, Teya's merchant portal for SecurePay payments.
Straumur
The Straumur dashboard.
Rapyd / Valitor / Korta
The Rapyd Client Portal.

Sóley shows the amount due and where to refund it. If a refund cannot be made in the portal, email support@soley.travel.

Troubleshooting

A field is marked as wrong.

Re-copy each value with no leading or trailing spaces. Secrets are case-sensitive. Make sure you copied the secret key, not the public/access key.

My keys work in my processor's sandbox but not here.

Sandbox and Production use different keys. On soley.travel Sóley uses production, so paste the live keys from your processor.

The payment didn't confirm after the traveler paid.

It depends on the processor. Teya SecurePay and Straumur tell Sóley with a callback, so for Straumur check that the callback URL is registered and the signing secret is right. For Teya online payments check that the webhook in the Teya Business Portal has the URL Sóley shows and that you pasted that webhook's public key; Sóley also asks Teya when someone opens the booking page. Sóley asks Rapyd when someone opens the booking page or an assistant checks the booking, so open the booking page again. In all cases check the keys are the live (Production) keys. If Sóley cannot match or confirm a payment, our team gets an alert and can confirm it after checking your processor's portal. Email support@soley.travel with the booking reference.

I lost my Rapyd secret key.

Rapyd shows it only once. Create a new key pair in Developers → Credentials and paste the new Access + Secret keys.

I can't find my keys at all.

Contact your processor's support (Teya, Straumur, Rapyd/Valitor) and ask for your online-payment credentials. You can also email support@soley.travel and we'll help.

Still stuck? Email support@soley.travel and we'll walk you through it.