Aller au contenu principal
Sur cette page

Utilisez DEUNA pour orchestrer les expériences de paiement dans les parcours bancaires numériques, tout en maintenant le contexte du produit financier et du client associé à chaque tentative. La commande fournit une référence commerciale stable entre les fournisseurs, les tentatives, les statuts et les opérations.

Payload de commande bancaire complet#

L'exemple modélise un paiement de compte de crédit initié par le client. Les références de produit et de compte sont des métadonnées définies par le commerçant ; évitez d'inclure des secrets bruts ou des numéros de compte complets dans le payload.

Charge utile complète de la commande

Banque

Produit financier, référence de compte masquée, client, canal et libellé pour un paiement de compte.

descriptionstatement_descriptorinitiator_typemetadata
Corps de la requêteJSON
{
  "order_type": "DEUNA_CHECKOUT",
  "order": {
    "order_id": "bank-payment-883104",
    "store_code": "digital-banking",
    "currency": "USD",
    "items_total_amount": 12500,
    "sub_total": 12500,
    "total_tax_amount": 0,
    "total_amount": 12500,
    "items": [
      {
        "id": "credit-account-payment",
        "sku": "CARD-PAYMENT",
        "name": "Credit account payment",
        "description": "Customer-directed account payment",
        "quantity": 1,
        "category": "financial_services",
        "type": "service",
        "taxable": false,
        "unit_price": {
          "amount": 12500,
          "currency": "USD",
          "currency_symbol": "$"
        },
        "total_amount": {
          "amount": 12500,
          "original_amount": 12500,
          "currency": "USD",
          "currency_symbol": "$",
          "total_discount": 0
        },
        "tax_amount": {
          "amount": 0,
          "currency": "USD",
          "currency_symbol": "$"
        }
      }
    ],
    "payer_info": {
      "email": "alex@example.com",
      "external_registration_date": "2022-08-14T10:30:00Z"
    },
    "description": "Payment to account ending in 8842",
    "statement_descriptor": "BANK ACCOUNT PMT",
    "initiator_type": "customer",
    "channel_type": "mobile_app_android",
    "metadata": {
      "vertical": "banking",
      "account_reference": "acct_••••8842",
      "product": "credit_card",
      "customer_segment": "premium"
    },
    "callback_urls": {
      "on_success": "https://merchant.example.com/payments/success",
      "on_pending": "https://merchant.example.com/payments/pending",
      "on_reject": "https://merchant.example.com/payments/rejected",
      "on_canceled": "https://merchant.example.com/payments/canceled",
      "on_failed": "https://merchant.example.com/payments/failed"
    }
  }
}

Modéliser le contexte commercial#

ExigenceChamps de commande
Référence de transaction bancaireStable order_id ainsi qu'une référence de métadonnées masquée ou tokenisée
Produit financierArticle de service category, typeet nommé metadata.product
Client et canalpayer_info, initiator_typeet channel_type
Relevé de compte du clientdescription et compatible avec le fournisseur statement_descriptor
Résultat finalDEUNA order_tokenétat du paiement et événements webhook vérifiés

Liste de contrôle de production#

  • Définir quelle référence bancaire devient la référence immuable du commerçant order_id.
  • Conservez les références de compte masquées ou tokenisées et excluez les identifiants des métadonnées.
  • Appliquer l'idempotence à chaque tentative commerciale et faire correspondre les délais d'attente avec la commande originale.
  • Valider les descriptions de compte et les méthodes de paiement prises en charge avec les fournisseurs sélectionnés.
  • Tester les scénarios d'authentification, de limite, en attente, de refus, d'annulation, de remboursement et de soumission en double.

Continuez avec Authentification et clés API, La Gateway applique l’idempotence à cette opération. Envoyez uneet Webhooks.