binance-pay
SKILL.md
Binance Pay 🟡
Crypto payment solution powered by Binance, the world's largest cryptocurrency exchange.
Environment Variables
| Variable | Description | Required |
|---|---|---|
BINANCE_PAY_API_KEY |
Merchant API Key | Yes |
BINANCE_PAY_SECRET |
API Secret Key | Yes |
BINANCE_PAY_MERCHANT_ID |
Merchant ID | Yes |
Features
- 💸 C2C Transfers - Send crypto to Binance users (0 fee)
- 🛒 Merchant Payments - Accept crypto payments
- 🔄 Refunds - Process payment refunds
- 📊 Order Management - Track payment status
- 🌍 200M+ Users - Access to Binance ecosystem
API Base URL
https://bpay.binanceapi.com
Authentication
API_KEY="${BINANCE_PAY_API_KEY}"
SECRET="${BINANCE_PAY_SECRET}"
TIMESTAMP=$(date +%s%3N)
NONCE=$(openssl rand -hex 16)
# Generate signature
generate_signature() {
local payload="$1"
local sign_string="${TIMESTAMP}\n${NONCE}\n${payload}\n"
echo -n "$sign_string" | openssl dgst -sha512 -hmac "$SECRET" | cut -d' ' -f2 | tr '[:lower:]' '[:upper:]'
}
Create Payment Order
PAYLOAD='{
"env": {
"terminalType": "WEB"
},
"merchantTradeNo": "'"$(date +%s)"'",
"orderAmount": "10.00",
"currency": "USDT",
"goods": {
"goodsType": "01",
"goodsCategory": "D000",
"referenceGoodsId": "product-001",
"goodsName": "Product Name"
}
}'
SIGNATURE=$(generate_signature "$PAYLOAD")
curl -s -X POST "https://bpay.binanceapi.com/binancepay/openapi/v2/order" \
-H "Content-Type: application/json" \
-H "BinancePay-Timestamp: ${TIMESTAMP}" \
-H "BinancePay-Nonce: ${NONCE}" \
-H "BinancePay-Certificate-SN: ${API_KEY}" \
-H "BinancePay-Signature: ${SIGNATURE}" \
-d "$PAYLOAD" | jq '.'
Query Order Status
PAYLOAD='{
"merchantTradeNo": "<ORDER_ID>"
}'
SIGNATURE=$(generate_signature "$PAYLOAD")
curl -s -X POST "https://bpay.binanceapi.com/binancepay/openapi/v2/order/query" \
-H "Content-Type: application/json" \
-H "BinancePay-Timestamp: ${TIMESTAMP}" \
-H "BinancePay-Nonce: ${NONCE}" \
-H "BinancePay-Certificate-SN: ${API_KEY}" \
-H "BinancePay-Signature: ${SIGNATURE}" \
-d "$PAYLOAD" | jq '.'
Close Order
PAYLOAD='{
"merchantTradeNo": "<ORDER_ID>"
}'
SIGNATURE=$(generate_signature "$PAYLOAD")
curl -s -X POST "https://bpay.binanceapi.com/binancepay/openapi/v2/order/close" \
-H "Content-Type: application/json" \
-H "BinancePay-Timestamp: ${TIMESTAMP}" \
-H "BinancePay-Nonce: ${NONCE}" \
-H "BinancePay-Certificate-SN: ${API_KEY}" \
-H "BinancePay-Signature: ${SIGNATURE}" \
-d "$PAYLOAD" | jq '.'
Process Refund
PAYLOAD='{
"refundRequestId": "'"$(date +%s)"'",
"prepayId": "<PREPAY_ID>",
"refundAmount": "5.00"
}'
SIGNATURE=$(generate_signature "$PAYLOAD")
curl -s -X POST "https://bpay.binanceapi.com/binancepay/openapi/v2/order/refund" \
-H "Content-Type: application/json" \
-H "BinancePay-Timestamp: ${TIMESTAMP}" \
-H "BinancePay-Nonce: ${NONCE}" \
-H "BinancePay-Certificate-SN: ${API_KEY}" \
-H "BinancePay-Signature: ${SIGNATURE}" \
-d "$PAYLOAD" | jq '.'
Supported Currencies
| Currency | Type | Min Amount |
|---|---|---|
| USDT | Stablecoin | 0.01 |
| BUSD | Stablecoin | 0.01 |
| USDC | Stablecoin | 0.01 |
| BTC | Crypto | 0.00001 |
| ETH | Crypto | 0.0001 |
| BNB | Crypto | 0.001 |
Webhook Events
| Event | Description |
|---|---|
PAY |
Payment completed |
REFUND |
Refund processed |
CANCEL |
Order cancelled |
Webhook Verification
# Verify webhook signature
verify_webhook() {
local payload="$1"
local received_sig="$2"
local timestamp="$3"
local nonce="$4"
local sign_string="${timestamp}\n${nonce}\n${payload}\n"
local expected_sig=$(echo -n "$sign_string" | openssl dgst -sha512 -hmac "$SECRET" | cut -d' ' -f2 | tr '[:lower:]' '[:upper:]')
[[ "$received_sig" == "$expected_sig" ]]
}
Order Status Codes
| Status | Description |
|---|---|
INITIAL |
Order created |
PENDING |
Awaiting payment |
PAID |
Payment successful |
CANCELED |
Order cancelled |
REFUNDING |
Refund in progress |
REFUNDED |
Refund completed |
EXPIRED |
Order expired |
Safety Rules
- ALWAYS verify webhook signatures
- NEVER expose API secrets
- ALWAYS use idempotent merchantTradeNo
- CHECK order status before fulfilling
Links
Weekly Installs
7
Repository
openclaw/skillsGitHub Stars
3.8K
First Seen
Feb 1, 2026
Security Audits
Installed on
claude-code6
codex6
openclaw5
github-copilot5
opencode5
gemini-cli4