Connect non-custodial wallets & generate sk_test_ API keys
Register at /merchant/register, paste your destination EVM, Solana, TRON, or multisig wallet addresses, and generate a free API Testnet key.
Cut your payment fee by 50% (1.0% -> 0.5%) and immediately unlock TRON TRC-20 USDT, Solana SPL, BNB Chain, TON, Circle Arc, and QR direct d'exchanges withdrawals that modern Coinbase Commerce dropped.
Keep your existing database order schema intact — map these 6 fields to cut over cleanly.
| Integration Layer | Coinbase Commerce (Legacy) | XPayr Non-Custodial v1 |
|---|---|---|
| Create Charge / Session | POST https://api.commerce.coinbase.com/charges (X-CC-Api-Key) |
POST https://xpayr.com/api/v1/payments (Bearer sk_live_...) |
| Pricing Object | pricing_type: "fixed_price", local_price: { amount, currency } |
amount: "49.00", currency: "USD" |
| Custom Order Context | metadata: { customer_id, order_id } |
order_id + metadata: { customer_id, workspace_id } |
| Redirect Checkout URL | data.hosted_url |
data.checkout_url (Hosted or embedded Modal SDK) |
| Webhook Header | X-CC-Webhook-Signature |
X-XPayr-Signature (HMAC-SHA256) |
| Confirmed Event Type | event.type === "charge:confirmed" |
event === "payment.completed" / "payment.underpaid_accepted" |
sk_test_...) and Mainnet (sk_live_...).
import { XPayrClient } from '@xpayr/node-sdk';
const xpayr = new XPayrClient({ apiKey: process.env.XPAYR_SECRET_KEY });
/**
* Replaces Coinbase Commerce POST /charges while preserving metadata & redirect UX.
*/
export async function createReplacementCharge(order) {
const session = await xpayr.payments.create({
amount: String(order.totalUsd),
currency: 'USD',
order_id: order.id,
success_url: `https://store.example.com/orders/${order.id}/complete`,
cancel_url: `https://store.example.com/checkout`,
metadata: {
user_id: order.userId,
migrated_from: 'coinbase_commerce'
}
});
return { checkoutUrl: session.checkout_url, sessionId: session.session_id };
}
Register at /merchant/register, paste your destination EVM, Solana, TRON, or multisig wallet addresses, and generate a free API Testnet key.
Add the raw-body HMAC-SHA256 verification handler alongside your existing Coinbase Commerce callback endpoint and test events in /tools/webhook-tester.
Route a slice of live crypto orders to POST /api/v1/payments (or enable the XPayr storefront plugin) to verify instant règlement direct de 99.5% sur portefeuille.
Switch primary crypto checkout routing to XPayr, withdraw any remaining custodial float from Coinbase Commerce, and export QuickBooks/Xero CSVs via /accounting.
Yes! XPayr natively supports Coinbase Wallet & Passkey Smart Wallets on Base Mainnet (/wallets/coinbase-wallet) with sub-$0.01 gas and ERC-2612 Permit sans gazs — at 0.5% instead of 1.0%.
Immediately. Connect your TRON address in XPayr Dashboard and customers can pay via TronLink or direct Binance/Bybit/OKX TRC-20 withdrawals.
Both compute a standard hex HMAC-SHA256 digest over the raw HTTP request body, making webhook cutover a 3-line header and event-name update.