Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat instrumen pembayaran
Instrumen pembayaran mewakili dompet kripto tertanam yang digunakan agen untuk membayar pedagang atas nama pengguna. Setiap instrumen dikaitkan dengan jaringan blockchain tertentu. Nilai ETHEREUM jaringan mencakup mainnet Ethereum dan semua jaringan Layer 2 EVM-compatible yang didukung (Base, Arbitrum, dan lainnya). Untuk skema permintaan dan respons lengkap, lihat CreatePaymentInstrument di Referensi API.
Anda dapat mengotomatiskan langkah-langkah di halaman ini dengan keterampilan AgentCore Pembayaran di toolkit AWS agen. Keterampilan ini adalah bagian dari plugin aws-agents dan memungkinkan agen pengkodean AI membuat Manajer Pembayaran, konektor, penyedia kredensia, instrumen pembayaran, dan sesi menggunakan agentcore CLI, dan menambahkan alat pembayaran proses ke agen Anda. Untuk detailnya, lihat Quickstart dan toolkit AWS agen aktif. GitHub
contoh
- 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"
}
}]
}},
)
Untuk rantai yang kompatibel dengan Solana, gunakan enum SOLANA untuk input jaringan.
- 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-2
Untuk rantai yang kompatibel dengan Solana, gunakan"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()),
)
Untuk rantai yang kompatibel dengan Solana, gunakan enum SOLANA untuk input jaringan.
Setelah instrumen pembayaran dibuat, pengguna akhir harus mendanai instrumen dan memberikan izin penandatanganan sebelum agen dapat memproses pembayaran. Untuk petunjuk terperinci, lihat Mendanai dompet dan memberikan izin agen.
Dapatkan instrumen pembayaran
contoh
- 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']}")
Daftar instrumen pembayaran
contoh
- 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']}")
Periksa saldo instrumen
contoh
- 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']}")
Menghapus instrumen pembayaran
contoh
- 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"
)