Blockchain Integration API
Secure WooCommerce order recording on Polygon
Introduction
This API enables direct blockchain transaction recording for WooCommerce orders through MetaMask integration, eliminating the need for third-party RPC providers.
Base URL:
https://yourdomain.com/wp-json/wc-blockchain/v1/
Authentication
All API requests require:
X-WP-Nonceheader (WordPress REST API nonce)- User with
edit_shop_orderscapability
API Endpoints
/order/{order_id}
Retrieves order details for blockchain transaction processing.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
order_id |
integer | Yes | WooCommerce order ID |
Response
{
"success": true,
"data": {
"orderId": 123,
"customerWallet": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"productDetails": "Premium Widget (Qty: 2)",
"totalPrice": "54.53"
}
}
/save-tx
Records a completed blockchain transaction and triggers notifications.
Request
{
"order_id": 123,
"tx_hash": "0x5f3759df00f15d07217b65b5a3a4f0c1b8278d97a3c9e4e8b..."
}
Response
{
"success": true,
"message": "Transaction recorded",
"data": {
"order_id": 123,
"tx_hash": "0x5f3759df...",
"tx_link": "https://amoy.polygonscan.com/tx/0x5f3759df..."
}
}
Webhook
Optional event triggered on successful transaction recording:
// Example webhook payload
{
"event": "transaction_recorded",
"data": {
"order_id": 123,
"tx_hash": "0x5f3759df...",
"timestamp": "2024-03-30T12:00:00Z",
"amount": "54.53"
}
}
Example Implementation
// 1. Fetch order data
const response = await fetch('/wp-json/wc-blockchain/v1/order/123', {
headers: {
'X-WP-Nonce': ''
}
});
// 2. After MetaMask transaction
const saveResponse = await fetch('/wp-json/wc-blockchain/v1/save-tx', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-WP-Nonce': ''
},
body: JSON.stringify({
order_id: 123,
tx_hash: txHash
})
});
Error Reference
| Code | Type | Resolution |
|---|---|---|
| 403 | invalid_nonce |
Refresh nonce value |
| 404 | order_not_found |
Verify order ID |
| 409 | tx_exists |
Transaction already recorded |