SendAgreementPaymentRequest
Allows sellers (proposers) to submit a payment request to buyers (acceptors) for a specific charge amount for an agreement that includes a VariablePaymentTerm. The payment request is created in PENDING_APPROVAL status, at which point the buyer can accept or reject it.
Note
The agreement must be active and have a VariablePaymentTerm to support payment requests. The chargeAmount must not exceed the remaining available balance under the VariablePaymentTerm
maxTotalChargeAmount.
Request Syntax
{
"agreementId": "string",
"chargeAmount": "string",
"clientToken": "string",
"description": "string",
"name": "string",
"termId": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
Note
In the following list, the required parameters are described first.
- agreementId
-
The unique identifier of the agreement for which the payment request is being submitted. Use
GetAgreementTermsto retrieve agreement term details.Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[A-Za-z0-9_/-]+Required: Yes
- chargeAmount
-
The amount requested to be charged to the buyer, positive decimal value in the currency of the accepted term.
Note
A
ValidationExceptionis returned if thechargeAmountexceeds the available balance, if the agreement doesn't have an activeVariablePaymentTerm, or if thetermIdis invalid.Type: String
Pattern:
[0-9]*(\.[0-9]{0,8})?Required: Yes
- name
-
A descriptive name for the payment request (5-64 characters).
Type: String
Length Constraints: Minimum length of 5. Maximum length of 64.
Pattern:
.+Required: Yes
- termId
-
The unique identifier of the
VariablePaymentTermfor the agreement that the payment request is being sent for.Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
Pattern:
[A-Za-z0-9+=;,.@\-_]+Required: Yes
- clientToken
-
A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9-]+Required: No
- description
-
An optional detailed description of the payment request (1-2000 characters).
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
Required: No
Response Syntax
{
"agreementId": "string",
"chargeAmount": "string",
"createdAt": number,
"currencyCode": "string",
"description": "string",
"name": "string",
"paymentRequestId": "string",
"status": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- agreementId
-
The agreement identifier for this payment request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[A-Za-z0-9_/-]+ - chargeAmount
-
The amount being charged to the buyer.
Type: String
Pattern:
[0-9]*(\.[0-9]{0,8})? - createdAt
-
The time when the payment request was created.
Type: Timestamp
- currencyCode
-
The currency code for the charge amount (e.g.,
USD).Type: String
Length Constraints: Fixed length of 3.
Pattern:
[A-Z]+ - description
-
The detailed description of the payment request, if provided.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2000.
- name
-
The descriptive name of the payment request.
Type: String
Length Constraints: Minimum length of 5. Maximum length of 64.
Pattern:
.+ - paymentRequestId
-
The unique identifier for the sent payment request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
pr-[a-zA-Z0-9]+ - status
-
The current status of the payment request. The initial status is
PENDING_APPROVAL.Type: String
Valid Values:
VALIDATING | VALIDATION_FAILED | PENDING_APPROVAL | APPROVED | REJECTED | CANCELLED
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
User does not have sufficient access to perform this action.
- message
-
Description of the error.
- reason
-
The reason for the access denied exception.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 400
- ConflictException
-
Request was denied due to a resource conflict.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
- resourceId
-
The unique identifier of the resource involved in the conflict.
- resourceType
-
The type of the resource involved in the conflict.
HTTP Status Code: 400
- InternalServerException
-
Unexpected error during processing of request.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 500
- ResourceNotFoundException
-
Request references a resource which does not exist.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
- resourceId
-
The unique identifier for the resource.
- resourceType
-
The type of resource.
HTTP Status Code: 400
- ThrottlingException
-
Request was denied due to request throttling.
- message
-
Description of the error.
- requestId
-
The unique identifier for the error.
HTTP Status Code: 400
- ValidationException
-
The input fails to satisfy the constraints specified by the service.
- fields
-
The fields associated with the error.
- message
-
Description of the error.
- reason
-
The reason associated with the error.
- requestId
-
The unique identifier associated with the error.
HTTP Status Code: 400
Examples
Sample request
This example illustrates one usage of SendAgreementPaymentRequest.
{ "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "agreementId": "fEXAMPLE-0aa6-4e42-8715-6a1EXAMPLE95", "termId": "termEXAMPLE-3cc8-6g64-0937-8c3EXAMPLE17", "name": "Q1 2024 Usage Charges", "chargeAmount": "1250.50", "description": "Payment request for Q1 2024 usage charges for premium support services" }
Sample response
This example illustrates one usage of SendAgreementPaymentRequest.
{ "paymentRequestId": "prEXAMPLE-1bb7-5f53-9826-7b2EXAMPLE06", "agreementId": "fEXAMPLE-0aa6-4e42-8715-6a1EXAMPLE95", "status": "PENDING_APPROVAL", "name": "Q1 2024 Usage Charges", "description": "Payment request for Q1 2024 usage charges for premium support services", "chargeAmount": "1250.50", "currencyCode": "USD", "createdAt": 1705314600 }
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: