Crie uma sessão de pagamento
Uma sessão de pagamento é um contexto de pagamento com limite de tempo que, opcionalmente, impõe um orçamento de gastos. Quando a sessão expira ou o orçamento é atingido, outras solicitações de pagamento dentro dessa sessão são negadas. Para ver o esquema completo de solicitações e respostas, consulte CreatePaymentSessiona Referência da API.
Você pode automatizar as etapas nesta página com a habilidade AgentCore Pagamentos no kit de ferramentas do AWS agente. A habilidade faz parte do plug-in aws-agents e permite que um agente de codificação de IA crie seu gerenciador de pagamentos, conector, provedor de credenciais, instrumento de pagamento e sessão usando a agentcore CLI e adicione uma ferramenta de pagamento x402 ao seu agente. Para obter detalhes, consulte o guia de início rápido e o kit de ferramentas do AWS agente em. GitHub
exemplo
- AgentCore SDK
-
from bedrock_agentcore.payments import PaymentManager
manager = PaymentManager(
payment_manager_arn=mgr["paymentManagerArn"],
region_name="us-west-2"
)
# Create payment session with payment limits
session = manager.create_payment_session(
user_id="test-user-123",
limits={"maxSpendAmount": {"value": "100.00", "currency": "USD"}},
expiry_time_in_minutes=60
)
- AWS CLI
-
aws bedrock-agentcore create-payment-session \
--payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \
--user-id "test-user-123" \
--expiry-time-in-minutes 60 \
--limits '{"maxSpendAmount": {"value": "100.00", "currency": "USD"}}' \
--client-token "$(uuidgen)" \
--region us-west-2
- AWS SDK
-
import boto3
import uuid
dp_client = boto3.client("bedrock-agentcore", region_name="us-west-2",
endpoint_url="https://bedrock-agentcore.us-west-2.amazonaws.com")
# Create payment session with payment limits
session = dp_client.create_payment_session(
userId="test-user-123",
paymentManagerArn=PAYMENT_MANAGER_ARN,
expiryTimeInMinutes=120,
limits={"maxSpendAmount": {"value": "100.00", "currency": "USD"}},
clientToken=str(uuid.uuid4()),
)
Se você usa a AgentCore CLI (v0.19.0+), passe --auto-session agentcore invoke para criar ou reutilizar uma sessão com o limite de gastos padrão configurado em seu gerenciador de pagamentos. Isso elimina a necessidade de criar sessões manualmente para a maioria dos fluxos de trabalho.
Obtenha uma sessão de pagamento
exemplo
- AgentCore SDK
-
session = manager.get_payment_session(
user_id="test-user-123",
payment_session_id="payment-session-abc123"
)
print(f"Status: {session['status']}, Remaining: {session['remainingAmount']}")
- AWS CLI
-
aws bedrock-agentcore get-payment-session \
--payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \
--payment-session-id "payment-session-abc123" \
--region us-west-2
- AWS SDK
-
response = dp_client.get_payment_session(
paymentManagerArn=PAYMENT_MANAGER_ARN,
paymentSessionId="payment-session-abc123"
)
print(f"Status: {response['status']}")
print(f"Spent: {response['spentAmount']} / {response['limits']['maxSpendAmount']['value']}")