osCommerce
Integre a Cost+ com a sua loja osCommerce 4 utilizando o módulo oficial de pagamento

Integre a Cost+ como método de pagamento na sua loja osCommerce 4. O módulo oficial NoPayn Payments utiliza o fluxo de Página de Pagamento Alojada, para que nenhum dado de cartão passe pelo seu servidor — totalmente compatível com PCI DSS.
Pré-requisitos
- Conta de comerciante Cost+ ativa
- osCommerce 4.x
- PHP 8.1 ou superior
- Extensão cURL ativada
- Certificado SSL (HTTPS obrigatório)
- Acesso de administrador ao painel de administração osCommerce
Métodos de Pagamento Suportados
| Etiqueta no Checkout | Identificador NoPayn |
|---|---|
| Credit / Debit Card | credit-card |
| Apple Pay | apple-pay |
| Google Pay | google-pay |
| Vipps MobilePay | vipps-mobilepay |
Cada método pode ser individualmente ativado ou desativado a partir do painel de administração.
1. Instalar o Módulo
Transfira ou clone o módulo a partir do GitHub.
Copie o diretório lib/ para a raiz do seu osCommerce 4:
cp -r lib/ /path/to/oscommerce/Isto coloca os ficheiros do módulo em:
lib/common/modules/orderPayment/nopayn.php
lib/common/modules/orderPayment/nopayn/NoPaynApiClient.php
lib/common/modules/orderPayment/nopayn/NoPaynLogger.php
lib/common/modules/orderPayment/nopayn/NoPaynWebhookHandler.phpNo painel de administração osCommerce:
- Navegue até Modules → Payment → Online
- Ative os filtros "Show inactive" e "Show not installed" se necessário
- Encontre NoPayn Payments e clique em Install
2. Configurar o Módulo
Inicie sessão no Portal do Comerciante e navegue até Websites, depois clique no website que pretende conectar. Clique em Integração onde encontrará a sua chave API.

Introduza a sua chave API e configure as seguintes definições:
| Definição | Descrição | Predefinição |
|---|---|---|
| Enable NoPayn Payments | Interruptor principal de ativar/desativar | True |
| API Key | A sua chave API NoPayn | — |
| Enable Credit / Debit Card | Mostrar cartão de crédito/débito no checkout | True |
| Enable Apple Pay | Mostrar Apple Pay no checkout | True |
| Enable Google Pay | Mostrar Google Pay no checkout | True |
| Enable Vipps MobilePay | Mostrar Vipps MobilePay no checkout | True |
| Manual Capture (Credit Card) | Autorizar apenas — capturar quando a encomenda é concluída | False |
| Debug Logging | Escrever pedidos/respostas da API no log | False |
| Completed Order Status | Estado definido quando o pagamento é bem-sucedido | Processing |
| Pending Order Status | Estado definido enquanto aguarda pagamento | Pending |
| Cancelled Order Status | Estado definido em cancelamento/falha/expiração | Cancelled |
| Payment Zone | Restringir a uma zona geográfica (opcional) | Todas as zonas |
| Sort Order | Ordem de apresentação na página de checkout | 0 |
Ative apenas os métodos de pagamento para os quais foi aprovado e recebeu confirmação.
3. Atualizar Etiquetas do Checkout (Recomendado)
As etiquetas predefinidas do botão de checkout do osCommerce assumem um fluxo de passo único. Para uma melhor experiência com o redirecionamento de pagamento externo, atualize estas traduções em Admin → Localisation → Languages → English → Define:
| Chave | Predefinição | Recomendado |
|---|---|---|
TEXT_PAY_WITH_CARD | Pay with card | Go to payment |
TEXT_CONFIRM_AND_PAY | Confirm and pay | Review order |
CONFIRM_ORDER | Confirm order | Confirm and pay |
Isto melhora a experiência do cliente, tornando o fluxo de checkout mais claro — os clientes compreendem que serão redirecionados para completar o pagamento numa página segura.
4. Fluxo de Pagamento
Depois de configurado, o fluxo de pagamento funciona da seguinte forma:
- O cliente seleciona um método de pagamento Cost+ no checkout
- O cliente confirma a encomenda
- O módulo cria uma encomenda pendente e chama a API Cost+
- O cliente é redirecionado para a Página de Pagamento Alojada Cost+ (HPP)
- O cliente completa o pagamento na HPP segura
- O cliente é redirecionado de volta para a loja
- O módulo verifica o estado do pagamento via a API Cost+
- O estado da encomenda é atualizado em conformidade
Os links de pagamento expiram após 5 minutos. Se o cliente não completar o pagamento dentro desta janela, a encomenda é automaticamente marcada como cancelada.
5. Webhooks
O módulo regista um URL de webhook com a Cost+ para atualizações de estado servidor-a-servidor. Quando o estado de um pagamento muda, a Cost+ envia uma notificação e o módulo:
- Recebe o POST do webhook
- Verifica o estado do pagamento via API (nunca confia apenas no payload do webhook)
- Atualiza o estado da encomenda no osCommerce
Não é necessária configuração manual do webhook — o módulo trata do registo automaticamente.
Captura Manual
Quando ativada para pagamentos com cartão de crédito:
- O pagamento é autorizado mas não capturado no checkout
- Os fundos são capturados quando a encomenda transita para o estado completed
- Se a encomenda for cancelada, a autorização é automaticamente anulada
Utilize a captura manual se quiser cobrar os clientes apenas quando a encomenda é expedida. Isto é útil para comerciantes com tempos de processamento mais longos.
Registo de Depuração
Quando o Debug Logging está ativado, o módulo escreve em nopayn_debug.log no diretório de logs do osCommerce. As entradas do log incluem:
- Todos os pedidos e respostas da API
- Eventos de webhook e resultados de processamento
- Operações de captura e anulação
- Erros (sempre registados, independentemente da opção de depuração)
Todas as entradas são prefixadas com NoPayn_ para filtragem fácil.
Desinstalação
- Vá a Modules → Payment → Online no painel de administração
- Selecione NoPayn Payments
- Clique em Remove
Desinstalar o módulo remove a configuração e elimina as tabelas nopayn_transactions e nopayn_refunds da base de dados. Certifique-se de que exporta quaisquer dados necessários antes de desinstalar.
Testar e Lançar
Faça algumas transações de teste para garantir que tudo funciona corretamente. Recomendamos testar tanto pagamentos bem-sucedidos como falhados para confirmar que todos os cenários são tratados corretamente.
Suporte
Precisa de ajuda? Contacte a nossa equipa de suporte em support@costplus.io.