Overview
PC Fix supports cryptocurrency payments using USDT (Tether) through Binance. The platform automatically syncs USDT/ARS exchange rates and provides customers with payment instructions for direct transfers.Crypto payments are manual transfers that require admin approval after receipt upload. This is different from automated payment gateways like MercadoPago.
Payment Methods
PC Fix supports two crypto payment methods:- BINANCE: Direct transfer via Binance Pay or P2P
- TRANSFERENCIA: Traditional bank transfer (included here for comparison)
Environment Configuration
The crypto payment system requires these configuration fields in the database:Configuration Storage
Store Binance payment details in your system configuration:USDT Price Synchronization
Automatic Sync
PC Fix automatically syncs USDT prices every 4 hours using a cron job:CryptoService Implementation
TheCryptoService fetches live rates from Binance API:
Manual Sync Endpoint
Admins can manually trigger a price update:Creating Sales with Crypto
When creating a sale, customers can selectBINANCE as the payment method:
1
Create Sale Request
2
Price Calculation
Crypto payments receive an 8% discount compared to MercadoPago:
3
Sale Creation
The sale is created with
PENDIENTE_PAGO status:Payment Workflow
1
Customer Selects Crypto Payment
Customer chooses BINANCE as payment method during checkout.
2
View Payment Instructions
Customer receives payment instructions showing:
- Total amount in ARS
- Equivalent amount in USDT (calculated using
cotizacionUsdt) - Binance Pay alias or CBU
- Sale ID for reference
3
Customer Makes Transfer
Customer transfers USDT through:
- Binance Pay (using alias)
- Binance P2P (using CBU)
- Direct wallet transfer
4
Upload Receipt
Customer uploads proof of payment:
5
Admin Approval
After receipt upload, sale status changes to
PENDIENTE_APROBACION. Admin reviews and approves:6
Status Update
Admin updates status to
APROBADO to confirm payment:API Endpoints
Updating Payment Method
Customers can switch between payment methods before completing payment:Price Recalculation
When switching payment methods, prices are recalculated:Sale Status Workflow
Crypto payments follow this status progression:Status Descriptions
- PENDIENTE_PAGO: Waiting for customer to make payment
- PENDIENTE_APROBACION: Receipt uploaded, awaiting admin verification
- APROBADO: Payment confirmed by admin
- RECHAZADO: Payment rejected (invalid receipt or amount mismatch)
- ENVIADO: Order shipped to customer
- ENTREGADO: Order delivered
- CANCELADO: Order cancelled by customer or admin
Calculating USDT Amount
To display the USDT equivalent to customers:Alternative: CriptoYa Integration
The platform also includes an alternative sync method using CriptoYa API:Frontend Integration Example
Best Practices
Price Sync Frequency: USDT prices are synced every 4 hours. For volatile markets, consider increasing frequency.
Security Considerations
- Store Binance credentials securely in database, never in code
- Validate receipt images before storing
- Implement rate limiting on sync endpoints
- Log all payment status changes for audit trail
- Verify USDT amounts manually before approval
User Experience
- Display real-time USDT rates during checkout
- Show clear payment instructions with copy buttons
- Provide receipt upload with image preview
- Send email notifications at each status change
- Include payment deadline (e.g., 24 hours)
Troubleshooting
USDT price not syncing:- Check Binance API availability
- Verify cron job is running
- Check server timezone settings
- Review error logs for API issues
- Check file upload middleware configuration
- Verify storage path exists and is writable
- Check file size limits
- Ensure correct file types are accepted
- Always use the USDT rate at sale creation time
- Store rate in sale record for reference
- Display rate used when showing payment instructions
- Account for Binance fees in calculations