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.
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.
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.
- Vá a Loja online > Temas > Personalizar.
- Adicione uma secção HTML personalizado.
- Cole o código seguinte, com uma ligação de pagamento criada no seu painel SOAMTAR:
<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»:
<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_…ousk_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.