Supported processors
CyberSource
Primary payment processor with comprehensive feature support:- Transaction processing: Authorization, capture, refund, void
- Account updater: Automatic credit card update service
- Chargeback management: Download and process chargeback reports
- Reporting: Transaction reports, settlement reports
- Anti-fraud: Decision Manager integration
PayPal Payflow Pro
Alternative payment processor:- Transaction processing: Authorization, capture, refund, void
- Recurring billing: Billing agreement management
- Tokenization: Secure token storage
Integration architecture
CyberSource integration
SOAP API (Legacy transactions)- Uses
TransactionProcessorSOAP service - XML-based request/response
- Signature-based authentication
- Implemented in
Chargeworx.PaymentProcessor/CyberSourceTransactionWS.cs
- Account updater via Secure File Transfer
- Report downloads via REST endpoints
- HTTP signature authentication
- Implemented in
Chargeworx.PaymentProcessor/API/
PayPal Payflow integration
Payflow Pro API- Name-value pair (NVP) format
- HTTPS POST requests
- Partner/vendor authentication
- Implemented in
Chargeworx.Api.Domain/Services/Payflow/PayflowService.cs
Transaction flow
Authorization flow
- Request validation: Validate card details and merchant reference
- Processor selection: Choose processor based on project configuration
- Transaction creation: Create transaction record in database
- Processor call: Send authorization request to processor
- Response handling: Parse response and update transaction
- Event logging: Log transaction event (TransactionCreditCardEvent or TransactionPayflowEvent)
- Response return: Return result to caller
CyberSource authorization
Payflow authorization
Account updater
CyberSource account updater
Automatic credit card update service that keeps card information current:- Batch creation: Create batch of cards to update
- File upload: Upload CSV file to CyberSource Secure File Transfer
- Processing: CyberSource processes batch (typically 24-48 hours)
- File download: Download results file
- Update processing: Parse results and update payment info
- Status tracking: Track update status per card
- Service:
CyberSourceAccountUpdaterService - Batch creation:
CreditCardBatchCreateProcedure - Result processing:
CreditCardUpdateResponseProcedure
Chargeback processing
CyberSource chargeback reports
Automated chargeback download and processing:- Report subscription: Subscribe to chargeback reports
- Report download: Download daily chargeback reports
- Parsing: Parse CSV report data
- Transaction matching: Match chargebacks to transactions
- Transaction creation: Create reversal transactions
- Notification: Notify merchants of chargebacks
- Service:
CybersourceReportsService - Download:
DownloadChargebackRequestModel - Processing:
ChargebackDetailSyncReportGetEntriesProcedure
Processor configuration
Project-level configuration
Each company project can have multiple processor configurations:MerchantId: Processor merchant identifierApiKey: API authentication keyUseAntiFraud: Enable anti-fraud checksAccountUpdaterEnabled: Enable account updater
Processor selection
Processors are selected based on:- Project configuration
- Active status
- Transaction type support
- Fallback rules
Error handling
Processor errors
Common error scenarios:- Declined transactions: Card declined by issuer
- Invalid card: Card number or expiration invalid
- Insufficient funds: Card has insufficient balance
- Processor timeout: Processor did not respond in time
- Configuration error: Invalid merchant credentials
Retry logic
- Network errors: Retry up to 3 times with exponential backoff
- Timeout errors: Retry with increased timeout
- Declined transactions: Do not retry (final decision)
Error logging
All processor interactions are logged:- Request details (sanitized, no full card numbers)
- Response codes and messages
- Processing time
- Error stack traces
Testing
Test credentials
CyberSource and Payflow provide test environments: CyberSource Test:- URL:
https://ics2wstest.ic3.com - Test cards:
4111111111111111(Visa),5555555555554444(Mastercard)
- URL:
https://pilot-payflowpro.paypal.com - Test cards: Same as CyberSource
Mocked responses
For local development, use mocked processor responses:Approved, Declined, Error, Timeout