Skip to main content

Create Your Account

1

Register as a Seller

Visit card2crypto.cc/register and create your account
Required Information:
- Email address
- Business name
- Shop/website URL
- Estimated monthly volume
2

Wait for Approval

Your application will be reviewed by our team within 24-48 hours. You’ll receive an email notification once approved.
3

Create Your Shop

Once approved, log in and create your shop to generate production API credentials.
You can only create ONE shop per account. Your API keys are production-ready immediately.
4

Configure Crypto Addresses

Set up your Bitcoin and/or Litecoin withdrawal addresses in Settings to receive payouts.

Get Your API Key

Navigate to your Dashboard and copy your production API key:
c2c_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6...
Never expose your API key in client-side code or public repositories. Always use it server-side only.

Make Your First Payment

1. Create a Payment

Make a POST request to create a payment:
const response = await fetch('https://card2crypto.cc/api/v1/payments', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer c2c_live_your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    amount: 5000, // $50.00 in cents
    currency: 'usd',
    customer_email: 'customer@example.com',
    description: 'Order #1234',
    success_url: 'https://yoursite.com/success',
    cancel_url: 'https://yoursite.com/cancel'
  })
});

const payment = await response.json();
console.log(payment.checkout_url);

2. Redirect to Checkout

The API returns a checkout_url. Redirect your customer to this URL:
window.location.href = payment.checkout_url;
The customer will see a checkout page where they can enter their card details.

3. Handle Webhooks

Set up a webhook endpoint to receive payment notifications:
const crypto = require('crypto');

app.post('/webhooks/card2crypto', (req, res) => {
  // Verify signature
  const signature = req.headers['x-card2crypto-signature'];
  const payload = JSON.stringify(req.body);

  const expectedSignature = crypto
    .createHmac('sha256', process.env.WEBHOOK_SECRET)
    .update(payload)
    .digest('hex');

  if (signature !== expectedSignature) {
    return res.status(401).send('Invalid signature');
  }

  // Process webhook
  const { event, payment } = req.body;

  if (event === 'payment.completed') {
    console.log(`Payment ${payment.id} completed!`);
    // Update your database, send confirmation email, etc.
  }

  res.status(200).send('OK');
});
Learn more about webhook security in the Webhook Security guide.

Test Your Integration

Use the Payment Testing Tool in your dashboard to quickly test payment creation without writing code.
All payments are live and real. Test with small amounts like $0.50 to verify your integration works correctly.

Next Steps

I