Astropay tramite API diretta
Integra AstroPay come metodo di pagamento nella tua applicazione tramite l'API diretta DEUNA.
In questa pagina
Panoramica#
AstroPay è un portafoglio digitale che consente agli utenti di pagare, inviare e ricevere denaro in tutto il mondo attraverso conti multivaluta. DEUNA integra AstroPay come metodo di pagamento portafoglio.
Il flusso di checkout AstroPay funziona come segue:
- L'utente seleziona AstroPay come metodo di pagamento e immette il numero di cellulare.
- L'utente viene reindirizzato alla pagina di autorizzazione AstroPay, che visualizza un codice QR (e un "Copy link" opzione) per l'ordine.
- L'utente apre l'app AstroPay — sia scansionando il codice QR o tramite il link copiato — e conferma il pagamento.
- Il pagamento viene confermato in tempo reale una volta che l'utente lo approva nell'app.
Requisiti:
- AstroPay via DEUNA è attualmente disponibile per Argentina.
- L'utente deve avere un account AstroPay attivo.
- Ambiente:
- Sandbox:
https://api.sandbox.deuna.io - Produzione:
https://api.deuna.io
- Sandbox:
Integrare AstroPay da API#
Passo 1: Creare l'ordine — POST /merchants/orders
Crea l'ordine che il pagamento sarà avviato contro.
Esempio di richiesta
{
"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"
}Fase 2: Avviare il pagamento — POST /v2/merchants/orders/purchase
Utilizzando l'ordine/sposta dal punto 1, questa chiamata inizia l'autorizzazione AstroPay.
Esempio di richiesta
{
"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
}
}
}Restituisce l’ordine elaborato con
{
"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. Reindirizza l'utente
- Prendere l'URL da
payment.data.next_action.authorization_wallet.redirect_url. - Reindirizza l'utente a quell'URL. AstroPay visualizza una pagina con un codice QR e un'opzione "Copy link" per l'ordine - l'utente esegue la scansione del codice (o apre il link copiato) con l'applicazione AstroPay e conferma il pagamento lì.
- Una volta che l'utente approva il pagamento nell'app, AstroPay reindirizza l'utente indietro attraverso gli URL di callback di DEUNA.
- Subito dopo il passo 2, lo stato siede a
pending— l'utente deve ancora confermare il pagamento nell'app AstroPay. Una volta che lo approvano, lo stato diventasucceededodenied. - Ascolta il webhook configurato in
order.webhookUrls.notifyOrder(Step 1) per confermare lo stato di pagamento finale.
Webhooks:
- Per registrare webhooks, si prega di contattare DEUNA.
Test:
Links app:
https://appdistribution.firebase.dev/i/1f9f7f6e5a7df8ba
https://testflight.apple.com/join/1WwzwYfz
Utilizzare il numero 12345678910 (qualsiasi codice paese)
Codice SMS: 000000000