Accept USDC on Algorand and aUSDC on VOI for eBay orders via AlgoVoi.
eBay processes the vast majority of payments through eBay Managed Payments, which handles card, PayPal, and bank transfers internally. AlgoVoi's eBay integration targets two specific use cases:
- External checkout — sellers using eBay's external checkout extension to offer additional payment methods
- Seller-initiated crypto invoicing — seller receives an order notification, AlgoVoi creates a payment link, seller shares it with the buyer out-of-band
This is not a replacement for eBay Managed Payments. It is a supplementary flow for sellers who want to offer on-chain stablecoin settlement.
eBay order placed (checkout.order.created event)
↓
AlgoVoi receives Platform Notification → verifies X-EBAY-SIGNATURE
↓
AlgoVoi creates a hosted checkout link (USDC or aUSDC)
↓
Seller shares checkout link with buyer (email / eBay message)
↓
Buyer pays on-chain
↓
AlgoVoi verifies transaction on-chain
↓
eBay order marked as shipped with AlgoVoi TX reference
- An active AlgoVoi tenant account
- An eBay Developer account with a production application
- OAuth user token with
sell.fulfillmentscope - eBay Platform Notifications subscription
POST /internal/tenants/{tenant_id}/network-configs
Authorization: Bearer <admin-key>
Content-Type: application/json
{
"network": "algorand_mainnet",
"payout_address": "<your-algorand-address>",
"preferred_asset_id": "31566704",
"preferred_asset_decimals": 6
}POST /internal/tenants/{tenant_id}/network-configs
Authorization: Bearer <admin-key>
Content-Type: application/json
{
"network": "voi_mainnet",
"payout_address": "<your-voi-address>",
"preferred_asset_id": "302190",
"preferred_asset_decimals": 6
}- Register an application at the eBay Developer Portal
- Complete the OAuth flow to obtain a User Access Token
- Ensure the token includes the
sell.fulfillmentscope - Copy the access token
POST /internal/integrations/{tenant_id}/ebay
Authorization: Bearer <admin-key>
Content-Type: application/json
{
"credentials": {
"access_token": "<ebay-oauth-user-token>"
},
"shop_identifier": "<your-ebay-seller-id>",
"base_currency": "GBP",
"preferred_network": "algorand_mainnet"
}The response includes a webhook_secret and a webhook_url.
Register a notification subscription via the eBay Commerce Notification API:
POST https://api.ebay.com/commerce/notification/v1/subscription
Authorization: Bearer <access_token>
Content-Type: application/json
{
"topicId": "checkout.order.created",
"deliveryConfig": {
"endpoint": "<webhook_url from Step 3>",
"verificationToken": "<webhook_secret from Step 3>"
}
}eBay will first send a challenge-response GET request to verify your endpoint before activating the subscription. AlgoVoi handles this automatically.
Once connected:
- AlgoVoi receives the
checkout.order.creatednotification - A hosted checkout link is created (valid 30 minutes)
- The checkout URL is returned in the webhook response — share this with your buyer via eBay messages or email
- Buyer pays in USDC or aUSDC on-chain
- AlgoVoi verifies the transaction and marks the eBay order as shipped with the TX ID as tracking reference
eBay does not expose buyer email addresses in webhook payloads. The buyer's eBay username is recorded instead.
| Symptom | Likely cause |
|---|---|
| HTTP 401 on webhook | X-EBAY-SIGNATURE mismatch — reconnect to rotate secret |
| HTTP 422 "No network config" | Network config missing for preferred_network |
| Challenge-response failing | AlgoVoi endpoint must respond to eBay's GET verification request |
| Order not updating | OAuth token expired or missing sell.fulfillment scope |
| Network | Asset | Notes |
|---|---|---|
algorand_mainnet |
USDC (ASA 31566704) | Requires ASA opt-in on payout wallet |
voi_mainnet |
WAD (ARC200 app ID 47138068) | |
algorand_testnet |
Test USDC | For integration testing only |
voi_testnet |
Test aUSDC | For integration testing only |
Confirmed end-to-end on 2026-04-14 against api.algovoi.co.uk:
| Test | Network | Result |
|---|---|---|
| Webhook → checkout link | algorand_mainnet (USDC (ASA 31566704)) |
Pass |
| Webhook → checkout link | voi_mainnet (WAD (ARC200 app ID 47138068)) |
Pass |
| Webhook → checkout link | hedera_mainnet (USDC (token 0.0.456858)) |
Pass |
| Webhook → checkout link | stellar_mainnet (USDC (Circle)) |
Pass |
Signature: HMAC-SHA256 hex digest in X-Ebay-Signature. Amount from notification.data.pricingSummary.total.value.