Intégration de Hosted Checkout
Hosted Checkout est une page de paiement prête à l’emploi hébergée par Volet.com.
Pour découvrir la page que verront vos clients, ouvrez la page Hosted Checkout pour les développeurs.
Votre application crée une demande de paiement et redirige le client vers Hosted Checkout. Le client effectue le paiement, Volet.com envoie une notification de statut à votre serveur, puis redirige le client vers votre site.
Hosted Checkout prend en charge :
Avant l’intégration, créez et configurez une passerelle Hosted Checkout dans votre compte. Voir Créer une passerelle de paiement.
Parcours de paiement
- Le client passe commande sur votre site.
- Votre site génère une demande de paiement et affiche un bouton ou un lien de paiement.
- Le client clique sur Payer et est redirigé vers Hosted Checkout.
- Le client effectue le paiement.
- Volet.com envoie une notification de statut du paiement à votre Status URL.
- Votre système met à jour le statut de la commande.
- Hosted Checkout affiche la page de résultat du paiement.
- Le client peut ensuite cliquer sur Continuer et est redirigé vers votre Success URL ou votre Failed URL.
Merchant website
│
▼
Hosted Checkout
│
▼
Payment
│
▼
Status URL
│
▼
Merchant backend
│
▼
Customer redirect
Pour un paiement réussi, la page de résultat indique l’identifiant de la transaction et les informations de paiement. Pour un paiement échoué ou annulé, elle affiche le message d’erreur ou d’annulation correspondant.
La Success URL et la Failed URL peuvent être configurées dans les paramètres de Hosted Checkout ou transmises dynamiquement dans la demande de paiement.
Appuyez-vous toujours sur les notifications de la Status URL pour mettre à jour le statut des commandes. Ne vous fiez pas uniquement aux redirections du navigateur.
La Success URL et la Failed URL ne doivent pas servir à déterminer le statut final du paiement.
Démarrage rapide avec Hosted Checkout
Étape 1. Créer la demande de paiement
Point de terminaison Hosted Checkout
https://account.volet.com/api/public/payment-gateway
Paramètres obligatoires
Pour créer un paiement, envoyez un formulaire HTML en POST au point de terminaison ci-dessus. La demande de paiement doit contenir les paramètres obligatoires suivants :
| Paramètre | Description |
|---|---|
ac_account_email | Adresse e-mail de votre compte Volet.com |
ac_sci_name | Nom du Hosted Checkout |
ac_amount | Montant du paiement |
ac_currency | Devise du paiement (par exemple USD, EUR) |
ac_order_id | Identifiant unique de votre commande |
ac_sign | Signature numérique |
Pour la liste complète des paramètres pris en charge, voir Paramètres de la demande de paiement.
Chaque demande de paiement doit utiliser un ac_order_id unique.
Ne réutilisez pas un identifiant de commande pour des paiements différents.
Signature de la requête
Générez le paramètre ac_sign en calculant le hash SHA-256 de la chaîne suivante :
ac_account_email:ac_sci_name:ac_amount:ac_currency:secret:ac_order_id
où secret est le mot de passe défini lors de la création du Hosted Checkout.
Exemple de chaîne :
[email protected]:Store:100.00:USD:password:123
Hash SHA-256 :
eb9e7f491df701fe7d71c74551ae9e4226dfbed7e3a9cc4916e242d3c09f718e
Transmettez le hash obtenu dans le paramètre ac_sign.
Envoyer la demande de paiement
Envoyez le formulaire HTML au point de terminaison Hosted Checkout avec la méthode POST.
Exemple de demande de paiement
<form method="POST" action="https://account.volet.com/api/public/payment-gateway">
<input type="hidden" name="ac_sci_name" value="Store">
<input type="hidden" name="ac_amount" value="100.00">
<input type="hidden" name="ac_currency" value="USD">
<input type="hidden" name="ac_order_id" value="123">
<input type="hidden" name="ac_sign" value="eb9e7f491df701fe7d71c74551ae9e4226dfbed7e3a9cc4916e242d3c09f718e">
<button type="submit">VoletPay</button>
</form>
Étape 2. Traiter les notifications de paiement
Lorsque le statut du paiement change, Volet.com envoie une notification à votre Status URL.
La notification est envoyée en GET ou en POST, selon la configuration de votre Hosted Checkout.
Elle contient les paramètres suivants :
| Paramètre | Description |
|---|---|
ac_transfer | Identifiant de la transaction Volet.com |
ac_transaction_status | Statut du paiement |
ac_order_id | Identifiant de votre commande |
ac_amount | Montant initial du paiement |
ac_merchant_amount | Montant crédité sur votre compte |
ac_merchant_currency | Devise de règlement |
ac_start_date | Date et heure de la transaction |
ac_sci_name | Nom du Hosted Checkout |
ac_src_wallet | Portefeuille du client |
ac_dest_wallet | Portefeuille du marchand |
ac_buyer_email | Adresse e-mail du client (si disponible) |
ac_hash | Hash de la signature de la notification |
Pour la liste complète des paramètres disponibles, voir Paramètres de la notification de paiement.
Avant de mettre à jour le statut de la commande, vérifiez la signature ac_hash pour confirmer que la notification provient bien de Volet.com.
Ne marquez pas une commande comme payée sur la base des redirections du client.
Attendez toujours une notification valide sur la Status URL et vérifiez la signature ac_hash avant de mettre à jour le statut de la commande.
Exemple de notification envoyée à votre Status URL :
<form method="POST" action="https://merchant.example.com/status">
<input type="hidden" name="ac_transfer" value="235f9d0b-b48f-462c-9949-621c4930490c">
<input type="hidden" name="ac_transaction_status" value="COMPLETED">
<input type="hidden" name="ac_order_id" value="123">
<input type="hidden" name="ac_amount" value="100.00">
<input type="hidden" name="ac_merchant_amount" value="100.00">
<input type="hidden" name="ac_merchant_currency" value="USD">
<input type="hidden" name="ac_start_date" value="2026-06-23 12:30:00">
<input type="hidden" name="ac_sci_name" value="Store">
<input type="hidden" name="ac_src_wallet" value="USD123456789012">
<input type="hidden" name="ac_dest_wallet" value="USD210987654321">
<input type="hidden" name="ac_hash" value="4ceab247ca917e0142b1a99015beaed9310cd6a85ab3bacf08ba44d5ac03590b">
</form>
Vérifier la signature de la notification
Pour vérifier la notification, calculez le hash SHA-256 à partir des valeurs ci-dessous et comparez-le à l’ac_hash reçu.
La chaîne de signature est construite dans cet ordre :
ac_transfer:ac_start_date:ac_sci_name:ac_src_wallet:ac_dest_wallet:ac_order_id:ac_amount:ac_merchant_currency:password
où password est le mot de passe Hosted Checkout configuré pour la passerelle.
Exemple de chaîne :
235f9d0b-b48f-462c-9949-621c4930490c:2026-06-23 12:30:00:Store:USD123456789012:USD210987654321:123:100.00:USD:password
Calculez le hash SHA-256 de cette chaîne :
4ceab247ca917e0142b1a99015beaed9310cd6a85ab3bacf08ba44d5ac03590b
Comparez le hash calculé à l’ac_hash reçu. Les valeurs doivent être identiques avant toute mise à jour du statut de la commande.
Une fois la signature vérifiée, mettez à jour la commande correspondante dans votre système avec le statut de paiement reçu.
Étape 3. Tester l’intégration
Avant d’accepter des paiements réels, vérifiez :
- La redirection du client vers Hosted Checkout.
- La finalisation d’un paiement réussi.
- La réception des notifications sur la Status URL.
- La validation de la signature des notifications.
- La mise à jour du statut des commandes.
- Les redirections vers la Success URL et la Failed URL.
- Le traitement des paiements échoués.
Adresses IP des serveurs de notification
Si votre infrastructure utilise des listes d’IP autorisées ou des règles de pare-feu, autorisez les requêtes entrantes provenant des serveurs de notification Volet.com suivants :
- 13.61.247.159
Configuration avancée
Les sections ci-dessous décrivent des fonctionnalités facultatives et des scénarios d’intégration avancés.
Présélectionner le moyen de paiement
Par défaut, Hosted Checkout affiche une page de choix du moyen de paiement.
Vous pouvez présélectionner un moyen de paiement dans la demande avec le paramètre ac_ps. Dans ce cas, Hosted Checkout ouvre directement l’écran de paiement correspondant et saute l’étape de choix du moyen de paiement.
Ajoutez les champs suivants aux paramètres de votre demande de paiement :
- Ouvre directement la page de connexion au compte Volet.com :
<input type="hidden" name="ac_ps" value="VOLET">
- Ouvre directement la page de paiement en USDT sur Tron :
<input type="hidden" name="ac_ps" value="USDTETHER">
<input type="hidden" name="ac_ps_protocol" value="TRON">
- Ouvre directement la page de paiement en Bitcoin :
<input type="hidden" name="ac_ps" value="BITCOIN">
C’est utile lorsque le client a déjà choisi un moyen de paiement sur votre site avant d’être redirigé vers Hosted Checkout.
Langue
Utilisez le paramètre ac_client_lang pour définir la langue de l’interface Hosted Checkout.
Exemple :
<input type="hidden" name="ac_client_lang" value="en">
Si aucune langue n’est indiquée, Hosted Checkout utilise la langue par défaut disponible pour le client.
Champs personnalisés
Vous pouvez inclure jusqu’à 10 champs personnalisés dans une demande de paiement.
Volet.com ne traite pas ces champs et les renvoie tels quels dans les notifications de la Status URL et les redirections du client.
Usages typiques :
- Identifiant du client
- Identifiant de l’abonnement
- Numéro de facture interne
- Commentaire
Exemple :
<input type="hidden" name="customer_id" value="12345">
<input type="hidden" name="subscription_id" value="sub_987">
<input type="hidden" name="invoice_no" value="INV-2026-001">
<input type="hidden" name="comment" value="Premium plan">
Sous-marchands
Utilisez le paramètre ac_submerchant_url pour indiquer le site du marchand pour le compte duquel le paiement est traité.
Exemple :
<input type="hidden" name="ac_submerchant_url" value="https://merchant.example.com">
Cette option s’adresse aux agrégateurs de paiement, aux marketplaces et aux plateformes qui traitent des paiements pour d’autres marchands.
Toutes les exigences de conformité, d’activités interdites et de vérification applicables aux marchands s’appliquent également aux sous-marchands.
Remplacer les URL
Les paramètres suivants peuvent être indiqués directement dans la demande de paiement :
ac_success_urlac_success_url_methodac_fail_urlac_fail_url_methodac_status_urlac_status_url_method
Exemple :
<input type="hidden" name="ac_success_url" value="https://merchant.example.com/payment-success">
<input type="hidden" name="ac_success_url_method" value="GET">
<input type="hidden" name="ac_fail_url" value="https://merchant.example.com/payment-failed">
<input type="hidden" name="ac_fail_url_method" value="GET">
<input type="hidden" name="ac_status_url" value="https://merchant.example.com/payment-status">
<input type="hidden" name="ac_status_url_method" value="POST">
Les valeurs transmises dans la requête remplacent les URL par défaut configurées pour la passerelle Hosted Checkout.
C’est utile lorsque plusieurs sites, boutiques, applications, bots ou agents IA utilisent la même passerelle Hosted Checkout.
Vous pouvez aussi générer des URL de succès, d’échec et de callback différentes pour chaque commande sans créer plusieurs passerelles Hosted Checkout.
Désactiver les signatures
Le paramètre ac_sign est facultatif si les signatures numériques sont désactivées dans les paramètres de Hosted Checkout.
Nous recommandons néanmoins vivement d’utiliser les signatures en production pour vérifier l’authenticité des requêtes et empêcher toute altération des données.
Les requêtes non signées ne doivent servir qu’aux tests et au développement.
Référence Hosted Checkout
Paramètres de la demande de paiement
La demande de paiement est un formulaire HTML que votre application envoie à Hosted Checkout.
Elle contient les informations de paiement, les données du marchand, les URL de redirection et les paramètres de configuration facultatifs nécessaires au traitement du paiement.
Le tableau ci-dessous liste tous les paramètres pris en charge.
| Paramètre | Obligatoire | Format | Description | Exemples |
|---|---|---|---|---|
ac_account_email | Oui | Chaîne | Adresse e-mail de votre compte Volet.com. | [email protected] |
ac_sci_name | Oui | Chaîne (max. 50 caractères) | Nom du Hosted Checkout. | My Store |
ac_amount | Oui | Nombre décimal | Montant de la demande de paiement. La précision décimale dépend de la devise choisie. Les décimales en trop sont tronquées automatiquement. | 100.00, 49.0302, 0.12345678 |
ac_currency | Oui | Code de devise | Devise de la demande de paiement. | USD, EUR, BTC, ETH, USDT, USDC, XRP, TRX, LTC, TON, SOL |
ac_order_id | Oui | Chaîne (max. 64 caractères ; "A-z", "-", "_", "0-9") | Identifiant unique de la commande du marchand. | 123456, baf419d9-6c82-4175-b870-5541b0ff3794 |
ac_sign | Conditionnel | Chaîne hexadécimale (SHA-256) | Signature de la requête, utilisée pour vérifier l’intégrité de la demande de paiement. Obligatoire si la vérification de la signature des requêtes est activée pour le Hosted Checkout. | 36b4c9ad29b61d1c5996e3ef1a3af0c3194e19713613b6bf26a9b905b8019225 |
ac_ps | Non | Chaîne (ID du moyen de paiement) | Moyen de paiement présélectionné à l’ouverture de Hosted Checkout. | VOLET, USDTETHER, USD_COIN, BITCOIN, ETHEREUM, RIPPLE, TRON, LITECOIN, TON, SOL, BNB, MATIC (pour POLYGON), AVAX |
ac_ps_protocol | Conditionnel | Chaîne (ID de blockchain ou de protocole) | Réseau blockchain présélectionné. Obligatoire lorsque ac_ps vaut USDTETHER, USD_COIN ou BNB ; facultatif sinon. | ETHEREUM, TRON, BINANCE_SMART_CHAIN, MATIC (pour POLYGON), SOLANA, AVALANCHE, OPTIMISM, ARBITRUM, TON |
ac_comments | Non | Chaîne (max. 255 caractères) | Description complémentaire du paiement, affichée au client et non modifiable. | Payment for Order #1234 |
ac_success_url | Non | Chaîne (max. 100 caractères) | Remplace la Success URL configurée. | https://merchant.example.com/success |
ac_success_url_method | Non | GET, POST | Méthode HTTP de la redirection vers la Success URL. Remplace la configuration du Hosted Checkout. | GET |
ac_fail_url | Non | Chaîne (max. 100 caractères) | Remplace la Failed URL configurée. | https://merchant.example.com/failed |
ac_fail_url_method | Non | GET, POST | Méthode HTTP de la redirection vers la Failed URL. Remplace la configuration du Hosted Checkout. | POST |
ac_status_url | Non | Chaîne (max. 100 caractères) | Remplace la Status URL configurée. | https://merchant.example.com/status |
ac_status_url_method | Non | GET, POST | Méthode HTTP des notifications envoyées à la Status URL. Remplace la configuration du Hosted Checkout. | POST |
ac_client_lang | Non | Chaîne (code de langue) | Langue de la page Hosted Checkout. | en |
ac_submerchant_url | Non | Chaîne (max. 100 caractères) | URL du site du sous-marchand. Utilisée pour les intégrations de plateformes et obligatoire pour certaines catégories de marchands. | https://seller.example.com |
Champs personnalisés (par exemple buyer_email, client_email) | Non | Jusqu’à 10 valeurs de type chaîne (max. 100 caractères chacune) | Champs supplémentaires définis par le marchand, renvoyés tels quels dans les notifications de la Status URL et les redirections du client. Utilisez-les pour rapprocher les paiements de vos commandes, clients, factures ou autres enregistrements internes. | [email protected], #INV-12345, user_1001 |
Exemple
<form method="POST" action="https://account.volet.com/api/public/payment-gateway">
<input type="hidden" name="ac_sci_name" value="My Store">
<input type="hidden" name="ac_amount" value="100.00">
<input type="hidden" name="ac_currency" value="USD">
<input type="hidden" name="ac_order_id" value="order_123456">
<input type="hidden" name="ac_sign" value="36b4c9ad29b61d1c5996e3ef1a3af0c3194e19713613b6bf26a9b905b8019225">
<input type="hidden" name="ac_ps" value="USDTETHER">
<input type="hidden" name="ac_ps_protocol" value="ETHEREUM">
<input type="hidden" name="ac_comments" value="Payment for Order #123456">
<input type="hidden" name="ac_success_url" value="https://merchant.example.com/payment-success">
<input type="hidden" name="ac_success_url_method" value="GET">
<input type="hidden" name="ac_fail_url" value="https://merchant.example.com/payment-failed">
<input type="hidden" name="ac_fail_url_method" value="GET">
<input type="hidden" name="ac_status_url" value="https://merchant.example.com/payment-status">
<input type="hidden" name="ac_status_url_method" value="POST">
<input type="hidden" name="ac_client_lang" value="en">
<input type="hidden" name="ac_submerchant_url" value="https://seller.example.com">
<!-- Custom fields -->
<input type="hidden" name="customer_id" value="customer_12345">
<input type="hidden" name="invoice_id" value="INV-2026-001">
<input type="hidden" name="subscription_id" value="sub_98765">
<input type="hidden" name="merchant_internal_id" value="seller_456">
<button type="submit">Pay with Volet.com</button>
</form>
Paramètres de paiement réussi
Après un paiement réussi, Hosted Checkout redirige le client vers votre Success URL et transmet les informations de paiement avec la méthode de redirection configurée.
Le tableau ci-dessous décrit tous les paramètres disponibles.
| Paramètre | Format | Description | Exemples |
|---|---|---|---|
ac_src_wallet | Chaîne | Numéro du portefeuille du client utilisé pour le paiement. | USDT123456789012 |
ac_dest_wallet | Chaîne | Numéro du portefeuille du marchand ou portefeuille de règlement. | USD123456789012 |
ac_amount | Nombre décimal | Montant de la demande de paiement. | 100.00, 0.12500000 |
ac_merchant_amount | Nombre décimal | Montant crédité sur le compte du marchand. | 100.00 |
ac_merchant_currency | Code de devise | Devise de règlement. | USD, EUR, BTC, ETH, USDT, USDC, XRP, TRX, LTC, TON, SOL |
ac_fee | Nombre décimal | Frais de traitement prélevés sur le paiement. | 0.50 |
ac_buyer_amount_without_commission | Nombre décimal | Montant payé par le client hors frais à sa charge, le cas échéant. | 100.00 |
ac_buyer_amount_with_commission | Nombre décimal | Montant total payé par le client, frais à sa charge compris. | 100.50 |
ac_buyer_currency | Code de devise | Devise utilisée par le client pour effectuer le paiement. | USD, EUR, BTC, ETH, USDT, USDC, XRP, TRX, LTC, TON, SOL, BNB, AVAX, POL |
ac_transfer | UUID | Identifiant unique de la transaction Volet.com. | 235f9d0b-b48f-462c-9949-621c4930490c |
ac_sci_name | Chaîne | Nom du Hosted Checkout. | My Store |
ac_start_date | YYYY-MM-DD HH:mm:ss (UTC) | Date et heure de création du paiement. | 2026-06-23 12:30:00 |
ac_order_id | Chaîne | Identifiant de commande du marchand fourni dans la demande de paiement. | 123456, baf419d9-6c82-4175-b870-5541b0ff3794 |
ac_ps | Chaîne (ID du moyen de paiement) | Moyen de paiement utilisé par le client. | VOLET, USDT, USDC, BTC, ETH, TRX, SOL |
ac_transaction_status | Statut | Statut final du paiement. Valeurs possibles : PENDING, PROCESS, COMPLETED, CANCELED. | COMPLETED |
ac_buyer_email | Chaîne (adresse e-mail) | Adresse e-mail du client, si disponible. | [email protected] |
ac_buyer_verified | Booléen | Indique si le compte du client est vérifié. | true, false |
ac_comments | Chaîne | Commentaire fourni dans la demande de paiement. | Order #123456 |
| Champs personnalisés | Chaîne | Champs définis par le marchand, renvoyés tels quels depuis la demande de paiement. | customer_id, invoice_id, subscription_id |
Exemple
<form method="POST" action="https://merchant.example.com/payment-success">
<input type="hidden" name="ac_src_wallet" value="USDT210987654321">
<input type="hidden" name="ac_dest_wallet" value="USD123456789012">
<input type="hidden" name="ac_amount" value="100.00">
<input type="hidden" name="ac_merchant_amount" value="99.50">
<input type="hidden" name="ac_merchant_currency" value="USD">
<input type="hidden" name="ac_fee" value="0.50">
<input type="hidden" name="ac_buyer_amount_without_commission" value="100.00">
<input type="hidden" name="ac_buyer_amount_with_commission" value="100.00">
<input type="hidden" name="ac_buyer_currency" value="USDT">
<input type="hidden" name="ac_transfer" value="235f9d0b-b48f-462c-9949-621c4930490c">
<input type="hidden" name="ac_sci_name" value="My Store">
<input type="hidden" name="ac_start_date" value="2026-06-23 12:30:00">
<input type="hidden" name="ac_order_id" value="order_123456">
<input type="hidden" name="ac_ps" value="VOLET">
<input type="hidden" name="ac_transaction_status" value="COMPLETED">
<input type="hidden" name="ac_buyer_verified" value="true">
<input type="hidden" name="ac_comments" value="Order #123456">
<!-- Custom fields -->
<input type="hidden" name="customer_id" value="customer_12345">
<input type="hidden" name="invoice_id" value="INV-2026-001">
<input type="hidden" name="subscription_id" value="sub_98765">
</form>
Paramètres de paiement échoué
Si un paiement est annulé ou échoue, Hosted Checkout redirige le client vers votre Failed URL et transmet les informations de paiement avec la méthode de redirection configurée.
Le tableau ci-dessous décrit tous les paramètres disponibles.
| Paramètre | Format | Description | Exemples |
|---|---|---|---|
ac_dest_wallet | Chaîne | Compte du marchand ou portefeuille de règlement. | USD123456789012 |
ac_amount | Nombre décimal | Montant de la demande de paiement. | 100.00, 49.95 |
ac_currency | Code de devise | Devise de la demande de paiement. | USD, EUR, BTC, ETH, USDT, USDC, XRP, TRX, LTC, TON, SOL |
ac_sci_name | Chaîne | Nom du Hosted Checkout. | My Store |
ac_order_id | Chaîne | Identifiant de commande du marchand fourni dans la demande de paiement. | order_123456, baf419d9-6c82-4175-b870-5541b0ff3794 |
| Champs personnalisés | Chaîne | Champs définis par le marchand, renvoyés tels quels depuis la demande de paiement. | customer_id, invoice_id, subscription_id |
Exemple
<form method="POST" action="https://merchant.example.com/payment-failed">
<input type="hidden" name="ac_dest_wallet" value="USD123456789012">
<input type="hidden" name="ac_amount" value="100.00">
<input type="hidden" name="ac_currency" value="USD">
<input type="hidden" name="ac_sci_name" value="My Store">
<input type="hidden" name="ac_order_id" value="order_123456">
<!-- Custom fields -->
<input type="hidden" name="customer_id" value="customer_12345">
<input type="hidden" name="invoice_id" value="INV-2026-001">
<input type="hidden" name="subscription_id" value="sub_98765">
</form>
Paramètres de la notification de paiement
Lorsque le statut du paiement change, Hosted Checkout envoie une notification à votre Status URL avec la méthode configurée (GET ou POST).
La notification contient tous les paramètres de paiement réussi, plus une signature ac_hash.
| Paramètre | Format | Description | Exemples |
|---|---|---|---|
ac_hash | Hash SHA-256 (chaîne hexadécimale) | Signature SHA-256 permettant de vérifier que la notification a été envoyée par Volet.com et n’a pas été modifiée en transit. | 1cd6c127c5c49b6d5060cec4bdbf06608216c0c11cc76acebb546be0f7081afd |
Pour savoir comment générer et vérifier la signature, voir Vérifier la signature de la notification.
Exemple de notification
<form method="POST" action="https://merchant.example.com/status">
<input type="hidden" name="ac_src_wallet" value="USDT210987654321">
<input type="hidden" name="ac_dest_wallet" value="USD123456789012">
<input type="hidden" name="ac_amount" value="123.45">
<input type="hidden" name="ac_merchant_amount" value="123.55">
<input type="hidden" name="ac_merchant_currency" value="USD">
<input type="hidden" name="ac_fee" value="0.10">
<input type="hidden" name="ac_buyer_amount_without_commission" value="123.45">
<input type="hidden" name="ac_buyer_amount_with_commission" value="123.55">
<input type="hidden" name="ac_buyer_currency" value="USD">
<input type="hidden" name="ac_transfer" value="235f9d0b-b48f-462c-9949-621c4930490c">
<input type="hidden" name="ac_sci_name" value="My Shop">
<input type="hidden" name="ac_start_date" value="2026-06-23 12:30:00">
<input type="hidden" name="ac_order_id" value="123456">
<input type="hidden" name="ac_ps" value="VOLET">
<input type="hidden" name="ac_transaction_status" value="COMPLETED">
<input type="hidden" name="ac_buyer_verified" value="true">
<input type="hidden" name="ac_comments" value="Payment for order #123456">
<input type="hidden" name="ac_hash" value="1cd6c127c5c49b6d5060cec4bdbf06608216c0c11cc76acebb546be0f7081afd">
<!-- Custom fields -->
<input type="hidden" name="customer_id" value="98765">
<input type="hidden" name="invoice_id" value="INV-2026-001">
</form>