Skip to content

Integrações sem código (Wix, Shopify, Webflow) ​

Pode adicionar a SOAMTAR a qualquer criador de sites, mesmo sem servidor próprio.

Wix (com Velo) ​

O Wix permite executar código no servidor de forma segura com o Velo.

1. Backend (backend/pay.jsw) ​

Crie um ficheiro de web method para manter a sua chave API no servidor. Guarde a chave no Secrets Manager do Wix (com o nome SOAMTAR_SECRET_KEY), nunca no código, e calcule o preço no servidor: qualquer pessoa pode chamar uma web method com qualquer argumento.

javascript
import { fetch } from 'wix-fetch';
import { getSecret } from 'wix-secrets-backend';
import wixData from 'wix-data';

// The page can call this with any argument: accept a product id, never a price.
export async function createPayment(productId) {
  const product = await wixData.get('Products', productId);
  if (!product) throw new Error('Unknown product');

  const apiKey = await getSecret('SOAMTAR_SECRET_KEY');   // Wix Secrets Manager
  const merchantRef = 'WIX-' + productId + '-' + Date.now();

  const response = await fetch("https://app.so-amtar.com/v1/payments", {
    method: 'post',
    headers: {
      "Content-Type": "application/json",
      "Authorization": "Bearer " + apiKey,
      "Idempotency-Key": merchantRef
    },
    body: JSON.stringify({
      amount: Number(product.price).toFixed(2),   // price read on the server
      currency: "SLE",
      merchant_ref: merchantRef
    })
  });
  const result = await response.json();
  // Return only what the page needs, never the raw API response.
  return { payment_url: result.data ? result.data.payment_url : null };
}

2. Frontend ​

Chame a sua função de backend ao clicar no botão.

javascript
import { createPayment } from 'backend/pay.jsw';
import wixLocation from 'wix-location';

$w("#payButton").onClick(async () => {
  const result = await createPayment("YOUR_PRODUCT_ID");
  if (result.payment_url) {
    wixLocation.to(result.payment_url);
  }
});

Shopify (botão personalizado) ​

Se não usa a aplicação oficial, pode adicionar um botão personalizado ao seu tema.

  1. Vá a Loja online > Temas > Personalizar.
  2. Adicione uma secção HTML personalizado.
  3. Cole o código seguinte, com uma ligação de pagamento criada no seu painel SOAMTAR:
html
<a href="https://app.so-amtar.com/pay/your-product"
   style="background: #FF7900; color: white; padding: 15px 30px; text-decoration: none; border-radius: 5px; font-weight: bold;">
  Pay with Orange Money
</a>

Webflow / Squarespace / Bubble ​

Nestas plataformas, use uma ligação de pagamento do seu painel. Não exige código nem chave API: o cliente introduz o seu número Orange Money na página da SOAMTAR e confirma com o seu PIN.

Botão universal ​

Cole este código num bloco «Embed» ou «Code»:

html
<a href="https://app.so-amtar.com/pay/your-fixed-link"
   style="display:inline-block; background:#000; color:#fff; padding:12px 24px; border-radius:8px; text-decoration:none;">
  Pay securely with Orange Money
</a>

Segurança sem código ​

  • Chaves API: NUNCA cole uma chave sk_live_… ou sk_test_… num bloco HTML nem no código frontend do Wix/Webflow. Use sempre um ambiente de backend (como o Velo no Wix) ou ligações de pagamento geradas antecipadamente.
  • Webhooks: nas plataformas sem código, recomendamos o Zapier ou o Make para receber as nossas notificações e atualizar a sua base de dados. Um URL de catch hook aceita tudo o que qualquer pessoa lhe enviar: antes de atualizar o que quer que seja, volte a ler o pagamento com GET/v1/payments/{id} (chave secreta guardada na ligação do cenário) e use esse estado.

SOAMTAR Payment API Documentation.