L'AWS Marketplace API Reference è stato ristrutturato. Per ulteriori informazioni sulle operazioni API supportate, consulta l'AWS Marketplace API Reference.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Lavora con l'API Agreement come acquirente
Un accordo è un documento che vincola due parti, tra cui il proponente e l'accettante (in genere, l'acquirente) e definisce i termini e le condizioni applicabili tra di esse.
L'acquirente crea un AgreementRequest, che genera un preventivo. Questo preventivo include tutte le informazioni pertinenti, come le spese stimate che verranno sostenute nel corso della durata del contratto, fondamentali per la decisione di acquisto dell'acquirente. Se l'acquirente è soddisfatto del preventivo, può accettarlo AgreementRequest prima della scadenza. L'accordo viene creato dopo l'accettazione del AgreementRequest. Durante questo processo, l'amministratore o la persona dell'acquirente possono associare l'ordine di acquisto agli addebiti. Infine, in base ai termini e alle condizioni del contratto attivo, all'acquirente viene emessa una fattura e viene concessa una licenza per l'utilizzo del prodotto.
Prerequisiti: scopri prodotti e offerte
Prima di creare un accordo, utilizza l'API AWS Marketplace Discovery per scoprire il prodotto e ottenere agreementProposalId i pricingModel dettagli e i termini necessari per creare un. CreateAgreementRequest
| Fase | Azione dell'API Discovery | Output | Usato per |
|---|---|---|---|
| 1 | ListPurchaseOptions | offerId |
Individuazione delle offerte disponibili per un prodotto |
| 2 | GetOffer | agreementProposalId, pricingModel |
Costruendo agreementProposalIdentifier |
| 3 | GetOfferTerms | ID dei termini e dettagli sui prezzi | Costruendo requestedTerms |
Per informazioni dettagliate sulla scoperta di prodotti e prezzi, consultaScopri prodotti e prezzi.
Un accettatore può eseguire le seguenti attività utilizzando questa API:
| Operazione | Description | Azione/i | Intento |
|---|---|---|---|
| Acceptor può generare un preventivo che includa tutte le informazioni pertinenti, come gli addebiti che verranno sostenuti per tutta la durata del contratto, fondamentali per la decisione di acquisto dell'acquirente. | CreateAgreementRequest |
NEW | |
| L'Accettatore può accettare le condizioni proposte dal proponente che creano un nuovo accordo. Questa accettazione può comportare il passaggio di parametri per determinati termini, come la selezione della quantità o della durata, l'aggiunta di un ordine di acquisto ecc. Acceptor può anche creare un nuovo accordo in cui l'utilizzo del prodotto inizia in date future. La data di firma dell'accordo sarà quella in cui l'offerta viene accettata e quando l'accordo viene creato. La data di inizio del contratto è la data futura in cui inizia l'utilizzo del prodotto. Questa è la data in cui license/entitlement viene attivato. Per conoscere lo stato più recente dei tuoi diritti d'uso, consulta l'API. GetAgreementEntitlements | CreateAgreementRequest,
AcceptAgreementRequest |
NEW | |
| L'Acceptor può eseguire un aggiornamento a medio termine del contratto per passare a condizioni più favorevoli o cambiare venditore per i contratti. Questa azione pone fine all'accordo esistente passato come input e crea un nuovo accordo netto. Questa azione è logicamente equivalente a un CANCEL seguito da un NUOVO accordo, ma garantisce la continuità dei diritti per l'Accettatore e in nessun momento l'Accettatore rimane senza diritti. | CreateAgreementRequest,
AcceptAgreementRequest |
REPLACE | |
| L'accettatore è autorizzato a modificare solo la configurazione per i termini accettati. Ad esempio, possono abilitare o disabilitare il rinnovo automatico o modificare la quantità acquistata, a condizione che la modifica del prezzo successiva alla modifica non comporti rimborsi. Supporteremo la modifica dell'addebito solo se il contratto non è stato avviato. Nota: il proponente è autorizzato a modificare i prezzi in base al periodo di tariffazione con pagamento in base al consumo. Qualsiasi aumento dei prezzi con pagamento in base al consumo impiega 90 giorni per entrare in vigore dopo la notifica all'acquirente dell'aumento del prezzo. Qualsiasi riduzione dei prezzi del pagamento in base al consumo ha effetto immediato. | CreateAgreementRequest,
AcceptAgreementRequest |
EMENDARE | |
| L'Accettatore può attivare ON/Off l'opzione di rinnovo automatico sul contratto se il venditore ha abilitato i termini dell'offerta di rinnovo. Se abilitato, il contratto di rinnovo verrà creato dal servizio Contratto alla data di scadenza del contratto originale utilizzando l'ultima revisione dell'offerta. La data di inizio del presente Contratto di creazione sarà la stessa data di fine del contratto originale. | CreateAgreementRequest,
AcceptAgreementRequest |
EMENDARE | |
| L'accettatore può annullare il contratto di utilizzo. Per tutto il resto, l'acquirente deve contattare il venditore per avviare l'annullamento. Quando annulli il contratto, la licenza e i diritti vengono disattivati. | CancelAgreement |
N/A | |
| Acceptor può eseguire ricerche in tutti gli accordi a cui ha partecipato come accettatore. AWS Marketplace La ricerca restituisce un elenco di accordi con informazioni di base sugli accordi. | SearchAgreements |
N/A | |
| L'accettatore può visualizzare i dettagli di un accordo, ad esempio il proponente, l'accettante, la data di inizio e la data di fine. | DescribeAgreement |
N/A | |
| L'accettante può ottenere dettagli sui termini di un accordo a cui ha partecipato in qualità di accettatore. | GetAgreementTerms |
N/A | |
| Acceptor può ottenere una visione a livello di accordo dello stato e dei dettagli dei diritti legati al contratto, ad esempio se il contratto è in fase di concessione o se è stato rifiutato (e, in caso affermativo, per quali motivi), quali diritti vengono concessi ai clienti. | GetAgreementEntitlements |
N/A | |
| Il token di registrazione è un token di breve durata richiesto dagli accettatori per creare un account con i proponenti. Questo token viene utilizzato sia per i tipi di dimensione contabilizzati esternamente che per quelli autorizzati. Il token è valido solo per 30 minuti dopo la creazione e attualmente è applicabile solo per i contratti di acquisto SaaS. | GetAgreementEntitlements |
N/A | |
| Acceptor può visualizzare gli addebiti e i dettagli degli ordini di acquisto ad essi associati per il relativo Contratto. | ListAgreementCharges |
N/A | |
| Acceptor può aggiungere un numero d'ordine di acquisto dopo aver sottoscritto un prodotto. Una volta che un ordine di acquisto è associato a un addebito, la fattura generata per tale addebito includerà il numero dell'ordine di acquisto. | UpdatePurchaseOrders |
N/A | |
| Acceptor può elencare tutte le richieste di annullamento degli accordi a cui partecipa. L'elenco può essere filtrato per contratto, stato e altri criteri. | ListAgreementCancellationRequests |
N/A | |
| Acceptor può recuperare informazioni dettagliate su una specifica richiesta di annullamento avviata dal venditore (proponente), inclusi lo stato, i timestamp e i codici motivo. | GetAgreementCancellationRequest |
N/A | |
L'accettatore può approvare una richiesta di annullamento avviata dal venditore (proponente) per un accordo attivo. Dopo l'approvazione, il flusso di lavoro di cancellazione dell'accordo viene eseguito in modo asincrono e lo stato dell'accordo diventa annullato. Nota: anche gli utenti necessitano dell'CancelAgreementautorizzazione perché l'approvazione della richiesta di annullamento comporta l'annullamento dell'accordo. |
AcceptAgreementCancellationRequest,
CancelAgreement |
N/A | |
| L'accettatore può rifiutare una richiesta di annullamento avviata dal venditore (proponente). Dopo il rifiuto, l'accordo rimane attivo e la richiesta di cancellazione entra in uno stato terminale. Il venditore può creare una nuova richiesta di annullamento, se necessario. | RejectAgreementCancellationRequest |
N/A | |
| Acceptor può elencare tutte le richieste di pagamento per gli accordi a cui partecipa. L'elenco può essere filtrato per contratto, stato e altri criteri. | ListAgreementPaymentRequests |
N/A | |
| Acceptor può recuperare informazioni dettagliate su una specifica richiesta di pagamento avviata dal venditore (proponente), inclusi lo stato, i timestamp e gli addebiti associati. | GetAgreementPaymentRequest |
N/A | |
| L'accettatore può approvare una richiesta di pagamento avviata dal venditore (proponente) per un accordo attivo. | AcceptAgreementPaymentRequest |
N/A | |
| L'accettatore può rifiutare una richiesta di pagamento avviata dal venditore (proponente). Dopo il rifiuto, la richiesta di pagamento entra in uno stato terminale. Il venditore può creare una nuova richiesta di pagamento, se necessario. | RejectAgreementPaymentRequest |
N/A |
Genera un preventivo
Utilizza CreateAgreementRequest per generare un preventivo. È necessario fornire:
agreementProposalIdentifier— ilagreementProposalIdrisultato della GetOfferrisposta.requestedTerms— costruito sulla base dei termini della GetOfferTermsrisposta. Ogni termine richiede il suoid, e alcuni ne richiedono uno aggiuntivoconfiguration. Per informazioni, consulta Costruire RequestedTerms.
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']}")
Costruire RequestedTerms
Per costruirerequestedTerms, devi determinare due cose:
Quali termini includere: determinati dal modello di prezzo dell'offerta. Per informazioni, consulta Termini richiesti per modello di prezzo.
Quali termini richiedono una configurazione: la maggior parte dei termini richiede solo la configurazione
id, ma tre tipi di termine richiedono una configurazione aggiuntiva fornita dall'acquirente. Per informazioni, consulta Configurazioni dei termini.
Termini richiesti per modello di prezzo
Il pricingModel.PricingModel campo nella GetOfferrisposta determina quali termini devono essere inclusi nel tuoCreateAgreementRequest.
I seguenti termini devono essere inclusi in ogni contratto quando sono presenti nell'offerta: LegalTermSupportTerm,ValidityTerm, eRenewalTerm.
Nota
FreeTrialPricingTermpuò essere accettato solo una volta per prodotto: CreateAgreementRequest restituirà un errore se l'acquirente ha già utilizzato una prova gratuita.
CONTRATTO
Tutti i termini restituiti da GetOfferTermssono obbligatori in un unico documentoCreateAgreementRequest.
UTILIZZO
La creazione del contratto dipende dai termini presenti nell'offerta:
Primo accordo: accetta
UsageBasedPricingTermand/orRecurringPaymentTerm(a seconda di cosa include l'offerta) insieme ai termini obbligatori. Ciò concede i diritti di utilizzo del prodotto.Contratti successivi (facoltativi): se l'offerta include o
ConfigurableUpfrontPricingTerm, facoltativamenteFixedUpfrontPricingTermPaymentScheduleTerm, è possibile creare un contratto di acquisto annuale separato per ottenere prezzi scontati.
Nota
Se crei entrambi gli accordi e successivamente desideri annullarli, annulla prima il contratto successivo (conConfigurableUpfrontPricingTerm), quindi annulla il primo accordo (con UsageBasedPricingTerm and/or RecurringPaymentTerm).
BYOL
Accetta ByolPricingTerm insieme ai termini obbligatori.
Configurazioni dei termini
La maggior parte dei termini richiede solo il moduloid. GetOfferTerms I seguenti tipi di termine richiedono un documento fornito dall'acquirente configuration in aggiunta a: id
| Tipo di termine | Configurazione | Cosa fornisce l'acquirente |
|---|---|---|
ConfigurableUpfrontPricingTerm |
ConfigurableUpfrontPricingTermConfiguration | Durata del contratto e numero di unità per dimensione |
RenewalTerm |
RenewalTermConfiguration | Se effettuare il rinnovo automatico alla scadenza del contratto |
VariablePaymentTerm |
VariablePaymentTermConfiguration | Come vengono approvate le richieste di pagamento del venditore |
ConfigurableUpfrontPricingTermConfiguration
Utilizza l'esempio seguente per individuare i valori necessari perConfigurableUpfrontPricingTermConfiguration.
Esempio GetOfferTerms di risposta:
{ "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" } } ] }
| Campo | Valore/fonte |
|---|---|
ConfigurableUpfrontPricingTermConfiguration.selectorValue |
offerTerms[].configurableUpfrontPricingTerm.rateCards[].selector.value |
Dimension.dimensionKey |
offerTerms[].configurableUpfrontPricingTerm.rateCards[].rateCard[].dimensionKey |
Dimension.dimensionValue |
Buyer-supplied numero intero (numero di unità da acquistare per quella dimensione) |
Nota
Il constraints campo nella scheda tariffaria determina il modo in cui è possibile crearlaConfigurableUpfrontPricingTermConfiguration, ad esempio se è possibile selezionare più dimensioni o solo una. Per i dettagli, consulta il tipo di dati Constraints.
Esempio di RequestedTerm payload per: ConfigurableUpfrontPricingTerm
{ "id": "term-43ab7a2445f89dfcb7e1a6a81c92fe08c124125ffad126bea5e5b7915c065166", "configuration": { "configurableUpfrontPricingTermConfiguration": { "selectorValue": "P12M", "dimensions": [ { "dimensionKey": "AdminUsers", "dimensionValue": 5 }, { "dimensionKey": "ReadOnlyUsers", "dimensionValue": 10 } ] } } }
RenewalTermConfiguration
| Campo | Valore/fonte |
|---|---|
enableAutoRenew |
Buyer-supplied boolean (trueorfalse) — obbligatorio |
Esempio di RequestedTerm payload per: RenewalTerm
{ "id": "term-ffcc0100ce0c5468426dc07d0b05cff09ab8447640108d9c95ce1591f0949738", "configuration": { "renewalTermConfiguration": { "enableAutoRenew": false } } }
VariablePaymentTermConfiguration
| Campo | Valore/fonte |
|---|---|
RequestedTerm.configuration.variablePaymentTermConfiguration.paymentRequestApprovalStrategy |
Buyer-supplied: AUTO_APPROVE_ON_EXPIRATION o WAIT_FOR_APPROVAL — obbligatorio |
RequestedTerm.configuration.variablePaymentTermConfiguration.expirationDuration |
Buyer-supplied durata (ad esempio,P10D); richiesto solo quando la strategia è AUTO_APPROVE_ON_EXPIRATION |
RequestedTermPayload di esempio perVariablePaymentTerm:
{ "id": "term-9ab34376c51cd5b4dc995aa0f410b657d58bd577b3f09b34d38afb6964aaaf12", "configuration": { "variablePaymentTermConfiguration": { "paymentRequestApprovalStrategy": "AUTO_APPROVE_ON_EXPIRATION", "expirationDuration": "P10D" } } }
Accetta un'offerta
Innanzitutto, genera un preventivo come descritto inGenera un preventivo. Quindi, utilizza AcceptAgreementRequest per accettare il preventivo e creare l'accordo. È necessario chiamare AcceptAgreementRequest prima della scadenza della richiesta di contratto. Facoltativamente, è possibile associare un numero d'ordine di acquisto durante l'accettazione.
# 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']}")
Sostituire un contratto esistente
Costruisci un accordo CreateAgreementRequest come descritto inGenera un preventivo, ma imposta intent REPLACE e fornisci l'sourceAgreementIdentifieraccordo da sostituire. Quindi chiama AcceptAgreementRequest per completare la sostituzione.
response = client.create_agreement_request( agreementProposalIdentifier='at-edhtjnbilupjv3xqbphtom77y', intent='REPLACE', sourceAgreementIdentifier='agmt-existing123' ) print(f"Agreement Request ID: {response['agreementRequestId']}")
Modificare un accordo esistente
Per modificare la configurazione dei termini su un accordo esistente, imposta intent AMEND e forniscisourceAgreementIdentifier. A differenza di un nuovo accordo, non agreementProposalIdentifier è necessario. Includi solo i termini di cui desideri modificare la configurazione. Quindi chiama AcceptAgreementRequest per applicare l'emendamento.
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']}")
Attivare o disattivare il rinnovo automatico
Utilizzare CreateAgreementRequest con l'AMENDintento di attivare il rinnovo automatico.
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']}")
Annullare un contratto
Utilizzare CancelAgreement per annullare un contratto di utilizzo. Per altri tipi di contratto, l'acquirente deve contattare il venditore per avviare l'annullamento.
client.cancel_agreement( agreementId='agmt-abc123' )
Cerca accordi
SearchAgreementsUtilizzalo per cercare tra tutti gli accordi a cui partecipi come accettatore. La ricerca restituisce un elenco di accordi con informazioni di base sugli accordi.
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']}")
Descrivi un accordo
DescribeAgreementDa utilizzare per visualizzare i dettagli di un accordo, ad esempio il proponente, l'accettante, la data di inizio e la data di fine.
response = client.describe_agreement( agreementId='agmt-abc123' ) print(f"Status: {response['status']}") print(f"Start: {response['startTime']}") print(f"End: {response['endTime']}")
Ottieni i termini del contratto
GetAgreementTermsUtilizzalo per ottenere dettagli sui termini di un accordo a cui partecipi in qualità di accettatore.
response = client.get_agreement_terms( agreementId='agmt-abc123' ) for term in response['acceptedTerms']: print(f" Term: {term}")
Ottieni i diritti contrattuali
GetAgreementEntitlementsUtilizzalo per ottenere una visione a livello di contratto dello stato e dei dettagli dei diritti legati al contratto.
response = client.get_agreement_entitlements( agreementId='agmt-abc123' ) for ent in response['agreementEntitlements']: print(f" {ent['resource']}: {ent['status']}")
Ottieni un token di registrazione
GetAgreementEntitlementsUtilizzalo per ottenere un token di registrazione. Questo token di breve durata (valido per 30 minuti) è necessario agli accettanti per creare un account con i proponenti. Attualmente applicabile solo per i contratti di acquisto 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
Elenca i costi del contratto
Utilizzalo ListAgreementCharges per visualizzare gli addebiti e i dettagli degli ordini di acquisto associati al contratto.
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')}")
Aggiornare gli ordini di acquisto
Utilizzato UpdatePurchaseOrders per aggiungere un numero d'ordine di acquisto dopo l'iscrizione a un prodotto. Usa l'chargeIde chargeRevision della Elenca i costi del contratto risposta. Una volta che un ordine di acquisto è associato a un addebito, la fattura generata per tale addebito include il numero dell'ordine di acquisto.
client.update_purchase_orders( agreementId='agmt-abc123', purchaseOrders=[ { 'chargeId': 'charge-xyz', 'chargeRevision': 1, 'purchaseOrderReference': 'PO-2024-001' } ] )
Elenca le richieste di cancellazione
Utilizza ListAgreementCancellationRequests per elencare tutte le richieste di cancellazione per gli accordi a cui partecipi. Puoi filtrare per contratto, stato e altri criteri.
response = client.list_agreement_cancellation_requests( partyType='Acceptor', agreementId='agmt-abc123' ) for req in response['agreementCancellationRequests']: print(f" {req['agreementCancellationRequestId']}: {req['status']}")
Ottieni i dettagli della richiesta di annullamento
GetAgreementCancellationRequestUtilizzalo per recuperare informazioni dettagliate su una specifica richiesta di cancellazione, inclusi lo stato, i timestamp e i codici motivo.
response = client.get_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' ) print(f"Status: {response['status']}") print(f"Reason: {response['reasonCode']}")
Accetta una richiesta di cancellazione
Utilizzato AcceptAgreementCancellationRequest per approvare una richiesta di annullamento avviata dal venditore. Dopo l'approvazione, il flusso di lavoro di annullamento del contratto viene eseguito in modo asincrono. È inoltre necessaria CancelAgreement l'autorizzazione perché l'approvazione della richiesta di annullamento comporta la cancellazione dell'accordo.
client.accept_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' )
Rifiuta una richiesta di cancellazione
Utilizzato RejectAgreementCancellationRequest per rifiutare una richiesta di annullamento avviata dal venditore. Dopo il rifiuto, l'accordo rimane attivo e il venditore può creare una nuova richiesta di annullamento, se necessario.
client.reject_agreement_cancellation_request( agreementId='agmt-abc123', agreementCancellationRequestId='acr-abc123' )
Elenca le richieste di pagamento
Utilizza ListAgreementPaymentRequests per elencare tutte le richieste di pagamento per gli accordi a cui partecipi. Puoi filtrare per contratto, stato e altri criteri.
response = client.list_agreement_payment_requests( partyType='Acceptor', agreementId='agmt-abc123' ) for req in response['agreementPaymentRequests']: print(f" {req['agreementPaymentRequestId']}: {req['status']}")
Ottieni i dettagli della richiesta di pagamento
Consente GetAgreementPaymentRequest di recuperare informazioni dettagliate su una specifica richiesta di pagamento, tra cui lo stato, la data e l'ora e gli addebiti associati.
response = client.get_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' ) print(f"Status: {response['status']}") print(f"Amount: ${response['amount']}")
Accetta una richiesta di pagamento
Utilizzato AcceptAgreementPaymentRequest per approvare una richiesta di pagamento avviata dal venditore per un contratto attivo.
client.accept_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' )
Rifiuta una richiesta di pagamento
Utilizzato RejectAgreementPaymentRequest per rifiutare una richiesta di pagamento avviata dal venditore. Dopo il rifiuto, il venditore può creare una nuova richiesta di pagamento, se necessario.
client.reject_agreement_payment_request( paymentRequestId='apr-abc123', agreementId='agmt-abc123' )