Een betaling accepteren
De flow
Section titled “De flow”- De klant klikt op betalen; u opent de checkout.
- De SDK maakt de betaling aan en toont de beschikbare chains en tokens.
- De klant verbindt een wallet en schakelt over naar de juiste chain.
- De SDK controleert het saldo voordat de klant mag verzenden.
- De klant ondertekent;
onSuccesswordt geactiveerd. - Uw server bevestigt de betaling en voert de bestelling uit.
Stappen 2 tot en met 5 zijn de taak van de SDK. Stap 6 is uw taak, en dat is de stap die wordt overgeslagen.
Waarom stap 6 niet optioneel is
Section titled “Waarom stap 6 niet optioneel is”onSuccess betekent dat de wallet de transactie heeft geaccepteerd en naar het
netwerk heeft uitgezonden. Het betekent niet dat het geld is aangekomen. De
transactie kan mislukken, worden vervangen door een transactie met een hogere
fee, of uit de mempool worden verwijderd.
Het gebeurt ook client-side, dus iedereen die de browserconsole op uw checkoutpagina kan openen, kan het activeren. Een bestelling uitvoeren op basis van een beslissing in de browser betekent dat iedereen om die uitvoering kan vragen.
onSuccess={(paymentId, txHash) => { // Right: hand it to your server and let the server decide. fetch('/api/orders/awaiting-confirmation', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ paymentId, txHash }), });
// Wrong: fulfilling here trusts the browser. // grantAccess();}}Bevestig daarna server-side, via een webhook of door de status op te vragen met uw key.
Saldocontroles
Section titled “Saldocontroles”De SDK controleert of de klant genoeg van de token heeft, en genoeg native munt voor gas, voordat verzenden wordt toegestaan. Zo wordt de meest voorkomende fout, wel USDC maar geen ETH voor gas, opgevangen voordat een transactie wordt geprobeerd, in plaats van nadat die is teruggedraaid (revert).
Bedragen die niet overeenkomen
Section titled “Bedragen die niet overeenkomen”Een klant kan meer of minder sturen dan gefactureerd. Geen van beide maakt de betaling kapot, en voor beide is de afhandeling vastgelegd: zie Overbetalingen en terugbetalingen.
