Ir para a documentação
SparkGlimSparkGlim Programadores
Pesquisar em toda a documentação

Experimente um tema na sua língua ou um caminho API exato.

    Guias de integração

    Ligar a compra de bilhetes ao pagamento central

    Use configuração real e o cliente Web protegido para abrir a sessão criada pelo servidor.

    Antes de começar

    • Campanha pública aprovada, tipos de bilhete reais e formulário próprio do evento.
    • Ambiente de teste autorizado e repositório Web SparkGlim; o módulo não é um SDK de navegador publicado.
    • Proteções Storm/Turnstile existentes, origem permitida e regresso relativo da mesma origem.
    01

    Ler bilhetes e requisitos

    Escolha bilhete ativo, quantidade permitida e campos obrigatórios. Preserve identificadores, moeda, datas, convites e limites do servidor.

    O navegador não calcula encargos nem totais. Bilhetes gratuitos mantêm o percurso existente; o exemplo pago não o substitui.

    02

    Manter a integração protegida

    No Web aprovado, fetchPublicFlow de lib/server-backend/public-api.ts usa prepareWebCheckoutRequest de lib/security/web-checkout-storm.ts para contexto, tentativa e regresso.

    cURL/Python/PHP externos sem web_abuse_context não são uma integração funcional. Não invente impressões digitais nem contorne controlos. Use acesso Organização aprovado ou a página real da campanha.

    03

    Enviar uma vez e abrir o pagamento

    A função não atua até o formulário validado a chamar com teste autorizado. Preserve client_attempt_id e bloqueie repetições se houver incerteza. O indicador de teste não concede permissões.

    Abra apenas authorization_url de checkout.sparkglim.net num pagamento. Checkout e Server gerem resultado e regresso; não acrescente verificação, consultas periódicas ou entrega no navegador.

    Pedido ilustrativo com valores de exemplo
    typescript
    'use client';
    import { fetchPublicFlow } from '@/lib/server-backend/public-api';
    type Input = { campaign_id: string; ticket_id: string; quantity: number; phone_number: string; email?: string; attendee_information?: Record<string, string>; invite_code?: string; discount_code?: string; client_attempt_id: string; return_path: string };
    let requestStarted = false;
    export async function initializeApprovedTest(input: Input, approvedTest: boolean) {
      if (!approvedTest || requestStarted) return null;
      requestStarted = true;
        const response = await fetchPublicFlow('/tickets/purchase', {
          method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(input)
        });
        const result = await response.json();
        if (!response.ok || result.success !== true) throw new Error(result.error || 'Checkout unavailable');
        if (typeof result.data?.authorization_url !== 'string') throw new Error('No paid checkout URL returned');
        const target = new URL(result.data.authorization_url);
        if (target.origin !== 'https://checkout.sparkglim.net' || target.username || target.password) throw new Error('Invalid checkout URL');
        window.location.assign(target.href);
        return target.href;
    }

    Verifique a sua integração

    • Testar bilhetes esgotados e campos obrigatórios com dados autorizados.
    • Manter recusa de identidade ausente e verificar regresso sem cobrança real.