# Migration Guide

Migrate from another payment processor to AuxCORE.

---

## 📋 Migration Steps

### 1. Assess Current System
- List all payment features used
- Document custom integrations
- Identify dependencies

### 2. Plan Migration
- Map features to AuxCORE
- Set timeline
- Plan testing phase

### 3. Set Up AuxCORE
- Get sandbox credentials and create keys at `/settings/developer/api-keys`
- Add the PCI SDK (`https://vault.auxcore.net/sdk/auxVault.js`) to your checkout — there is no server SDK package; call the REST API directly
- Configure environment

### 4. Parallel Testing
- Run both systems in parallel
- Compare results
- Fix discrepancies

### 5. Cutover
- Switch to AuxCORE
- Monitor closely
- Keep rollback ready

---

## 🔄 Common Migrations

### From Stripe
```javascript
// Stripe
const charge = await stripe.charges.create({...});

// AuxCORE — card tokenized by the PCI SDK, charged server-side
const res = await fetch('https://uat.auxcore.net/api/v1/public/transaction', {
  method: 'POST',
  headers: { 'x-api-key': process.env.AUXCORE_API_KEY, 'Content-Type': 'application/json' },
  body: JSON.stringify({ Amount: 25.00, pciToken, OrderId: 'ORD-1001' }),
});
```

### From Square
```javascript
// Square
const payment = await square.payments.create({...});

// AuxCORE — same call as above; amounts are decimal major units (25.00), not cents
```

> **Note:** Card tokens from another processor cannot be charged through AuxCORE. Existing cards must be re-collected through the PCI SDK (or moved by a processor-to-processor vault migration arranged with your account manager).

---

## 📊 Data Migration

### Customer Data
- Export from old system
- Import to AuxCORE (`POST /api/v1/public/customer`, or bulk via your account manager)
- Verify accuracy

### Transaction History
- Keep for reconciliation
- Export reports
- Archive securely

---

**Need help?** Contact support@auxcore.net
