Mercado Pago via l'API directe
Intégrer Mercado Pago via l'API DEUNA, tester le cycle de vie des paiements et vérifier le statut final en toute sécurité.
Intégrez Mercado Pago dans votre application via API.
1. Créer et commander#
Pour faire un achat, créez une commande dans DEUNA.
Faites une demande au Créer une commande endpoint.
L'API renvoie un order_token qui est utilisé tout au long du flux.
Exemple de demande
{
"order_type": "AIRLINE_ORDER",
"order": {
....
"statement_descriptor": "DEUNA_TICKET",
"store_code": "all",
"airline_information": {
"booking_items": [
{
"passenger": {
"first_name": "Jhon",
"middle_name": "Paul",
"last_name": "Smith",
"date_of_birth": "2000-06-27"
},
"legs": [
{
"carrier_name": "Aeromexico",
"sub_total_amount": 900,
"tax_amount": 600,
"total_amount": 1500,
"origin": {
"date": "2020-02-15",
"time": "15:30",
"iata_code": "SFO"
},
"destination": {
"iata_code": "DBX",
"date": "2020-02-15",
"time": "15:30"
}
}
]
}
]
}
}
}Description du champ
Découvrez comment tous les champs doivent être remplis dans l'ordre Mercado Pago via API.
Champs communs dans tous les ordres:
| Chemin du champ | Descriptif | Exemple de valeur |
|---|---|---|
| order_type | Type de commande (il doit s'agir d'AIRLINE ORDER si les informations de la compagnie aérienne sont présentes) | AIRLINE_ORDER |
| order.statement_descriptor | Description de l'état de paiement. Longueur maximale acceptée par Mercado Pago : 13 caractères. | DEUNA*SHOP123 |
Champs requis pour les passagers
Pour chaque passager, remplissez les renseignements personnels et chacun des éléments achetés.
| Chemin du champ | Descriptif | Exemple de valeur | Obligatoire |
|---|---|---|---|
| order.airline_information.booking_items[0].passenger.first_name | Prénom du passager | C'est un bon moment. | |
| order.airline_information.booking_items[0].passenger.middle_name | Nom du passager (le cas échéant) | Paul | Facultatif |
| order.airline_information.booking_items[0].passenger.last_name | Nom de famille du passager | Les | |
| order.airline_information.booking_items[0].passenger.date_of_birth | Date de naissance du passager | 2000-06-27 | Facultatif |
| order.airline_information.booking_items[0].legs[0].carrier_name | Code du transporteur aérien | Aéroméxique | Valeur par défaut "Inconnue" |
| order.airline_information.booking_items[0].legs[0].total_amount | Montant total pour la jambe | 1000 | |
| order.airline_information.booking_items[0].legs[0].sub_total_amount | Total partiel pour la jambe sans impôts | 1000 | |
| order.airline_information.booking_items[0].legs[0].tax_amount | Montant de l'impôt | 0 | Facultatif |
| order.airline_information.booking_items[0].legs[0].origin.date | Date d'origine | 2020-02-15 | |
| order.airline_information.booking_items[0].legs[0].origin.time | Heure d'origine | 15:30 | |
| order.airline_information.booking_items[0].legs[0].origin.iata_code | Code IATA de l'aéroport d'origine | SFO | Valeur par défaut "N/A |
| order.airline_information.booking_items[0].legs[0].destination.iata_code | Code IATA de l'aéroport de destination | DBX | Valeur par défaut "N/A |
| order.airline_information.booking_items[0].legs[0].destination.date | Date de destination | 2020-02-15 | |
| order.airline_information.booking_items[0].legs[0].destination.time | Heure de destination | 15:30 |
Champs de commande
| Champ | Descriptif | Exemple de valeur | Obligatoire |
|---|---|---|---|
| order.store_code | Code de magasin unique (valeur -all) | all | |
| order.items | Collecte d'objets. Vérifier | Créer une commande | Requis par ce flux Mercado Pago si les informations sur la compagnie aérienne ne sont pas incluses. |
| order.statement_descriptor | Description de l'état de paiement. Longueur maximale acceptée par Mercado Pago : 13 caractères. | DEUNA\SHOP123 |
Considérations générales:
- À propos
order.items:total_amount.original_amountdoit êtreunit_price.amount * quantity.total_amount.amountdoit être((unit_price.amount + tax_amount.amount) * quantity) - total_amount.total_discount.total_amount.total_discountest la valeur totale des rabais pour la quantité d'articles.
order.items_total_amountest la somme des prix unitaires des articles. Ce montant, majoréorder.total_tax_amountet moinsorder.discount_amount, doit correspondreorder.total_amount.order.sub_totalest la somme du prix unitaire des articles moins les rabais. Ce montant, majoréorder.total_tax_amount, doit correspondreorder.total_amount.
2. callback urls vers pour les liens profonds#
Quand Mercado Pago ouvre dans une surface de navigateur native (SafariViewController sur iOS ou Custom Tabs sur Android), vous devez configurer des liens profonds afin que l'utilisateur retourne à votre application après le résultat du paiement.
{
"order_type": "AIRLINE_ORDER",
"order": {
.
.
.
"callback_urls": {
"on_success": "yourapp://payment/success",
"on_pending": "yourapp://payment/pending",
"on_failed": "yourapp://payment/failed"
}
}
}3. Traiter l'ordre#
Faites une demande au Achat V2 Endpoint un processus de paiement.