AstroPay a través de la API Directa
Integre AstroPay como método de pago en su aplicación a través de la API Directa de DEUNA.
En esta página
Descripción general#
AstroPay es una billetera digital que permite a los usuarios pagar, enviar y recibir dinero en todo el mundo a través de cuentas con múltiples monedas. DEUNA integra AstroPay como método de pago de billetera.
El flujo de pago de AstroPay funciona de la siguiente manera:
- El usuario selecciona AstroPay como método de pago e introduce su número de móvil.
- El usuario es redirigido a la página de autorización de AstroPay, que muestra un código QR (y una opción "Copiar enlace") para la orden.
- El usuario abre la aplicación AstroPay, ya sea escaneando el código QR o a través del enlace copiado, y confirma el pago allí.
- El pago se confirma en tiempo real una vez que el usuario lo aprueba en la aplicación.
Requisitos:
- AstroPay a través de DEUNA está actualmente disponible para Argentina.
- El usuario debe tener una cuenta de AstroPay activa.
- Entornos:
- Caja de arena:
https://api.sandbox.deuna.io - Producción:
https://api.deuna.io
- Caja de arena:
Integre AstroPay a través de la API#
Paso 1: Crear la orden — POST /merchants/orders
Crea la orden contra la cual se iniciará el pago.
Ejemplo de solicitud
JSON
{
"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"
}Paso 2: Iniciar el pago — POST /v2/merchants/orders/purchase
Utilizando la orden/token del Paso 1, esta llamada inicia la autorización de AstroPay.
Ejemplo de solicitud
JSON
{
"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
}
}
}Respuesta
JSON
{
"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. Redirigir al usuario
- Utilice la URL de
payment.data.next_action.authorization_wallet.redirect_url. - Redirige al usuario a esa URL. AstroPay muestra una página con un código QR y una opción "Copiar enlace" para la orden; el usuario escanea el código (o abre el enlace copiado) con la aplicación AstroPay y confirma el pago allí.
- Una vez que el usuario aprueba el pago en la aplicación, AstroPay redirige al usuario de vuelta a través de las URL de devolución de DEUNA.
- Inmediatamente después del Paso 2, el estado se encuentra en
pending— el usuario aún debe confirmar el pago en la aplicación AstroPay. Una vez que lo aprueba, el estado se convierte ensucceededodenied. - Escuche el webhook configurado en
order.webhookUrls.notifyOrder(Paso 1) para confirmar el estado final del pago.
Ganchos web:
- Para registrar webhooks, póngase en contacto con DEUNA.
Pruebas:
Enlaces de aplicaciones:
https://appdistribution.firebase.dev/i/1f9f7f6e5a7df8ba
https://testflight.apple.com/join/1WwzwYfz
Utilice el número 12345678910 (cualquier código de país)
Código SMS: 000000