Skip to content

/AWS1/CL_WA2SETTLEMENTRECORD

A single settlement transaction record for AI bot monetization. Contains details about the payment including timestamp, amount, status, and the parties involved.

CONSTRUCTOR

IMPORTING

Required arguments:

iv_timestamp TYPE /AWS1/WA2TIMESTAMP /AWS1/WA2TIMESTAMP

The timestamp when the settlement was recorded.

iv_status TYPE /AWS1/WA2SETTLEMENTSTATUS /AWS1/WA2SETTLEMENTSTATUS

The status of the settlement. Possible values:

  • SETTLED - The payment was successfully settled on the blockchain and the transfer from the payer's wallet to the publisher's wallet is confirmed. The TransactionId field contains the on-chain transaction hash. Content is served to the client.

  • PENDING - The blockchain transaction has been submitted but not yet confirmed on-chain. This is a transient state that automatically resolves to either SETTLED or FAILED. No action is required. While pending, content is not served and the API returns a 402 response. Clients can retry the request.

  • FAILED - The payment settlement was attempted but failed. Possible causes include insufficient funds, an expired payment authorization, or a reverted blockchain transaction. The failureReason field contains a machine-readable error code. Content is not served.

  • SERVICE_ERROR - Settlement could not be completed due to an internal service issue or an issue with the payment network. Content is not served. The client's payment authorization remains valid and the request can be retried.

  • SKIPPED_ORIGIN_ERROR - The origin returned a non-2xx response, so settlement was intentionally skipped. The client is not charged.

  • DUPLICATE - A prior request with the same payment payload has already been settled. This status typically appears when a previous attempt timed out but the payment was ultimately processed. The client is not charged again.

iv_amount TYPE /AWS1/WA2MONETIZATIONAMTVALUE /AWS1/WA2MONETIZATIONAMTVALUE

The payment amount in the specified currency.

Optional arguments:

iv_payeraddress TYPE /AWS1/WA2SETTLEMENTFILTSTRING /AWS1/WA2SETTLEMENTFILTSTRING

The blockchain wallet address of the paying AI agent.

iv_walletaddress TYPE /AWS1/WA2SETTLEMENTFILTSTRING /AWS1/WA2SETTLEMENTFILTSTRING

Your receiving wallet address.

iv_currency TYPE /AWS1/WA2CURRENCY /AWS1/WA2CURRENCY

The currency of the payment amount.

iv_network TYPE /AWS1/WA2SETTLEMENTFILTSTRING /AWS1/WA2SETTLEMENTFILTSTRING

The blockchain network on which the settlement occurred.

iv_transactionid TYPE /AWS1/WA2SETTLEMENTIDSTRING /AWS1/WA2SETTLEMENTIDSTRING

The blockchain transaction identifier. You can use this to verify the transaction on a blockchain explorer.

iv_requestid TYPE /AWS1/WA2SETTLEMENTFILTSTRING /AWS1/WA2SETTLEMENTFILTSTRING

The WAF request ID associated with this settlement.

iv_sourcename TYPE /AWS1/WA2FILTERSTRING /AWS1/WA2FILTERSTRING

The name of the AI bot that made the payment.

iv_organization TYPE /AWS1/WA2FILTERSTRING /AWS1/WA2FILTERSTRING

The organization associated with the AI bot.

iv_sourcecategory TYPE /AWS1/WA2FILTERSTRING /AWS1/WA2FILTERSTRING

The category of the AI bot source.

iv_intent TYPE /AWS1/WA2FILTERSTRING /AWS1/WA2FILTERSTRING

The declared intent of the AI bot request.

iv_verified TYPE /AWS1/WA2VERIFIEDSTATUS /AWS1/WA2VERIFIEDSTATUS

Whether the AI bot's identity was verified.

iv_contentpath TYPE /AWS1/WA2FILTERSTRING /AWS1/WA2FILTERSTRING

The content path that was accessed.

iv_webaclarn TYPE /AWS1/WA2RESOURCEARN /AWS1/WA2RESOURCEARN

The ARN of the web ACL that processed the request.

iv_requesttimestamp TYPE /AWS1/WA2TIMESTAMP /AWS1/WA2TIMESTAMP

The timestamp of the original web request.


Queryable Attributes

Timestamp

The timestamp when the settlement was recorded.

Accessible with the following methods

Method Description
GET_TIMESTAMP() Getter for TIMESTAMP, with configurable default
ASK_TIMESTAMP() Getter for TIMESTAMP w/ exceptions if field has no value
HAS_TIMESTAMP() Determine if TIMESTAMP has a value

PayerAddress

The blockchain wallet address of the paying AI agent.

Accessible with the following methods

Method Description
GET_PAYERADDRESS() Getter for PAYERADDRESS, with configurable default
ASK_PAYERADDRESS() Getter for PAYERADDRESS w/ exceptions if field has no value
HAS_PAYERADDRESS() Determine if PAYERADDRESS has a value

WalletAddress

Your receiving wallet address.

Accessible with the following methods

Method Description
GET_WALLETADDRESS() Getter for WALLETADDRESS, with configurable default
ASK_WALLETADDRESS() Getter for WALLETADDRESS w/ exceptions if field has no value
HAS_WALLETADDRESS() Determine if WALLETADDRESS has a value

Status

The status of the settlement. Possible values:

  • SETTLED - The payment was successfully settled on the blockchain and the transfer from the payer's wallet to the publisher's wallet is confirmed. The TransactionId field contains the on-chain transaction hash. Content is served to the client.

  • PENDING - The blockchain transaction has been submitted but not yet confirmed on-chain. This is a transient state that automatically resolves to either SETTLED or FAILED. No action is required. While pending, content is not served and the API returns a 402 response. Clients can retry the request.

  • FAILED - The payment settlement was attempted but failed. Possible causes include insufficient funds, an expired payment authorization, or a reverted blockchain transaction. The failureReason field contains a machine-readable error code. Content is not served.

  • SERVICE_ERROR - Settlement could not be completed due to an internal service issue or an issue with the payment network. Content is not served. The client's payment authorization remains valid and the request can be retried.

  • SKIPPED_ORIGIN_ERROR - The origin returned a non-2xx response, so settlement was intentionally skipped. The client is not charged.

  • DUPLICATE - A prior request with the same payment payload has already been settled. This status typically appears when a previous attempt timed out but the payment was ultimately processed. The client is not charged again.

Accessible with the following methods

Method Description
GET_STATUS() Getter for STATUS, with configurable default
ASK_STATUS() Getter for STATUS w/ exceptions if field has no value
HAS_STATUS() Determine if STATUS has a value

Amount

The payment amount in the specified currency.

Accessible with the following methods

Method Description
GET_AMOUNT() Getter for AMOUNT, with configurable default
ASK_AMOUNT() Getter for AMOUNT w/ exceptions if field has no value
HAS_AMOUNT() Determine if AMOUNT has a value

Currency

The currency of the payment amount.

Accessible with the following methods

Method Description
GET_CURRENCY() Getter for CURRENCY, with configurable default
ASK_CURRENCY() Getter for CURRENCY w/ exceptions if field has no value
HAS_CURRENCY() Determine if CURRENCY has a value

Network

The blockchain network on which the settlement occurred.

Accessible with the following methods

Method Description
GET_NETWORK() Getter for NETWORK, with configurable default
ASK_NETWORK() Getter for NETWORK w/ exceptions if field has no value
HAS_NETWORK() Determine if NETWORK has a value

TransactionId

The blockchain transaction identifier. You can use this to verify the transaction on a blockchain explorer.

Accessible with the following methods

Method Description
GET_TRANSACTIONID() Getter for TRANSACTIONID, with configurable default
ASK_TRANSACTIONID() Getter for TRANSACTIONID w/ exceptions if field has no value
HAS_TRANSACTIONID() Determine if TRANSACTIONID has a value

RequestId

The WAF request ID associated with this settlement.

Accessible with the following methods

Method Description
GET_REQUESTID() Getter for REQUESTID, with configurable default
ASK_REQUESTID() Getter for REQUESTID w/ exceptions if field has no value
HAS_REQUESTID() Determine if REQUESTID has a value

SourceName

The name of the AI bot that made the payment.

Accessible with the following methods

Method Description
GET_SOURCENAME() Getter for SOURCENAME, with configurable default
ASK_SOURCENAME() Getter for SOURCENAME w/ exceptions if field has no value
HAS_SOURCENAME() Determine if SOURCENAME has a value

Organization

The organization associated with the AI bot.

Accessible with the following methods

Method Description
GET_ORGANIZATION() Getter for ORGANIZATION, with configurable default
ASK_ORGANIZATION() Getter for ORGANIZATION w/ exceptions if field has no value
HAS_ORGANIZATION() Determine if ORGANIZATION has a value

SourceCategory

The category of the AI bot source.

Accessible with the following methods

Method Description
GET_SOURCECATEGORY() Getter for SOURCECATEGORY, with configurable default
ASK_SOURCECATEGORY() Getter for SOURCECATEGORY w/ exceptions if field has no valu
HAS_SOURCECATEGORY() Determine if SOURCECATEGORY has a value

Intent

The declared intent of the AI bot request.

Accessible with the following methods

Method Description
GET_INTENT() Getter for INTENT, with configurable default
ASK_INTENT() Getter for INTENT w/ exceptions if field has no value
HAS_INTENT() Determine if INTENT has a value

Verified

Whether the AI bot's identity was verified.

Accessible with the following methods

Method Description
GET_VERIFIED() Getter for VERIFIED

ContentPath

The content path that was accessed.

Accessible with the following methods

Method Description
GET_CONTENTPATH() Getter for CONTENTPATH, with configurable default
ASK_CONTENTPATH() Getter for CONTENTPATH w/ exceptions if field has no value
HAS_CONTENTPATH() Determine if CONTENTPATH has a value

WebAclArn

The ARN of the web ACL that processed the request.

Accessible with the following methods

Method Description
GET_WEBACLARN() Getter for WEBACLARN, with configurable default
ASK_WEBACLARN() Getter for WEBACLARN w/ exceptions if field has no value
HAS_WEBACLARN() Determine if WEBACLARN has a value

RequestTimestamp

The timestamp of the original web request.

Accessible with the following methods

Method Description
GET_REQUESTTIMESTAMP() Getter for REQUESTTIMESTAMP, with configurable default
ASK_REQUESTTIMESTAMP() Getter for REQUESTTIMESTAMP w/ exceptions if field has no va
HAS_REQUESTTIMESTAMP() Determine if REQUESTTIMESTAMP has a value

Public Local Types In This Class

Internal table types, representing arrays and maps of this class, are defined as local types:

TT_SETTLEMENTRECORDLIST

TYPES TT_SETTLEMENTRECORDLIST TYPE STANDARD TABLE OF REF TO /AWS1/CL_WA2SETTLEMENTRECORD WITH DEFAULT KEY
.