View a markdown version of this page

Travaillez avec l'API Agreement en tant qu'acheteur - AWS Marketplace

La référence de l'API AWS Marketplace a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez le manuel AWS Marketplace API Reference.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Travaillez avec l'API Agreement en tant qu'acheteur

Un accord est un document qui lie deux parties, y compris le proposant et l'accepteur (généralement, l'acheteur) et qui définit les termes et conditions applicables entre eux.

L'acheteur crée un AgreementRequest, qui génère un devis. Ce devis inclut toutes les informations pertinentes, telles que les frais estimés qui seront engagés pendant la durée de vie du contrat, ce qui est essentiel pour la décision d'achat de l'acheteur. Si l'acheteur est satisfait du devis, il peut l'accepter AgreementRequest avant son expiration. Le contrat est créé lors de l'acceptation du AgreementRequest. Au cours de ce processus, l'administrateur de l'acheteur ou le représentant de l'acheteur peut associer le bon de commande aux frais. Enfin, sur la base des termes et conditions de l'accord actif, l'acheteur reçoit une facture et reçoit une licence d'utilisation du produit.

Prérequis : Découvrez les produits et les offres

Avant de créer un accord, utilisez l'API AWS Marketplace Discovery pour découvrir le produit et obtenir les détails agreementProposalIdpricingModel, et les termes nécessaires à la création d'unCreateAgreementRequest.

Step (Étape) Action de l'API Discovery Output Utilisé pour
1 ListPurchaseOptions offerId Trouver les offres disponibles pour un produit
2 GetOffer agreementProposalId, pricingModel Construire agreementProposalIdentifier
3 GetOfferTerms Identifiants des termes et informations sur les prix Construire requestedTerms

Pour obtenir des informations détaillées sur la découverte des produits et les prix, consultezDécouvrez les produits et les prix.

Un accepteur peut effectuer les tâches suivantes à l'aide de cette API :

Sous-tâche Description Action (s) Intention

Générer un devis

L'accepteur peut générer un devis qui inclut toutes les informations pertinentes, telles que les frais qui seront engagés pendant la durée de vie du contrat, ce qui est essentiel pour la décision d'achat de l'acheteur. CreateAgreementRequest NOUVEAU

Accepter une offre

L'accepteur peut accepter les conditions proposées par le proposant qui créent un nouvel accord. Cette acceptation peut impliquer la transmission de paramètres pour certaines conditions, telles que la sélection de la quantité ou de la durée, l'ajout d'un bon de commande, etc. L'accepteur peut également créer un nouvel accord selon lequel l'utilisation du produit commence à une date future. La date de signature de l'accord correspond à l'acceptation de l'offre et à la création de l'accord. La date de début du contrat est la date future à laquelle l'utilisation du produit commence. Il s'agit de la date license/entitlement d'activation. Pour obtenir le dernier statut de vos droits d'utilisation, reportez-vous à l'GetAgreementEntitlementsAPI. CreateAgreementRequest, AcceptAgreementRequest NOUVEAU

Remplacer un accord existant

L'accepteur peut effectuer une mise à niveau à mi-parcours de son contrat pour passer à des conditions plus favorables ou changer de vendeur pour ses contrats. Cette action met fin à l'accord existant transmis en entrée et crée un nouvel accord net. Cette action est logiquement équivalente à une annulation suivie d'un NOUVEL accord, mais elle garantit la continuité des droits pour l'accepteur et à aucun moment l'accepteur ne se retrouve sans droits. CreateAgreementRequest, AcceptAgreementRequest REPLACE

Modifier un accord existant

L'accepteur est uniquement autorisé à modifier la configuration pour les termes acceptés. Par exemple, ils peuvent activer ou désactiver le renouvellement automatique, ou modifier la quantité achetée, à condition que le changement de prix après la modification n'entraîne pas de remboursement. Nous ne soutiendrons la modification des frais que si l'accord n'a pas encore été conclu. Remarque : Le proposant est autorisé à modifier les prix en fonction de la durée de facturation à l'utilisation. Toute augmentation des prix au fur et à mesure prend effet 90 jours après que l'acheteur a été informé de l'augmentation de prix. Toute baisse des prix au fur et à mesure prend effet immédiatement. CreateAgreementRequest, AcceptAgreementRequest MODIFIER

Activer ou désactiver le renouvellement automatique

L'accepteur peut activer ON/Off le drapeau de renouvellement automatique sur son contrat si le vendeur a activé les conditions de l'offre de renouvellement. Si cette option est activée, le renouvellement du contrat sera créé par le service des contrats à la date d'expiration du contrat d'origine en utilisant la dernière révision de l'offre. La date de début de cet accord créé sera la même que la date de fin de l'accord initial. CreateAgreementRequest, AcceptAgreementRequest MODIFIER

Annuler un accord

L'accepteur peut annuler le contrat d'utilisation. Pour tout le reste, l'acheteur doit contacter le vendeur pour initier l'annulation. Lorsque vous annulez votre contrat, votre licence et vos droits sont désactivés. CancelAgreement N/A

Contrats de recherche

L'accepteur peut effectuer une recherche dans tous les accords auxquels il a participé en tant qu'accepteur. AWS Marketplace La recherche renvoie une liste d'accords contenant des informations de base sur les accords. SearchAgreements N/A

Décrire un accord

L'accepteur peut consulter les détails d'un accord, tels que le proposant, l'accepteur, les dates de début et de fin. DescribeAgreement N/A

Obtenir les termes de l'accord

L'accepteur peut obtenir des détails sur les termes d'un accord auquel il a participé en tant qu'accepteur. GetAgreementTerms N/A

Obtenez les droits liés à l'accord

L'accepteur peut obtenir une vue d'ensemble du statut et des détails des droits liés à son accord, par exemple, s'il est en cours d'octroi ou s'il a été rejeté (et dans l'affirmative, pour quelles raisons), quels sont les droits accordés aux clients. GetAgreementEntitlements N/A

Obtenez un jeton d'enregistrement

Le jeton d'enregistrement est un jeton de courte durée requis par les accepteurs pour créer un compte auprès des proposants. Ce jeton est utilisé à la fois pour les types de dimensions mesurés en externe et pour les types de dimensions intitulés. Le jeton n'est valable que 30 minutes après sa création et ne s'applique actuellement qu'aux contrats d'achat SaaS. GetAgreementEntitlements N/A

Énumérer les frais du contrat

L'accepteur peut consulter les frais et les détails du bon de commande qui lui sont associés dans le cadre de son contrat. ListAgreementCharges N/A

Mettre à jour les bons de commande

L'accepteur peut ajouter un numéro de bon de commande après s'être abonné à un produit. Une fois qu'un bon de commande est associé à des frais, la facture générée pour ces frais inclura le numéro du bon de commande. UpdatePurchaseOrders N/A

Lister les demandes d'annulation

L'accepteur peut répertorier toutes les demandes d'annulation des accords auxquels il participe. La liste peut être filtrée en fonction de l'accord, du statut et d'autres critères. ListAgreementCancellationRequests N/A

Obtenir les détails de la demande d'annulation

L'accepteur peut récupérer des informations détaillées sur une demande d'annulation spécifique initiée par le vendeur (proposant), notamment le statut, les horodatages et les codes de motif. GetAgreementCancellationRequest N/A

Accepter une demande d'annulation

L'accepteur peut approuver une demande d'annulation initiée par le vendeur (proposant) pour un accord actif. Après approbation, le flux de travail d'annulation de l'accord s'exécute de manière asynchrone et le statut de l'accord passe à annulé. Remarque : Les utilisateurs ont également besoin d'une CancelAgreement autorisation, car l'approbation de la demande d'annulation entraîne l'annulation du contrat. AcceptAgreementCancellationRequest, CancelAgreement N/A

Refuser une demande d'annulation

L'accepteur peut rejeter une demande d'annulation initiée par le vendeur (proposant). Après le rejet, l'accord reste actif et la demande d'annulation passe à l'état terminal. Le vendeur peut créer une nouvelle demande d'annulation si nécessaire. RejectAgreementCancellationRequest N/A

Lister les demandes de paiement

L'accepteur peut répertorier toutes les demandes de paiement pour les accords auxquels il participe. La liste peut être filtrée en fonction de l'accord, du statut et d'autres critères. ListAgreementPaymentRequests N/A

Obtenir les détails de la demande de paiement

L'accepteur peut récupérer des informations détaillées sur une demande de paiement spécifique initiée par le vendeur (proposant), y compris le statut, les horodatages et les frais associés. GetAgreementPaymentRequest N/A

Accepter une demande de paiement

L'accepteur peut approuver une demande de paiement initiée par le vendeur (proposant) pour un accord actif. AcceptAgreementPaymentRequest N/A

Refuser une demande de paiement

L'accepteur peut rejeter une demande de paiement initiée par le vendeur (proposant). Après le rejet, la demande de paiement passe à l'état terminal. Le vendeur peut créer une nouvelle demande de paiement si nécessaire. RejectAgreementPaymentRequest N/A

Générer un devis

CreateAgreementRequestÀ utiliser pour générer un devis. Vous devez indiquer :

  • agreementProposalIdentifier— le agreementProposalId extrait de la GetOfferréponse.

  • requestedTerms— construit à partir des termes de la GetOfferTermsréponse. Chaque terme nécessite le sienid, et certains en nécessitent un supplémentaireconfiguration. Consultez Élaboration des termes demandés.

response = client.create_agreement_request( agreementProposalIdentifier='at-edhtjnbilupjv3xqbphtom77y', intent='NEW', requestedTerms=[ {'id': 'term-legal-abc123'}, {'id': 'term-validity-def456'}, { 'id': 'term-configurable-pricing-789', 'configuration': { 'configurableUpfrontPricingTermConfiguration': { 'selectorValue': 'P12M', 'dimensions': [ {'dimensionKey': 'Users', 'dimensionValue': 50} ] } } }, { 'id': 'term-renewal-012', 'configuration': { 'renewalTermConfiguration': {'enableAutoRenew': True} } } ] ) print(f"Agreement Request ID: {response['agreementRequestId']}") for charge in response['chargeSummary']['expectedCharges']: print(f" Charge ID: {charge['id']}, Amount: ${charge['amount']}")

Élaboration des termes demandés

Pour construirerequestedTerms, vous devez déterminer deux choses :

  1. Les conditions à inclure, déterminées par le modèle de tarification de l'offre. Consultez Conditions requises par modèle de tarification.

  2. Quels termes nécessitent une configuration ? La plupart des termes ne nécessitent que leid, mais trois types de termes nécessitent une configuration supplémentaire fournie par l'acheteur. Consultez Configurations terminologiques.

Conditions requises par modèle de tarification

Le pricingModel.PricingModel champ de la GetOfferréponse détermine les termes qui doivent être inclus dans votre réponseCreateAgreementRequest.

Les conditions suivantes doivent être incluses dans chaque accord lorsqu'elles sont présentes dans l'offre : LegalTermSupportTerm,ValidityTerm, etRenewalTerm.

Note

FreeTrialPricingTermne peut être accepté qu'une seule fois par produit. Un message d'erreur CreateAgreementRequest sera renvoyé si l'acheteur a déjà utilisé un essai gratuit.

CONTRAT

Tous les termes renvoyés par GetOfferTermssont obligatoires en une seule foisCreateAgreementRequest.

UTILISATION

La création du contrat dépend des conditions présentes dans l'offre :

  1. Premier accord — Acceptez UsageBasedPricingTerm and/or RecurringPaymentTerm (selon le contenu de l'offre) ainsi que les conditions obligatoires. Cela octroie des droits d'utilisation du produit.

  2. Contrat (s) ultérieur (s) (facultatif) — Si l'offre inclut ConfigurableUpfrontPricingTermFixedUpfrontPricingTerm, ouPaymentScheduleTerm, vous pouvez éventuellement créer un contrat d'achat annuel distinct pour bénéficier de prix réduits.

Note

Si vous créez les deux accords et que vous souhaitez les annuler ultérieurement, annulez d'abord l'accord suivant (avecConfigurableUpfrontPricingTerm), puis annulez le premier accord (avec UsageBasedPricingTerm and/or RecurringPaymentTerm).

BYOL

Acceptez ByolPricingTerm avec les conditions obligatoires.

Configurations terminologiques

La plupart des termes ne nécessitent que le id formulaire GetOfferTerms. Les types de termes suivants nécessitent la fourniture d'un acheteur configuration en plus des termes suivants : id

Type de terme Configuration Ce que l'acheteur fournit
ConfigurableUpfrontPricingTerm ConfigurableUpfrontPricingTermConfiguration Durée du contrat et nombre d'unités par dimension
RenewalTerm RenewalTermConfiguration S'il faut procéder au renouvellement automatique à l'expiration du contrat
VariablePaymentTerm VariablePaymentTermConfiguration Comment les demandes de paiement du vendeur sont approuvées

ConfigurableUpfrontPricingTermConfiguration

Utilisez l'exemple ci-dessous pour localiser les valeurs nécessaires pourConfigurableUpfrontPricingTermConfiguration.

Exemple de GetOfferTerms réponse :

{ "offerTerms": [ { "configurableUpfrontPricingTerm": { "id": "term-34dfb665ebd38eb2d0269a4af454c4f33cd90292ecc7b0f71058175594f67394", "currencyCode": "USD", "rateCards": [ { "constraints": { "multipleDimensionSelection": "Allowed", "quantityConfiguration": "Allowed" }, "selector": { "type": "Duration", "value": "P1M" }, "rateCard": [ { "dimensionKey": "BasicService", "displayName": "Basic Service", "price": "0", "unit": "Units" }, { "dimensionKey": "PremiumService", "displayName": "Premium Service", "price": "0", "unit": "Units" } ] } ], "type": "ConfigurableUpfrontPricingTerm" } } ] }
Champ Valeur/ source
ConfigurableUpfrontPricingTermConfiguration.selectorValue offerTerms[].configurableUpfrontPricingTerm.rateCards[].selector.value
Dimension.dimensionKey offerTerms[].configurableUpfrontPricingTerm.rateCards[].rateCard[].dimensionKey
Dimension.dimensionValue Buyer-supplied entier (nombre d'unités à acheter pour cette dimension)
Note

Le constraints champ de la carte tarifaire indique comment vous pouvez le ConfigurableUpfrontPricingTermConfiguration créer, par exemple, si vous pouvez sélectionner plusieurs dimensions ou une seule. Consultez le type de données Contraintes pour plus de détails.

Exemple de RequestedTerm charge utile pour ConfigurableUpfrontPricingTerm :

{ "id": "term-43ab7a2445f89dfcb7e1a6a81c92fe08c124125ffad126bea5e5b7915c065166", "configuration": { "configurableUpfrontPricingTermConfiguration": { "selectorValue": "P12M", "dimensions": [ { "dimensionKey": "AdminUsers", "dimensionValue": 5 }, { "dimensionKey": "ReadOnlyUsers", "dimensionValue": 10 } ] } } }

RenewalTermConfiguration

Champ Valeur/ source
enableAutoRenew Buyer-supplied boolean (trueoufalse) — obligatoire

Exemple de RequestedTerm charge utile pour RenewalTerm :

{ "id": "term-ffcc0100ce0c5468426dc07d0b05cff09ab8447640108d9c95ce1591f0949738", "configuration": { "renewalTermConfiguration": { "enableAutoRenew": false } } }

VariablePaymentTermConfiguration

Champ Valeur/ source
RequestedTerm.configuration.variablePaymentTermConfiguration.paymentRequestApprovalStrategy Buyer-supplied: AUTO_APPROVE_ON_EXPIRATION ou WAIT_FOR_APPROVALobligatoire
RequestedTerm.configuration.variablePaymentTermConfiguration.expirationDuration Buyer-supplied durée (par exemple,P10D) ; obligatoire uniquement lorsque la stratégie est AUTO_APPROVE_ON_EXPIRATION

Exemple de RequestedTerm charge utile pour VariablePaymentTerm :

{ "id": "term-9ab34376c51cd5b4dc995aa0f410b657d58bd577b3f09b34d38afb6964aaaf12", "configuration": { "variablePaymentTermConfiguration": { "paymentRequestApprovalStrategy": "AUTO_APPROVE_ON_EXPIRATION", "expirationDuration": "P10D" } } }

Accepter une offre

Tout d'abord, générez un devis comme décrit dansGénérer un devis. Ensuite, AcceptAgreementRequest utilisez-le pour accepter le devis et créer le contrat. Vous devez appeler AcceptAgreementRequest avant l'expiration de la demande d'accord. Vous pouvez éventuellement associer un numéro de bon de commande lors de l'acceptation.

# Use chargeId from CreateAgreementRequest response response = client.accept_agreement_request( agreementRequestId='agrq-abc123', purchaseOrders=[ { 'chargeId': 'charge-xyz', # From chargeSummary.expectedCharges[].id 'purchaseOrderReference': 'PO-2024-001' } ] ) print(f"Agreement ID: {response['agreementId']}")

Remplacer un accord existant

Construisez un CreateAgreementRequest tel que décrit dansGénérer un devis, mais intent configurez-le REPLACE et sourceAgreementIdentifier fournissez-le avec l'accord de remplacement. Appelez ensuite AcceptAgreementRequest pour terminer le remplacement.

response = client.create_agreement_request( agreementProposalIdentifier='at-edhtjnbilupjv3xqbphtom77y', intent='REPLACE', sourceAgreementIdentifier='agmt-existing123' ) print(f"Agreement Request ID: {response['agreementRequestId']}")

Modifier un accord existant

Pour modifier la configuration des termes d'un accord existant, définissez intent AMEND et fournissezsourceAgreementIdentifier. Contrairement à un nouvel accord, aucun n'agreementProposalIdentifierest nécessaire. N'incluez que les termes dont vous souhaitez modifier la configuration. Appelez ensuite AcceptAgreementRequest pour appliquer l'amendement.

response = client.create_agreement_request( intent='AMEND', sourceAgreementIdentifier='agmt-existing123', requestedTerms=[ { 'id': 'term-configurable-pricing-789', 'configuration': { 'configurableUpfrontPricingTermConfiguration': { 'selectorValue': 'P12M', 'dimensions': [ {'dimensionKey': 'Users', 'dimensionValue': 100} ] } } } ] ) print(f"Agreement Request ID: {response['agreementRequestId']}")

Activer ou désactiver le renouvellement automatique

CreateAgreementRequestÀ utiliser dans le AMEND but d'activer le renouvellement automatique.

response = client.create_agreement_request( intent='AMEND', sourceAgreementIdentifier='agmt-existing123', requestedTerms=[ { 'id': 'term-renewal-456', 'configuration': { 'renewalTermConfiguration': {'enableAutoRenew': True} } } ] ) print(f"Agreement Request ID: {response['agreementRequestId']}")

Annuler un accord

CancelAgreementÀ utiliser pour annuler un contrat d'utilisation. Pour les autres types de contrats, l'acheteur doit contacter le vendeur pour initier l'annulation.

client.cancel_agreement( agreementId='agmt-abc123' )

Contrats de recherche

Utilisez-le SearchAgreements pour effectuer une recherche dans tous les accords auxquels vous participez en tant qu'accepteur. La recherche renvoie une liste d'accords contenant des informations de base sur les accords.

response = client.search_agreements( catalog='AWSMarketplace', filters=[ {'name': 'PartyType', 'values': ['Acceptor']}, {'name': 'AgreementType', 'values': ['PurchaseAgreement']}, {'name': 'Status', 'values': ['ACTIVE']} ] ) for agmt in response['agreementViewSummaries']: print(f" {agmt['agreementId']}: {agmt['status']}")

Décrire un accord

Permet DescribeAgreement d'afficher les détails d'un accord, tels que le proposant, l'accepteur, les dates de début et de fin.

response = client.describe_agreement( agreementId='agmt-abc123' ) print(f"Status: {response['status']}") print(f"Start: {response['startTime']}") print(f"End: {response['endTime']}")

Obtenir les termes de l'accord

GetAgreementTermsÀ utiliser pour obtenir des détails sur les termes d'un accord auquel vous participez en tant qu'accepteur.

response = client.get_agreement_terms( agreementId='agmt-abc123' ) for term in response['acceptedTerms']: print(f" Term: {term}")

Obtenez les droits liés à l'accord

GetAgreementEntitlementsÀ utiliser pour obtenir une vue au niveau de l'accord du statut et des détails des droits liés à votre accord.

response = client.get_agreement_entitlements( agreementId='agmt-abc123' ) for ent in response['agreementEntitlements']: print(f" {ent['resource']}: {ent['status']}")

Obtenez un jeton d'enregistrement

GetAgreementEntitlementsÀ utiliser pour obtenir un jeton d'enregistrement. Ce jeton de courte durée (valable 30 minutes) est requis par les accepteurs pour créer un compte auprès des proposants. Actuellement uniquement applicable aux contrats d'achat SaaS.

response = client.get_agreement_entitlements( agreementId='agmt-abc123' ) for ent in response['agreementEntitlements']: if 'registrationToken' in ent: print(f"Registration Token: {ent['registrationToken']}") # Token is valid for 30 minutes

Énumérer les frais du contrat

Permet ListAgreementCharges de consulter les frais et les détails du bon de commande associés à votre contrat.

response = client.list_agreement_charges( agreementId='agmt-abc123' ) for charge in response['items']: print(f" {charge['id']} (rev {charge['revision']}): ${charge['amount']}") print(f" PO: {charge.get('purchaseOrderReference', 'N/A')}")

Mettre à jour les bons de commande

Permet UpdatePurchaseOrders d'ajouter un numéro de bon de commande après avoir souscrit à un produit. Utilisez le chargeId et chargeRevision à partir de la Énumérer les frais du contrat réponse. Une fois qu'un bon de commande est associé à des frais, la facture générée pour ces frais inclut le numéro du bon de commande.

client.update_purchase_orders( agreementId='agmt-abc123', purchaseOrders=[ { 'chargeId': 'charge-xyz', 'chargeRevision': 1, 'purchaseOrderReference': 'PO-2024-001' } ] )

Lister les demandes d'annulation

Permet ListAgreementCancellationRequests de répertorier toutes les demandes d'annulation des accords auxquels vous participez. Vous pouvez filtrer par accord, statut et autres critères.

response = client.list_agreement_cancellation_requests( partyType='Acceptor', agreementId='agmt-abc123' ) for req in response['agreementCancellationRequests']: print(f" {req['agreementCancellationRequestId']}: {req['status']}")

Obtenir les détails de la demande d'annulation

Permet GetAgreementCancellationRequest de récupérer des informations détaillées sur une demande d'annulation spécifique, notamment le statut, les horodatages et les codes de motif.

response = client.get_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' ) print(f"Status: {response['status']}") print(f"Reason: {response['reasonCode']}")

Accepter une demande d'annulation

AcceptAgreementCancellationRequestÀ utiliser pour approuver une demande d'annulation initiée par le vendeur. Après approbation, le flux de travail d'annulation de l'accord s'exécute de manière asynchrone. Vous avez également besoin d'une CancelAgreement autorisation, car l'approbation de la demande d'annulation entraîne l'annulation du contrat.

client.accept_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' )

Refuser une demande d'annulation

RejectAgreementCancellationRequestÀ utiliser pour rejeter une demande d'annulation initiée par le vendeur. Après le rejet, le contrat reste actif et le vendeur peut créer une nouvelle demande d'annulation si nécessaire.

client.reject_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' )

Lister les demandes de paiement

Permet ListAgreementPaymentRequests de répertorier toutes les demandes de paiement relatives aux accords auxquels vous participez. Vous pouvez filtrer par accord, statut et autres critères.

response = client.list_agreement_payment_requests( partyType='Acceptor', agreementId='agmt-abc123' ) for req in response['agreementPaymentRequests']: print(f" {req['agreementPaymentRequestId']}: {req['status']}")

Obtenir les détails de la demande de paiement

Permet GetAgreementPaymentRequest de récupérer des informations détaillées sur une demande de paiement spécifique, notamment le statut, les horodatages et les frais associés.

response = client.get_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' ) print(f"Status: {response['status']}") print(f"Amount: ${response['amount']}")

Accepter une demande de paiement

AcceptAgreementPaymentRequestÀ utiliser pour approuver une demande de paiement initiée par le vendeur pour un accord actif.

client.accept_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' )

Refuser une demande de paiement

RejectAgreementPaymentRequestÀ utiliser pour rejeter une demande de paiement initiée par le vendeur. Après le rejet, le vendeur peut créer une nouvelle demande de paiement si nécessaire.

client.reject_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' )