Aller au contenu principal
0 sur 4 terminés
Sur cette page

Ce Quickstart utilise le paramètre d'achat marchand-backend. Avant de commencer, complètez configuration du compte, choisir votre intégration, et confirmez que votre marchand de bacs à sable a:

  • Une clé API privée stockée sur votre serveur.
  • Au moins une connexion de paiement active et une stratégie de routage.
  • Un jeton de commande et un jeton de paiement créé par l'intégration de votre client sélectionné.
  • Un chemin de backend qui permet de récupérer la commande DEUNA originale.
01

Préparer la requête du serveur#

Chargez la clé privée sandbox depuis votre serveur. Gardez le jeton de commande et le jeton de paiement produit par le même flux de bac à sable disponible pour le corps de la demande.

.envShell
DEUNA_PRIVATE_API_KEY=YOUR_SANDBOX_PRIVATE_API_KEY
02

Traitement du paiement de l'ordre#

Envoyer la commande et la méthode de paiement tokenized au point d'achat marchand vérifié. Réutiliser la même X-Idempotency-Key et demander à l'organisme si un délai de traitement du réseau rend le résultat incertain.

curl --request POST \
  --url https://api.sandbox.deuna.io/v2/merchants/orders/purchase \
  --header "X-Api-Key: ${DEUNA_PRIVATE_API_KEY}" \
  --header "X-Idempotency-Key: order_1042-attempt_1" \
  --header "Content-Type: application/json" \
  --data '{
    "order_token": "YOUR_SANDBOX_ORDER_TOKEN",
    "payer_info": {
      "email": "buyer@example.com",
      "external_user_id": "customer_1042"
    },
    "payment_source": {
      "method_type": "credit_card",
      "payment_method": "YOUR_PAYMENT_METHOD_TOKEN"
    }
  }'

Le exact payment_source et n'importe quelle specific_fields dépendent du mode de paiement et du fournisseur sélectionnés. Voir Créer un paiement pour le contrat de demande complète.

03

Gérer le résultat immédiat#

Lire order.payment.data.status et toute action suivante requise de l'ordre retourné. Un HTTP 2xx signifie que DEUNA a accepté ou traité la demande; elle ne prouve pas en soi que l'argent a été déplacé.

  • Continuer à remplir les obligations uniquement pour l'état de réussite confirmé documenté dans Workflow et statuts de paiement.
  • Présentez toute action client, comme l'authentification 3DS, avant de réessayer.
  • Pour les résultats en attente ou incertains, récupérer l'ordre original au lieu de créer une tentative dupliquée.
  • Utilisez une nouvelle clé d'idempotency uniquement pour une nouvelle tentative de paiement matériellement.
04

Confirmer l'état final#

Utilisez la réponse synchrone pour mettre à jour l'expérience client, mais prenez les décisions de fulfillment en fonction de l'état final DEUNA. Lorsque le paiement est en attente ou en cours de traitement, récupérez la commande originale jusqu'à ce que DEUNA ait terminé la mise à jour asynchrone du fournisseur.

Prochaines étapes#