결제 수단 생성
결제 수단은 에이전트가 사용자를 대신하여 가맹점에 결제하는 데 사용하는 임베디드 암호화 지갑을 나타냅니다. 각 계측은 특정 블록체인 네트워크와 연결됩니다. ETHEREUM 네트워크 값은 Ethereum 메인넷과 지원되는 모든 EVM 호환 계층 2 네트워크(기본, Arbitrum 등)를 포함합니다. 전체 요청 및 응답 스키마는 API 참조의 CreatePaymentInstrument를 참조하세요.
작은 정보
AWS 에이전트 도구 키트의 AgentCore Payments 스킬을 사용하여이 페이지의 단계를 자동화할 수 있습니다. 스킬은 aws-agents 플러그인의 일부이며 AI 코딩 에이전트가 agentcore CLI를 사용하여 Payment Manager, 커넥터, 자격 증명 공급자, 결제 수단 및 세션을 생성하고 에이전트에 x402 결제 도구를 추가할 수 있도록 합니다. 자세한 내용은 GitHub의 빠른 시작 및 에이전트 툴킷을 참조하세요. AWS GitHub
예
- AgentCore SDK
-
from bedrock_agentcore.payments import PaymentManager manager = PaymentManager( payment_manager_arn=mgr["paymentManagerArn"], region_name="us-west-2" ) # Create payment instrument (Ethereum) instrument = manager.create_payment_instrument( user_id="test-user-123", payment_connector_id=PAYMENT_CONNECTOR_ID, payment_instrument_type="EMBEDDED_CRYPTO_WALLET", payment_instrument_details={"embeddedCryptoWallet": {"network": "ETHEREUM", "linkedAccounts": [{ "email": { "emailAddress": "myemail@example.com" } }] }}, )Solana 호환 체인의 경우 네트워크 입력
SOLANA에 열거형을 사용합니다. - AWS CLI
-
aws bedrock-agentcore create-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-connector-id "my-connector-id" \ --user-id "test-user-123" \ --payment-instrument-type "EMBEDDED_CRYPTO_WALLET" \ --payment-instrument-details '{ "embeddedCryptoWallet": { "network": "ETHEREUM", "linkedAccounts": [{"email": {"emailAddress": "myemail@example.com"}}] } }' \ --client-token "$(uuidgen)" \ --region us-west-2Solana 호환 체인의 경우를 사용합니다
"network": "SOLANA". - 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 instrument (Ethereum) instrument = dp_client.create_payment_instrument( userId="test-user-123", paymentManagerArn=PAYMENT_MANAGER_ARN, paymentConnectorId=PAYMENT_CONNECTOR_ID, paymentInstrumentType="EMBEDDED_CRYPTO_WALLET", paymentInstrumentDetails={ "embeddedCryptoWallet": { "network": "ETHEREUM", "linkedAccounts": [{ "email": { "emailAddress": "myemail@example.com" } }] }, }, clientToken=str(uuid.uuid4()), )Solana 호환 체인의 경우 네트워크 입력
SOLANA에 열거형을 사용합니다.
참고
결제 수단이 생성되면 에이전트가 결제를 처리하기 전에 최종 사용자는 수단에 자금을 지원하고 서명 권한을 부여해야 합니다. 자세한 지침은 Wallet에 자금 지원 및 에이전트 권한 부여를 참조하세요.
결제 수단 가져오기
예
- AgentCore SDK
-
instrument = manager.get_payment_instrument( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) print(f"Status: {instrument['status']}") - AWS CLI
-
aws bedrock-agentcore get-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --user-id "test-user-123" \ --region us-west-2 - AWS SDK
-
response = dp_client.get_payment_instrument( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" ) print(f"Status: {response['status']}, Network: {response['paymentInstrumentDetails']['embeddedCryptoWallet']['network']}")
결제 수단 나열
예
- AgentCore SDK
-
instruments = manager.list_payment_instruments( user_id="test-user-123" ) for inst in instruments['paymentInstruments']: print(f"{inst['paymentInstrumentId']} - {inst['status']}") - AWS CLI
-
aws bedrock-agentcore list-payment-instruments \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --user-id "test-user-123" \ --region us-west-2 - AWS SDK
-
response = dp_client.list_payment_instruments( paymentManagerArn=PAYMENT_MANAGER_ARN, userId="test-user-123" ) for inst in response['paymentInstruments']: print(f"{inst['paymentInstrumentId']} - {inst['status']}")
계측 밸런스 확인
예
- AgentCore SDK
-
balance = manager.get_payment_instrument_balance( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) print(f"Balance: {balance['amount']} {balance['currency']}") - AWS CLI
-
aws bedrock-agentcore get-payment-instrument-balance \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --region us-west-2 - AWS SDK
-
response = dp_client.get_payment_instrument_balance( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" ) print(f"Balance: {response['amount']} {response['currency']}")
결제 수단 삭제
예
- AgentCore SDK
-
manager.delete_payment_instrument( user_id="test-user-123", payment_instrument_id="payment-instrument-abc123" ) - AWS CLI
-
aws bedrock-agentcore delete-payment-instrument \ --payment-manager-arn "arn:aws:bedrock-agentcore:us-west-2:123456789012:payment-manager/my-manager" \ --payment-instrument-id "payment-instrument-abc123" \ --region us-west-2 - AWS SDK
-
dp_client.delete_payment_instrument( paymentManagerArn=PAYMENT_MANAGER_ARN, paymentInstrumentId="payment-instrument-abc123" )
결제 처리
Wallet에 자금 조달 및 권한 부여