Astropay via API directe
Intégrez AstroPay comme moyen de paiement dans votre application via l'API directe DEUNA.
Sur cette page
Aperçu#
AstroPay est un portefeuille numérique qui permet aux utilisateurs de payer, d'envoyer et de recevoir de l'argent dans le monde entier via des comptes multidevises. DEUNA intègre AstroPay comme méthode de paiement par portefeuille.
Le flux de paiement AstroPay fonctionne comme suit :
- L'utilisateur sélectionne AstroPay comme mode de paiement et saisit son numéro de mobile.
- L'utilisateur est redirigé vers la page d'autorisation AstroPay, qui affiche un code QR (et une option « Copier le lien ») pour la commande.
- L'utilisateur ouvre l'application AstroPay — soit en scannant le code QR, soit via le lien copié — et y confirme le paiement.
- Le paiement est confirmé en temps réel une fois que l'utilisateur l'approuve dans l'application.
Exigences :
- AstroPay via DEUNA est actuellement disponible pour Argentine.
- L'utilisateur doit avoir un compte AstroPay actif.
- Environnements :
- Bac à sable :
https://api.sandbox.deuna.io - Fabrication :
https://api.deuna.io
- Bac à sable :
Intégrer AstroPay par API#
Étape 1 : Créer la commande – POST /merchants/orders
Crée la commande pour laquelle le paiement sera initié.
Exemple de demande
{
"order": {
"billingAddress": {
"address1": "Jose Luis Lagrange 123, Piso 12",
"address2": "Polanco I Sección",
"addressType": "home",
"city": "Buenos Aires",
"countryCode": "ARG",
"email": "jean.doe@example.com",
"firstName": "Jean",
"identityDocument": "205973330",
"identityDocumentType": "CC",
"lastName": "Doe",
"lat": -23.555425,
"lng": -46.677048,
"phone": "+5491100000000",
"stateName": "Buenos Aires",
"zipcode": "7521"
},
"browserDetails": {
"screenHeight": 1000,
"screenWidth": 2000
},
"currency": "ARS",
"items": [
{
"description": "Item description",
"id": "daed042a-4002-4144-850f-0797dcdfe833",
"imageUrl": "https://example.com/product.jpg",
"name": "Item #1",
"quantity": 2,
"taxAmount": {
"amount": 50,
"currency": "ARS",
"currencySymbol": "$"
},
"taxable": true,
"totalAmount": {
"amount": 2050,
"currency": "ARS",
"currencySymbol": "$",
"originalAmount": 2100,
"totalDiscount": 100
},
"unitPrice": {
"amount": 1050,
"currency": "ARS",
"currencySymbol": "$"
}
}
],
"orderId": "d81fe7bf-748b-4a7a-bc8f-7be98c8ae748",
"paymentMethod": "wallet",
"redirectUrls": {
"success": "https://example.com/success"
},
"shippingAddress": {
"additionalDescription": "confirm",
"address1": "Rua Exemplo 123",
"address2": "Bairro Exemplo",
"addressType": "home",
"city": "Buenos Aires",
"countryCode": "BRA",
"email": "jean.doe@example.com",
"firstName": "Jean",
"identityDocument": "205973330",
"identityDocumentType": "CC",
"lastName": "Doe",
"lat": -22.943934,
"lng": -43.182984,
"phone": "+5491100000000",
"stateName": "Buenos Aires",
"zipcode": "1406"
},
"shippingMethods": [
{
"code": "12345JR",
"cost": 250,
"name": "Standard shipping"
}
],
"storeCode": "all",
"subTotal": 5000000,
"totalAmount": 5000000,
"userInstructions": "Optional notes for the merchant",
"webhookUrls": {
"notifyOrder": "https://example.com/webhooks/order-status"
}
},
"orderType": "DEUNA_CHECKOUT"
}Étape 2 : Initier le paiement — POST /v2/merchants/orders/purchase
À l'aide de la commande/du jeton de l'étape 1, cet appel démarre l'autorisation AstroPay.
Exemple de demande
{
"order_token": "d81fe7bf-748b-4a7a-bc8f-7be98c8ae748",
"order_type": "DEUNA_CHECKOUT",
"payer_info": {
"email": "jean.doe@example.com",
"person_type": "UNKNOWN_PERSON"
},
"payment_source": {
"method_type": "wallet",
"processor": "astropay"
},
"anti_fraud_info": {
"device": {
"id": "0cddd683-12ba-4fca-9a5f-9d98c24d7312"
},
"session_id": "aa23e46d-edf0-4b2c-aa5d-10dc80070bf8",
"browser": {
"accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"color_depth": 24,
"language": "es",
"screen_height": 1440,
"screen_width": 2560
}
}
}Renvoie la commande traitée avec son
{
"order": {
"order_id": "d81fe7bf-748b-4a7a-bc8f-7be98c8ae748",
"transaction_id": "d81fe7bf-748b-4a7a-bc8f-7be98c8ae748",
"status": "pending",
"currency": "ARS",
"total_amount": 5000000,
"payment": {
"data": {
"method_type": "wallet",
"processor": "astropay",
"status": "pending",
"external_transaction_id": "92nAZK3PJQ4lrY3ln43CmV6Tbr8YqKXw5ykCpYwE",
"next_action": {
"action": "authorization_wallet",
"authorization_wallet": {
"redirect_url": "https://checkout-sandbox.astropay.com/payment/92nAZK3PJQ4lrY3ln43CmV6Tbr8YqKXw5ykCpYwE?data=..."
}
}
}
}
}
}3. Rediriger l'utilisateur
- Prenez l'URL de
payment.data.next_action.authorization_wallet.redirect_url. - Redirigez l'utilisateur vers cette URL. AstroPay affiche une page avec un code QR et une option « Copier le lien » pour la commande — l'utilisateur scanne le code (ou ouvre le lien copié) avec l'application AstroPay et y confirme le paiement.
- Une fois que l'utilisateur a approuvé le paiement dans l'application, AstroPay redirige l'utilisateur via les URL de rappel de DEUNA.
- Juste après l'étape 2, le statut se situe à
pending— l'utilisateur doit encore confirmer le paiement dans l'application AstroPay. Une fois qu'ils l'approuvent, le statut devientsucceededoudenied. - Écoutez le webhook configuré dans
order.webhookUrls.notifyOrder(Étape 1) pour confirmer le statut de paiement final.
Webhooks :
- Pour enregistrer des webhooks, veuillez contacter DEUNA.
Essais :
Applications de liens :
https://appdistribution.firebase.dev/i/1f9f7f6e5a7df8ba
https://testflight.apple.com/join/1WwzwYfz
Utilisez le numéro 12345678910 (n'importe quel indicatif de pays)
Code SMS : 000000