MobupayMobupay
Chargement de vos clés API…

Mettre à jour un paiement

PATCHhttps://api.mobupay.nc/api/v1/payments/{id}

Ce que fait cet appel

Met à jour un paiement. Les métadonnées (metadata) sont toujours modifiables. L'objet order (mêmes champs qu'à la capture : platformConfig, amount, discount, items, taxDetail, tips, et le contexte reference, delivery, buyer, device, invoicing ; currency et taxAmount refusés) n'est modifiable que tant que le paiement n'est PAS capturé (statut authorized / pending), et ne peut pas augmenter le prix au-delà du montant autorisé (order.amount − order.discount ≤ montant autorisé). Couplé à une capture simple (POST /payments/{id}/capture sans corps), cela permet de définir l'order à la capture en 2 étapes : 1 mise à jour puis 1 capture.

Verrou de session : un paiement pending dont la page de paiement (session widget) est déjà ouverte est verrouillé (409 PAYMENT_SESSION_LOCKED) : le montant présenté au client est figé par le widget, modifier l'order créerait un écart entre le montant réellement débité et le montant enregistré. Pour changer le montant, créez une nouvelle session de paiement.

En-tête d'authentification
Authorization: Bearer sk_test_XXXX

Le pool est déduit du préfixe de la clé

Il n'y a pas d'interrupteur test et production sur cette page. sk_test_* ne traite aucun paiement réel, sk_live_* encaisse.

Paramètres

1 en-tête
idstringRequispath

Identifiant du paiement (`pay_*`).

Corps de la requête

application/json
metadataobjectOptionnel

Métadonnées libres (toujours modifiables, même après capture). Fusionnées avec les métadonnées existantes.

objectOptionnel

Objet `order` à mettre à jour (uniquement si le paiement n'est pas capturé). Tous les champs sont optionnels.

Codes de retour

200

Paiement mis à jour.

400

Champ interdit, incohérence platformConfig/amount, ou hausse de prix (AMOUNT_EXCEEDS_AUTHORIZATION).

404

Paiement introuvable.

409

Paiement déjà capturé (PAYMENT_ALREADY_CAPTURED), ou paiement pending avec session widget ouverte (PAYMENT_SESSION_LOCKED : montant carte figé, créer une nouvelle session pour modifier l'order).

Langage

Requête cURLpatchExemple
1curl --request PATCH \
2 --url https://api.mobupay.nc/api/v1/payments/{id} \
3 --header 'authorization: Bearer sk_test_XXXX' \
4 --header 'content-type: application/json' \
5 --data '{ "order": { "amount": 5000, "discount": 1500, "platformConfig": [ { "merchantId": "mer_restaurant", "amount": 4000, "platformCommission": { "type": "PERCENTAGE", "value": 2500 } }, { "merchantId": "mer_livreur", "amount": 1000 } ] } }'
Réponse

Cliquez sur Essayer pour lancer la requête et voir la réponse ici.