ecomfly
    Zaloguj się
    Strona główna dokumentacji
    • Konto i dane firmy
    • Zespół
    • API, webhooki i MCP
    • Tryb MAX
    • Płatności w Twojej aplikacji
    1. Dokumentacja
    2. Konto i plany
    3. Płatności w Twojej aplikacji

    Płatności w Twojej aplikacji

    Ecomfly jako płatności dla aplikacji z Lovable, Bolt, v0, Cursora albo własnego kodu: link płatności, sprawdzanie dostępu i webhooki.

    Konto i plany

    Ecomfly · 20 października 2026 · 2 min czytania

    W skrócie

    Produkt w Ecomfly ma link płatności /c/<slug>: podepnij go pod przycisk „Kup” w aplikacji. Po zakupie Twoja aplikacja pyta GET /api/v1/access, czy dany e-mail ma dostęp, albo dostaje webhook. Faktury, maile, subskrypcje i obsługa klienta zostają w Ecomfly.

    Spis treści
    • Jak to działa
    • Sprawdzanie dostępu
    • Webhooki
    • Prompt do wklejenia (Lovable, Bolt, v0, Cursor, Claude)
    • Asystenci AI (MCP)

    Jak to działa

    1. Tworzysz produkt w Ecomfly (jednorazowy albo subskrypcję). Każdy produkt ma link płatności https://www.ecomfly.shop/c/<slug> (Produkty, przycisk „Kopiuj link do płatności”).
    2. Przycisk „Kup” w Twojej aplikacji otwiera ten link (w tej samej albo nowej karcie). Checkout nie działa w ramce iframe na obcej domenie.
    3. Kupujący płaci (BLIK, karta, Przelewy24, Apple Pay / Google Pay). Pieniądze trafiają na Twoje konto Stripe, Ecomfly wysyła maile, fakturę i obsługuje subskrypcję.
    4. Twoja aplikacja daje dostęp: pyta Ecomfly, czy e-mail zalogowanej osoby kupił produkt, albo reaguje na webhook.

    Wariant ceny wybierzesz w linku: /c/<slug>?price=<id opcji>.

    Sprawdzanie dostępu

    W Ustawienia, API & MCP wygeneruj token API (ecf_…). To sekret: trzymaj go tylko na serwerze (np. w Supabase Edge Function, w zmiennej środowiskowej), nigdy w kodzie przeglądarki. Endpoint nie odpowiada przeglądarkom (brak CORS).

    curl "https://www.ecomfly.shop/api/v1/access?email=kasia@example.pl&product=<slug lub id produktu>" \
      -H "Authorization: Bearer $ECOMFLY_API_TOKEN"
    
    {
      "email": "kasia@example.pl",
      "access": true,
      "products": [
        {
          "product_id": "…",
          "name": "Kurs online",
          "checkout_slug": "abc23xyz",
          "kind": "subscription",
          "since": "2026-10-01T10:00:00Z",
          "subscription": { "status": "active", "current_period_end": "2026-11-01T10:00:00Z", "cancel_at_period_end": false }
        }
      ]
    }
    
    • Bez product dostaniesz wszystkie produkty, do których e-mail ma dostęp.
    • Produkt jednorazowy: dostęp daje opłacone zamówienie (także order bump). Zwrot odbiera dostęp.
    • Subskrypcja: dostęp trwa, dopóki subskrypcja jest aktywna (active, trialing, past_due, gdy Stripe ponawia płatność).
    • E-mail porównujemy bez względu na wielkość liter. Widzisz tylko swój biznes.
    • Błędy: 401 zły token, 403 token bez uprawnienia „Widzi zamówienia i sprzedaż”, 400 zły e-mail, 404 nieznany produkt, 429 limit (300 zapytań na minutę na token).

    Webhooki

    W Ustawienia, API & MCP, Webhooki dodaj adres HTTPS swojej aplikacji. Zdarzenia:

    ZdarzenieKiedy
    order.createdopłacone zamówienie (też pierwsza płatność subskrypcji)
    subscription.startednowa subskrypcja
    subscription.canceledsubskrypcja się skończyła: odbierz dostęp

    Każde żądanie ma nagłówek X-Ecomfly-Signature: t=<unix>,v1=<hex>, czyli HMAC-SHA256 z <t>.<surowe body> z sekretem webhooka. Sprawdź go przed użyciem danych:

    import { createHmac, timingSafeEqual } from 'node:crypto'
    
    export function isFromEcomfly(rawBody: string, header: string, secret: string): boolean {
      const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')))
      const expected = createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest('hex')
      const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300
      return fresh && expected.length === parts.v1?.length && timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1))
    }
    

    Webhook może przyjść więcej niż raz: rozpoznawaj powtórki po data.order_id albo data.subscription_id. Na wszelki wypadek przy logowaniu sprawdzaj też dostęp przez /api/v1/access.

    Prompt do wklejenia (Lovable, Bolt, v0, Cursor, Claude)

    Dodaj płatności przez Ecomfly. Przycisk „Kup” otwiera link https://www.ecomfly.shop/c/<slug>. Nie buduj własnego checkoutu ani koszyka. Dostęp do płatnych funkcji sprawdzaj po stronie serwera (np. Supabase Edge Function): GET https://www.ecomfly.shop/api/v1/access?email=<e-mail zalogowanego użytkownika>&product=<slug> z nagłówkiem Authorization: Bearer i tokenem z sekretu ECOMFLY_API_TOKEN; dostęp jest, gdy odpowiedź ma "access": true. Nigdy nie wysyłaj tokenu do przeglądarki. Opcjonalnie przyjmuj webhooki Ecomfly (order.created, subscription.started, subscription.canceled) i weryfikuj nagłówek X-Ecomfly-Signature (HMAC-SHA256 z "<t>.<body>").

    Asystenci AI (MCP)

    Ten sam biznes możesz prowadzić z Claude albo Cursora przez serwer MCP: produkty, zamówienia, klienci, mailing, rabaty (API, webhooki i MCP).

    Najczęstsze pytania

    Nie. Płaci w checkoutcie i podaje e-mail. Twoja aplikacja rozpoznaje go po tym e-mailu. Kupujący może dodatkowo zajrzeć do swoich zakupów w panelu /my.

    Zbuduj swój biznes online w Ecomfly.

    PoprzedniaTryb MAXNastępnaFAQ: płatności i prowizje

    Na tej stronie

    • Jak to działa
    • Sprawdzanie dostępu
    • Webhooki
    • Prompt do wklejenia (Lovable, Bolt, v0, Cursor, Claude)
    • Asystenci AI (MCP)

    Powiązane materiały

    Konto i plany
    Dokumentacja

    API, webhooki i MCP

    Token API, webhooki sklepu i protokół MCP pozwalający łączyć asystentów AI z Twoim biznesem.

    28 września 2026 · 1 min czytania

    Płatności i prowizje
    Dokumentacja

    Płatności i Stripe Connect

    Jak działają płatności w Ecomfly: metody, przepływ środków, opłaty, wypłaty i zakup jednym kliknięciem.

    14 września 2026 · 1 min czytania

    Konto i plany
    Dokumentacja

    Konto i dane firmy

    Dane właściciela i firmy, ich znaczenie dla faktur i regulaminu oraz zmiana planu.

    26 września 2026 · 1 min czytania

    ecomfly

    ECOMFLY Sp. z o.o.

    Al. Solidarności 117/207, 00-140 Warszawa

    kontakt@ecomfly.ai
    FunkcjePłatnościSubskrypcjeFakturyOdzyskiwanie koszykówSklepMailingKlienciReklamyCennik
    EcomflyNowościInstagramYouTubeLinkedInFacebook
    MateriałyBlogPoradnikiDokumentacja
    DokumentyRegulaminPolityka prywatności

    © 2026 Ecomfly

    Webinar na żywo · czw. 29.10, 17:30

    Zapisz się