Integrarea comenzilor de debitare în magazinul sau ERP-ul dumneavoastră
CutOptim Configurator se conectează la un magazin sau la un ERP propriu prin două verificări pe serverul dumneavoastră: oferta semnată și webhook-ul semnat. Ambele sunt HMAC-SHA256 simplu, verificabil în orice limbaj, iar exemplele de referință în Node și PHP arată cum.
Răspuns rapid
Pentru a primi comenzile configuratorului într-o platformă proprie, serverul dumneavoastră face două lucruri. Verifică oferta semnată înainte ca o linie să intre în coș și verifică webhook-ul semnat înainte de a salva o comandă. CutOptim nu încasează plăți și nu găzduiește magazine: coșul, plata și înregistrarea comenzii rămân la dumneavoastră.
Două verificări, ambele pe serverul dumneavoastră
O platformă proprie nu are un plug-in pe care să se sprijine, așa că încrederea stă în două semnături. Browserul poate afișa un preț, dar numai serverul dumneavoastră decide dacă îl crede.
| Etapă | Ce sosește | Ce verifică serverul dumneavoastră |
|---|---|---|
| Clientul comandă pe pagină | Evenimentul cutoptim:order cu comanda și oferta ei semnată | Tokenul ofertei, cu cheia dumneavoastră secretă la /cfg/v1/quote/verify |
| Comanda este plasată | Un webhook semnat la adresa pe care ați înregistrat-o | Semnătura, fereastra de cinci minute și id-ul evenimentului |
| O reîncercare sau o retrimitere | Același eveniment din nou | Nimic nou: id-ul evenimentului este deja salvat |
Verificați oferta înainte de coș
Tokenul ofertei este promisiunea de preț. Serverul dumneavoastră întreabă CutOptim dacă este autentic, neexpirat și încă nefolosit, apoi compară ce declară cu linia din coș.
Primiți comanda
Pagina transmite scriptului dumneavoastră evenimentul cutoptim:order cu comanda și tokenul ei de ofertă.
Întrebați CutOptim
Serverul dumneavoastră trimite tokenul la /cfg/v1/quote/verify cu cheia secretă. Răspunsul spune dacă este valid, dacă o comandă l-a folosit deja și ce declarații poartă.
Comparați declarațiile
Chiriașul, moneda, expirarea și amprenta liniilor cu preț trebuie să corespundă liniei pe care urmează să o adăugați. Orice altceva este refuzat.
Adăugați sau refuzați
Doar un token care trece ajunge în coș. Un preț modificat în browser pică aici.
Cheia de semnare nu este niciodată dată magazinelor. Verificarea locală a formei și a expirării unui token economisește o cerere, dar numai /cfg/v1/quote/verify poate confirma semnătura.
Primiți comanda prin webhook
Când o comandă este plasată, CutOptim o trimite la adresa pe care ați înregistrat-o, semnată, ca să puteți recunoaște că vine de la noi.
- — Antetul CutOptim-Signature poartă un marcaj de timp t și o semnătură v1: un HMAC-SHA256 al marcajului de timp, al unui punct și al corpului brut.
- — Verificați octeții bruți exact cum au sosit; un corp interpretat și scris din nou nu se mai potrivește.
- — Refuzați un marcaj de timp cu mai mult de cinci minute diferență, în urmă sau în față, și comparați semnăturile în timp constant.
- — Salvați id-ul evenimentului și răspundeți cu succes la un id deja văzut: o reîncercare îl repetă.
Cod de referință în Node și PHP
Două exemple mici fac exact acest lucru, fără framework și fără dependențe: un modul Node și un singur fișier PHP. Copiați-l pe cel potrivit, înlocuiți stocarea din memorie cu un tabel cu cheie unică pe id-ul evenimentului și păstrați secretele în mediu.
import { createWebhookReceiver } from './cutoptim-verify.mjs';
const receive = createWebhookReceiver({
secrets: [process.env.WEBHOOK_SECRET], // whsec_... from the admin route, never in the repository
async onEvent(event) { /* store event.data.order, keyed by event.id */ },
});
// in your HTTP handler - the RAW body, not parsed JSON:
const { status } = await receive({ rawBody, headers: req.headers });
res.writeHead(status).end();Ce rămâne la dumneavoastră
Configuratorul calculează prețul și planifică tăierea; platforma dumneavoastră păstrează tot ce urmează după aceea.
- — Coșul, casa și plata: CutOptim nu încasează plăți.
- — Înregistrarea comenzii și onorarea ei, în baza dumneavoastră de date sau în ERP.
- — Clienții dumneavoastră și paginile magazinului: nu există un magazin găzduit.
Porniți un sandbox gratuit în consolă pentru a primi cheile și secretul webhook-ului. Exemplele de referință se pot descărca de pe această pagină.
Unde se potrivește
Orice sistem care poate primi o cerere HTTPS și poate calcula un HMAC poate prelua aceste comenzi: un magazin scris intern, un storefront headless, un instrument de oferte sau un ERP. Dacă aveți nevoie doar de motorul de debitare, nu și de ecranul de comandă, Engine API îl oferă.
Întrebări frecvente
Am nevoie de un plug-in ca să-mi conectez platforma proprie?
Cum știu că un preț nu a fost modificat în browser?
Ce se întâmplă dacă endpoint-ul meu este căzut când sosește o comandă?
CutOptim încasează plata sau îmi găzduiește magazinul?
Ce limbaje de programare acoperă exemplele?
Calculatoare, ghiduri și domenii înrudite
Mai multe despre configurator
Configuratorul de produse pentru debitare la dimensiune, în webshopul dumneavoastră — plan de debitare live, preț live, comenzi direct în magazin.
Introduceți piese într-un magazin demo și urmăriți cum se actualizează planul de debitare și prețul pe măsură ce scrieți.
O singură linie de cod; în pagină, ca pop-up, panou lateral sau pagină proprie — în brandul dumneavoastră.
Pe placă, pe m², pe metru de tăietură, cantuire, prelucrări, TVA și valori minime — prețurile dumneavoastră, live.
Porniți de la un corp, un raft sau un dulap: piesele, planul și prețul urmează dimensiunea.
Comercianți de plăci, ateliere de debitare și magazine de plăci: clienții comandă online, cu plan în timp real și prețurile dumneavoastră.
Un buton de debitare la dimensiune pe produsele WooCommerce; doar o ofertă verificată devine linie de coș.
Verificările pe server pentru un magazin sau un ERP fără plugin.
Aveți nevoie doar de motorul de debitare? Vedeți Engine API
JuridicTermenii configuratorului (EN) ·Acord de prelucrare a datelor (EN) ·Notă de confidențialitate pentru cumpărători ·Licențe terțe (EN)