<div id="integration-guide">

<div class="ig-section" id="migration-overview">
<div class="ig-section-header">
<div class="ig-section-icon" style="background:#eff6ff;color:#2563eb;"><i class="fas fa-exchange-alt"></i></div>
<h2>Migrating from RPG &amp; SecurePay</h2>
</div>
<p class="ig-section-desc">If your website or systems have been taking online card payments through Borgun — or through Teya before the new platform — this section is for you. You may know the old setup as "the Borgun payment page", SecurePay, RPG, the Borgun Payment API, B-Gateway or the Ticket API; whichever name you recognise, find the row below that describes how you take payments today. That is your guide.</p>

```admonition
icon: fas fa-handshake
title: Do you take payments on behalf of other merchants?
content: Platforms, plugins and agencies that migrate several merchants at once have their own section, including how to obtain credentials for existing merchants without re-onboarding them.
link: /partners/online-payments/migration/overview
```

<!-- What is changing -->
<div class="ig-subsection">
<h3>What is changing</h3>
<p>Teya's legacy online payment systems — the Borgun payment page (SecurePay), the Borgun payment API (RPG), the B-Gateway web service and the Ticket API — continue to work as normal today, and nothing changes for you right now. Onboarding to those systems will stop soon, and they will be <strong>retired in early 2027</strong>. Before then, your integration needs to move to the new Teya online payments platform.</p>
<p>The right route depends on your current setup. The effort varies from nothing at all (if you sell through a partner platform) to a small development project, typically days including testing. Every path below is live today and can be started immediately.</p>
</div>

<!-- Router -->
<div class="ig-subsection">
<h3>Find your path</h3>
<p>If more than one row applies — a webshop checkout <em>and</em> payment links, for example — migrate each with its own guide.</p>

<div style="overflow-x:auto;">
<table class="ig-comparison">
<thead>
<tr><th>How you take payments today</th><th>Typical signs</th><th>Your migration path</th></tr>
</thead>
<tbody>
<tr>
<td><strong>Customers are redirected to a SecurePay payment page</strong></td>
<td>Your site posts a form to <code>securepay.borgun.is</code>; your developer set up a "payment form post" with a <code>checkhash</code></td>
<td><a href="/online-payments/migration/securepay-hosted-checkout">SecurePay → Hosted Checkout</a> — the like-for-like path: lowest effort, same redirect experience for your customers</td>
</tr>
<tr>
<td><strong>The SecurePay payment form is embedded in your own checkout</strong></td>
<td><code>displaymode=iframe</code> in your integration; customers pay without leaving your site</td>
<td><a href="/online-payments/migration/securepay-embedded-components">SecurePay → Embedded Components</a> — keeps the payment form on your page (Hosted Checkout can't)</td>
</tr>
<tr>
<td><strong>You redirect to SecurePay but want an on-site checkout</strong></td>
<td>You care about checkout conversion and branding, or want Apple Pay on your own page</td>
<td><a href="/online-payments/migration/securepay-embedded-components">SecurePay → Embedded Components</a> — read its "which is right for you" section first</td>
</tr>
<tr>
<td><strong>Your systems call the RPG payment API directly</strong></td>
<td>Code calling <code>/api/payment</code> on <code>borgun.is</code>; a private access token; your own 3D Secure (MPI) integration</td>
<td><a href="/online-payments/migration/rpg-embedded-components">RPG → Embedded Components</a></td>
</tr>
<tr>
<td><strong>Your systems call the B-Gateway web service</strong></td>
<td>SOAP/XML requests such as <code>getAuthorization</code> to <code>gateway01.borgun.is</code>; a B-Gateway username and password; card numbers or virtual card numbers (<code>9910…</code>) reach your own servers; often no 3D Secure. Also known as BGateway or Greiðslugátt</td>
<td><a href="/online-payments/migration/bgateway-checkout">B-Gateway → Embedded Components</a>: card numbers no longer pass through your systems</td>
</tr>
<tr>
<td><strong>You create payment URLs and send them to customers</strong></td>
<td>Payment links made in advance for email, phone or invoice orders (the Ticket API)</td>
<td><a href="/online-payments/migration/ticket-api-payment-links">Ticket API → Payment Links</a> — often no code at all; links can be created in the Business Portal</td>
</tr>
<tr>
<td><strong>You store customers' cards or take recurring payments</strong></td>
<td>Multi-use tokens (<code>tm_…</code>) or virtual card numbers (16 digits starting <code>9910</code>); subscriptions or instalments charged when the customer isn't present</td>
<td>Migrate your one-off payments first with the row that matches you, then follow <a href="/online-payments/migration/stored-cards">Stored cards &amp; recurring</a> — your customers' saved cards carry over without re-entering a card</td>
</tr>
<tr>
<td><strong>You sell through a partner platform</strong></td>
<td>A booking system, webshop provider or till system built the integration — you never did</td>
<td><strong>The preparation is managed for you</strong> by your platform provider. Watch for their instructions — you may need to reconnect your store or sign in again when the switch happens. If in doubt, ask them or your Teya contact.</td>
</tr>
<tr>
<td><strong>You use a Teya plugin for WooCommerce or Shopify</strong></td>
<td>A Teya or Borgun plugin installed in your shop admin</td>
<td>Install the current Teya plugin and connect it to your Teya account — see <a href="/online-payments/plugins/overview">Connect with e-commerce platforms</a> and <a href="https://help.teya.com/hc/en-gb/articles/47741398495121-Set-up-and-connect-your-plugin-to-Teya" target="_blank" rel="noopener">Set up and connect your plugin to Teya</a> in the Help Centre. Watch for instructions from Teya; you may need to sign in again when your store switches over.</td>
</tr>
</tbody>
</table>
</div>

```admonition
icon: fas fa-robot
title: Planning to use an AI coding assistant?
content: It can save your developer a lot of time on this migration. <a href="/online-payments/migration/ai-assistant">Migrate with an AI assistant</a> has ready-made prompts for identifying your legacy integration, building the migration and raising questions with Teya, plus a single downloadable file containing this whole section for the assistant to read.
```

```admonition
icon: fas fa-question-circle
title: Not sure which row is you?
content: Ask your developer, or whoever built your site, three questions. <strong>"Where does the customer type their card number?"</strong> — a Teya/Borgun page means redirect; a frame inside your page means embedded; your own form means a direct API (RPG or B-Gateway). <strong>"Do any of our systems call an address containing <code>borgun.is</code>?"</strong> <strong>"Do we send JSON to <code>/api/payment</code>, or XML such as <code>getAuthorization</code>?"</strong> — JSON is RPG, XML is B-Gateway. Between them, the answers place you in one row. Still unsure? Contact your Teya account manager and we'll look at your setup together.
```
</div>

<!-- Benefits -->
<div class="ig-subsection">
<h3>What you gain</h3>
<p>This is more than a platform change. The new platform was built from the ground up and removes the most dated parts of the legacy integrations.</p>
<div class="ig-features">
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>More completed payments</strong> — merchants on the new platform generally see higher conversion, thanks to modern 3D Secure with fewer challenges, less checkout drop-off, and higher authorisation rates on network tokens for stored cards</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>A smoother checkout</strong> — a clean, trusted payment flow with built-in 3D Secure, card retries without losing the sale, and wallets like Apple Pay</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Flexibility in how you integrate</strong> — ready-to-use Shopify and WooCommerce plugins, a hosted checkout page, or embedded components on your own site</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Payment confirmations that can't get lost</strong> — every successful payment is confirmed server-to-server with a signed webhook, whether or not the customer makes it back to your site</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Less security and compliance complexity</strong> — Teya handles the sensitive parts of the payment flow; card data never touches your servers</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>One Teya setup across channels</strong> — online payments in the Teya app and Business Portal alongside the rest of your business, including refunds without a developer</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>A platform that keeps evolving</strong> — continued investment in checkout features, payment methods and ecommerce capabilities</span></div>
</div>
</div>

<!-- Guides -->
<div class="ig-subsection">
<h3>Migration guides</h3>
<p>Every guide has the same shape: a short first part for the business owner — why, what you gain, what to send your developer — and a developer guide with how it works before and after, a table of what replaces what, and the migration steps.</p>

<div class="ig-nav-cards">
<a href="/online-payments/migration/securepay-hosted-checkout" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#f0f7ff;color:#008BB9;"><i class="fas fa-external-link-alt"></i></div>
<div class="ig-nav-card-content">
<h4>SecurePay → Hosted Checkout</h4>
<p class="ig-card-subtitle">The like-for-like path</p>
<p>One server-side call replaces the signed form post; your customer still pays on a Teya page and comes back to your site.</p>
<span class="ig-card-label">Lowest effort</span>
</div>
</a>

<a href="/online-payments/migration/securepay-embedded-components" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#fef7f0;color:#ea580c;"><i class="fas fa-window-maximize"></i></div>
<div class="ig-nav-card-content">
<h4>SecurePay → Embedded Components</h4>
<p class="ig-card-subtitle">Keep the checkout on your site</p>
<p>For iframe integrations, or for anyone who wants an on-site checkout with Apple Pay. Includes a Hosted Checkout comparison.</p>
<span class="ig-card-label">Some code</span>
</div>
</a>

<a href="/online-payments/migration/rpg-embedded-components" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#fef7f0;color:#ea580c;"><i class="fas fa-puzzle-piece"></i></div>
<div class="ig-nav-card-content">
<h4>RPG → Embedded Components</h4>
<p class="ig-card-subtitle">For direct API integrations</p>
<p>Replace <code>/api/payment</code> and your MPI calls with a checkout session and a component; 3D Secure is handled for you.</p>
<span class="ig-card-label">Some code</span>
</div>
</a>

<a href="/online-payments/migration/bgateway-checkout" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#fef7f0;color:#ea580c;"><i class="fas fa-server"></i></div>
<div class="ig-nav-card-content">
<h4>B-Gateway → Embedded Components</h4>
<p class="ig-card-subtitle">For SOAP/XML integrations</p>
<p>Replace <code>getAuthorization</code>, your card form and any 3D Secure flow with a checkout session and the Checkout component; save cards for subscriptions and charge them by API.</p>
<span class="ig-card-label">Some code</span>
</div>
</a>

<a href="/online-payments/migration/ticket-api-payment-links" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#fef3c7;color:#d97706;"><i class="fas fa-link"></i></div>
<div class="ig-nav-card-content">
<h4>Ticket API → Payment Links</h4>
<p class="ig-card-subtitle">For pre-created payment URLs</p>
<p>Create links in the Business Portal or by API, get paid by webhook.</p>
<span class="ig-card-label">No code option</span>
</div>
</a>

<a href="/online-payments/migration/stored-cards" class="ig-nav-card">
<div class="ig-nav-card-icon" style="background:#f0faf0;color:#16a34a;"><i class="fas fa-id-card"></i></div>
<div class="ig-nav-card-content">
<h4>Stored cards &amp; recurring</h4>
<p class="ig-card-subtitle">Do this after your one-off payments</p>
<p>Your customers' saved cards move to the new platform without anyone re-entering a card. Four phases, no bulk conversion on your side.</p>
</div>
</a>
</div>
</div>

<!-- Reference -->
<div class="ig-subsection">
<h3>Reference: what replaces what</h3>
<ul>
<li><a href="/online-payments/migration/securepay">Migrating from SecurePay</a> - Every SecurePay form parameter and its replacement on the new platform</li>
<li><a href="/online-payments/migration/rpg">Migrating from RPG</a> - Every RPG endpoint and its replacement</li>
<li><a href="/online-payments/migration/bgateway">Migrating from B-Gateway</a> - Every B-Gateway operation and field and its replacement</li>
</ul>
</div>

<!-- Ground rules -->
<div class="ig-subsection">
<h3>Whichever path you take</h3>
<div class="ig-features">
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Test first.</strong> Every guide walks through a full rehearsal in Teya's staging environment with test cards before any real traffic moves.</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Nothing switches until you're ready.</strong> Your current integration keeps working in parallel while you build and test, and for a safety window after you switch.</span></div>
<div class="ig-feature"><i class="fas fa-check"></i> <span><strong>Help is a message away.</strong> Your Teya account manager can set you up with a development store today — that is step one of every path.</span></div>
</div>

```admonition
icon: fas fa-life-ring
title: Need help?
content: Contact your Teya account manager, or reply to the email that pointed you here, to get a development store and a named contact for your migration. For integration questions, see <a href="/support">Support</a>.
```
</div>

<!-- Next steps -->
<div class="ig-subsection">
<h3>Next steps</h3>
<ul>
<li><a href="/online-payments/overview">Online payments overview</a> - The new platform's integration options side by side</li>
<li><a href="/online-payments/authenticate">Authenticate</a> - Create API credentials in the Business Portal</li>
<li><a href="/online-payments/testing">Testing</a> - Test cards and integration checklist</li>
<li><a href="/online-payments/webhooks">Webhooks</a> - Receive and verify payment notifications</li>
<li><a href="/online-payments/migration/ai-assistant">Migrate with an AI assistant</a> - Prompts and a downloadable pack for LLM-assisted migrations</li>
<li><a href="/online-payments/migration/faq">Migration FAQ</a> - Timelines, what changes for your customers, what is different</li>
</ul>
</div>

</div>
</div>
