Processor models
Processor models manage payment gateway configurations, settings, and response codes for transaction processing.ProjectPaymentProcessor
Links payment processors to projects and defines which processor handles transactions.Key properties
| Property | Type | Description |
|---|---|---|
| Id | Guid | Unique identifier |
| ProjectId | Guid | Associated project reference |
| ProcessorType | String | Processor type (Authorize.Net, Stripe, etc.) |
| IsActive | Boolean | Processor active status |
| Priority | Int | Processor priority order |
| CreatedAt | DateTime | Configuration creation date |
Relationships
- Belongs to a Project
- Has many ProjectPaymentProcessorSettings
Supported processors
Chargeworx supports multiple payment processors including:- Authorize.Net
- Stripe
- PayPal
- Braintree
- Custom processors
ProjectPaymentProcessorSetting
Stores configuration settings for payment processors on a per-project basis.Key properties
| Property | Type | Description |
|---|---|---|
| Id | Guid | Unique identifier |
| ProjectPaymentProcessorId | Guid | Associated processor reference |
| SettingKey | String | Configuration key name |
| SettingValue | String | Configuration value (encrypted if sensitive) |
| IsEncrypted | Boolean | Indicates if value is encrypted |
Relationships
- Belongs to a ProjectPaymentProcessor
Common settings
- API credentials (keys, secrets)
- Gateway URLs
- Merchant account identifiers
- Processing options (AVS, CVV checks)
- Timeout configurations
PaymentProcessorResultCode
Maps processor-specific response codes to standardized result codes.Key properties
| Property | Type | Description |
|---|---|---|
| Id | Guid | Unique identifier |
| ProcessorType | String | Processor type |
| ProcessorCode | String | Processor-specific code |
| StandardCode | String | Standardized result code |
| Description | String | Human-readable description |
| IsSuccess | Boolean | Indicates successful transaction |
Standard result codes
| Code | Description | Category |
|---|---|---|
| APPROVED | Transaction approved | Success |
| DECLINED | Transaction declined | Decline |
| INSUFFICIENT_FUNDS | Insufficient funds | Decline |
| INVALID_CARD | Invalid card number | Error |
| EXPIRED_CARD | Card expired | Decline |
| AVS_FAILURE | AVS check failed | Decline |
| CVV_FAILURE | CVV check failed | Decline |
| PROCESSOR_ERROR | Processor error | Error |
Usage patterns
Configuring processors
Payment processors are configured at the project level. Multiple processors can be configured with priority ordering for failover scenarios.Processor failover
If the primary processor fails or is unavailable, transactions can automatically route to backup processors based on priority.Result code mapping
Processor-specific response codes are mapped to standardized codes for consistent handling across different payment gateways.Security considerations
- Processor credentials are encrypted at rest
- API keys are never logged or exposed in responses
- Settings are scoped to project level for isolation
