Mercado Pago via l'API directe
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://success",
"on_pending": "yourapp://pending",
"on_failed": "yourapp://failed"
}
}
}3. Traiter l'ordre#
Faites une demande au Achat V2 Endpoint un processus de paiement.