Aller au contenu principal
Sur cette page

Aperçu#

L'intégration comporte quatre parties. Votre serveur possède l'ordre et la clé privée ; le navigateur ne reçoit qu'un jeton d'ordre et votre clé publique.

server
Créer une commande
Le moteur crée et jeunifie l'ordre.
browser
Ouvrir le widget de paiement
Le client sélectionne une méthode de paiement et effectue le paiement.
deuna
Itinéraire et processus
DEUNA applique les règles de routage, de fournisseur et de repli.
server
Confirmer
Un webhook vérifié confirme l'état final.

Avant de commencer#

  • Sandbox clés privées et publiques — voir Clés API.
  • Le SDK Web chargé à partir du CDN DEUNA.
  • Un paramètre de moteur qui crée un PAYMENT-LINK commande et retourne son jeton d'ordre.
  • Un paramètre public HTTPS pour les webhooks DEUNA.

1. Créer et tokenize l'ordre#

Créez la commande sur votre moteur de recherche avec la clé API privée. Remettre seulement son jeton au navigateur.

server.jsJavaScript
app.post('/api/deuna/checkout-session', async (request, response) => {
  const cart = await carts.get(request.session.cartId);
  const order = await createDeunaOrder({
    orderType: 'PAYMENT-LINK',
    currency: cart.currency,
    items: cart.items,
    totalAmount: cart.totalAmount,
  });

  response.json({orderToken: order.token});
});

2. Charger et initialiser le SDK Web#

HTML
<script crossorigin src="https://cdn.deuna.io/web-sdk/v1.7/index.js"></script>
<script type="module">
  await DeunaSDK.initialize({
    publicApiKey: 'YOUR_PUBLIC_API_KEY',
    env: 'sandbox',
  });
</script>

3. Ouvrir le widget de paiement#

checkout.jsJavaScript
const {orderToken} = await fetch('/api/deuna/checkout-session', {
  method: 'POST',
}).then((response) => response.json());

await DeunaSDK.initPaymentWidget({
  orderToken,
  callbacks: {
    onSuccess: async (order) => {
      await DeunaSDK.close();
      showConfirmation(order);
    },
    onError: (error) => showRetry(error),
    onClosed: () => showCart(),
  },
});

Le SDK Web actuel ne permet pas de initCheckoutLe widget de paiement est le flux SDK pris en charge pour accepter les paiements dans un processus de commande en ligne existant.

4. Confirmer avec les webhooks#

Utilisez les callbacks du navigateur pour mettre à jour l'interface, mais ne remplissez l'ordre qu'après réception de votre moteur de recherche et vérifie le webhook correspondant. Voir Vérifier les signatures de webhook.

Liste de contrôle pour aller en ligne#