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

    Usar Organização API Versão 1 no servidor

    Comece com domínio aprovado e chaves completas e leia antes de executar operações privadas assinadas.

    Antes de começar

    • Conta Organização aprovada, domínio HTTPS verificado e chaves completas do Criador.
    • Node 20+ para o SDK local da área de trabalho ou HTTPS Python/PHP no backend.
    • Referência Versão 1 e capacidades; versão API 1 e versão de assinatura 2 são diferentes.
    01

    Configurar chaves e efetuar uma leitura

    Mantenha SPARKGLIM_APPROVED_DOMAIN e chaves keyId:secret apenas no servidor. As leituras enviam x-white-label-domain e a chave pública ou de campanha completa; não invente outro identificador configurado separadamente.

    TypeScript pressupõe @sparkglim/organization-sdk construído e disponível no projeto. A publicação npm não foi verificada. Python e PHP usam HTTPS diretamente sem afirmar existirem SDKs próprios.

    Pedido ilustrativo com valores de exemplo
    typescript
    import { SparkGlimOrganization } from '@sparkglim/organization-sdk';
    const client = new SparkGlimOrganization({
      baseUrl: 'https://api.sparkglim.net',
      domain: process.env.SPARKGLIM_APPROVED_DOMAIN!,
      publicKey: process.env.SPARKGLIM_PUBLIC_KEY,
      privateKey: process.env.SPARKGLIM_PRIVATE_KEY,
      campaignKey: process.env.SPARKGLIM_CAMPAIGN_KEY,
    });
    export async function readOrganizationCampaigns() {
      return client.campaigns.list();
    }
    02

    Compreender a assinatura privada

    As ações privadas exigem HMAC versão 2, domínio, data, nonce novo, âmbitos e idempotência. Forma: v2.domain.idempotencyKey.campaignKey.timestamp.nonce.METHOD.pathname.sortedQuery.sha256(rawBody). Assine bytes transmitidos e consulta ordenada codificada.

    O SDK assina os métodos implementados. Não o inclua no navegador, reutilize nonce nem copie o assinador antigo do WordPress.

    03

    Preparar pagamento de teste explícito

    A função inativa usa client.checkout.create com campos reais documentados e return_path relativo autorizado. A entrada não define um preço que o servidor aceite como autoridade.

    Preserve a chave de idempotência na mesma ação e devolva authorization_url ao cliente. Server controla pagamento e entrega, sem verificação ou consultas periódicas no navegador.

    Pedido ilustrativo com valores de exemplo
    typescript
    import { randomUUID } from 'node:crypto';
    import { SparkGlimOrganization } from '@sparkglim/organization-sdk';
    export async function createApprovedTestCheckout(client: SparkGlimOrganization, input: unknown, stableRequestId: string, approvedTest: boolean) {
      if (!approvedTest) throw new Error('Approved test configuration required');
      const data = await client.checkout.create(input, stableRequestId);
      if (typeof data.authorization_url !== 'string') throw new Error('No paid checkout URL returned');
      const target = new URL(data.authorization_url);
      if (target.origin !== 'https://checkout.sparkglim.net' || target.username || target.password) throw new Error('Invalid checkout URL');
      return { authorization_url: target.href };
    }
    export const newRequestId = () => randomUUID();

    Verifique a sua integração

    • Verificar domínio, âmbitos e segredos fora de bundles e registos.
    • Testar assinaturas inválidas apenas com autorização e distinguir código local, publicação e implementação.