@bjpay/svelte
v1.0.0
Published
Widget de paiement BjPay pour Svelte
Readme
@bjpay/svelte
Widget de paiement BjPay pour Svelte.
npm install @bjpay/svelteUsage
<script>
import { createBjPay } from "@bjpay/svelte";
export let token;
const bjpay = createBjPay({
baseUrl: "https://bjpay-staging.service-public.bj/widget/v2",
});
const payer = () =>
bjpay.pay({
token,
merchant: "Direction Générale des Impôts",
title: "Quittance — Impôt foncier 2026",
ref: "BJ-2026-00482",
amount: 5000,
currency: "XOF",
onSuccess: ({ transaction }) => confirmerCoteServeur(transaction),
onError: ({ reason }) => afficher(reason),
});
</script>
{#if $bjpay.status === "error"}
<p>Paiement indisponible : {$bjpay.error.message}</p>
{:else}
<button disabled={$bjpay.status !== "ready"} on:click={payer}>
{$bjpay.status === "ready" ? "Payer" : "Chargement…"}
</button>
{/if}Un store qui porte ses actions
createBjPay rend un store lisible par $bjpay — { status, error } — sur
lequel sont posées pay(config) et close().
C'est la forme la plus idiomatique : Svelte n'a ni hook ni composable, un store se souscrit et se libère seul au démontage du composant qui l'observe.
baseUrl n'a pas de valeur par défaut
C'est cette valeur qui décide vers quel déploiement part le paiement. Un
défaut sur la production ferait engager de vrais débits à une intégration de
recette qui l'aurait oubliée. C'est tout ce qui précède /bjpay.min.js, préfixe
de chemin compris.
SvelteKit et le rendu côté serveur
L'import est sans effet sur le serveur. Appelez createBjPay dans onMount,
ou dans un composant rendu uniquement côté client.
onSuccess ne vaut pas preuve de paiement
C'est un événement de navigateur, émis par une page que vous ne contrôlez pas. Confirmez toute transaction côté serveur auprès de TresorPay avant de livrer un service ou de marquer une commande comme réglée.
Licence
MIT
