MIA, Bank Card & StarCard Payment Gateway for VictoriaBank (Community Edition) is a comprehensive WooCommerce plugin that enables Moldovan merchants to accept all VictoriaBank payment methods through a single plugin.
This is a community-developed plugin and is not officially affiliated with or endorsed by VictoriaBank.
Supported Payment Methods
- MIA Instant Payment – QR-code based instant payments via Moldova’s MIA system
- Visa / Mastercard – International card payments via VictoriaBank e-Gateway with RSA SHA-256 digital signatures
- StarCard Installments – Pay in installments (3, 6, 12, or 24 months) with VictoriaBank StarCard
- StarCard Loyalty Points – Pay with accumulated StarCard loyalty points
Key Features
- 4 payment methods in a single plugin – one installation, complete coverage
- RSA SHA-256 digital signatures (P_SIGN) for secure e-Gateway communication
- Two-phase transaction flow (TRTYPE=0 authorization + TRTYPE=21 completion) for card payments
- Dynamic QR codes with configurable TTL for MIA payments
- Mobile deeplink support (
mia://pay) for seamless mobile MIA payments
- Automatic status polling (TRTYPE=90) every 3 minutes as callback fallback
- Full and partial refunds – TRTYPE=24 for card payments; full or partial refund for MIA (MIA API 2.1)
- WooCommerce Cart & Checkout Blocks – all four methods work in both the block-based and the classic checkout
- JWT webhook verification (RS256) for MIA payment notifications
- Token caching for MIA API calls (reduces API calls by 98%)
- HPOS compatible – Full support for WooCommerce High-Performance Order Storage
- WooCommerce Action Scheduler support for reliable background polling
- WC_Logger integration – card payment logs at WooCommerce > Status > Logs
Payment Flows
Card Payments (Visa/MC, StarCard):
- Customer selects payment method at checkout
- Plugin generates TRTYPE=0 parameters with P_SIGN digital signature
- Customer is redirected to VictoriaBank secure payment page
- Bank sends callback with authorization result
- Plugin automatically executes TRTYPE=21 (Sales Completion)
- Order is marked as paid
MIA Instant Payment:
- Customer selects MIA at checkout
- Dynamic QR code is generated via VictoriaBank API
- Customer scans QR code or uses mobile deeplink
- Payment is confirmed via JWT webhook or AJAX polling
- Order status updates automatically
Requirements
- WordPress 6.0 or higher
- WooCommerce 7.0 or higher
- PHP 8.0 or higher (required for RSA cryptographic operations)
- PHP OpenSSL extension
- Active VictoriaBank merchant account with API credentials
- HTTPS enabled on your website
Configuration
After installation, configure each payment method at WooCommerce > Settings > Payments:
For MIA Instant Payment:
* API credentials (username, password)
* Merchant IBAN
* VictoriaBank public key (VBCA.crt) for JWT verification
* QR code expiry time
For Visa/Mastercard, StarCard methods:
* Terminal ID (8 digits) and Merchant ID (15 digits) from VictoriaBank
* RSA private key (.pem) for request signing
* VictoriaBank public key (.pem) for callback verification
* Register callback URL with VictoriaBank: https://yoursite.com/?wc-api=vb_callback
Technical Details
MIA API Endpoints
- Authentication:
POST /identity/token
- QR Creation:
POST /api/v1/qr
- Full refund:
DELETE /api/v1/transaction/{id}
- Partial refund:
DELETE /api/v1/transaction/{id}/partial-refund (body: {"amount": <number>})
Base URLs
- Test Environment:
https://test-ipspj.victoriabank.md
- Production:
https://ips-api-pj.vb.md
Security
- JWT token authentication
- Token caching with automatic expiry
- HTTPS required (enforced by API)
- Nonce verification for AJAX requests
- Input sanitization and validation
- No sensitive data logged (passwords masked)
Compatibility
- WordPress 6.0+
- WooCommerce 7.0 – 11.1
- PHP 8.0+
- Tested with latest WordPress and WooCommerce versions
Third-Party Services
This plugin connects to VictoriaBank’s payment APIs:
- e-Gateway (card payments): https://ecomt.victoriabank.md (test) / https://vb059.vb.md (production)
- MIA IPS API (instant payments): https://test-ipspj.victoriabank.md (test) / https://ips-api-pj.vb.md (production)
By using this plugin, you agree to VictoriaBank’s terms of service and privacy policy: https://victoriabank.md
Privacy Policy
This plugin does not collect, store, or transmit any personal data outside of what is necessary for payment processing through VictoriaBank’s APIs. All payment data is transmitted securely via HTTPS.
Credits
Developed and maintained by an independent developer for the WooCommerce and Moldovan e-commerce community.
Source code: https://github.com/inginerit/MIA-Payment-Gateway-for-VictoriaBank