@attesso/rails
v1.0.0
Published
Provider registry and processor interfaces for Attesso authorization layer.
Maintainers
Readme
@attesso/rails
Processor integration layer for Attesso. Defines provider interfaces that payment processors implement to integrate with the Attesso authorization layer.
npm install @attesso/railsProvider Interfaces
Attesso is processor-agnostic. Any card issuer or payment acquirer integrates through standardized interfaces.
CardIssuerProvider
Interface for card issuers (virtual card creation, lifecycle management).
import type { CardIssuerProvider } from '@attesso/rails';
class MyCardIssuer implements CardIssuerProvider {
async createVirtualCard(request) { /* ... */ }
async terminateCard(cardId) { /* ... */ }
async freezeCard(cardId) { /* ... */ }
async getCardSensitiveDetails(cardId) { /* ... */ }
async checkSufficientBalance(amount, currency) { /* ... */ }
async healthCheck() { /* ... */ }
}PaymentAcquirerProvider
Interface for payment acquirers (authorization, capture, refund).
import type { PaymentAcquirerProvider } from '@attesso/rails';
class MyAcquirer implements PaymentAcquirerProvider {
async authorizePayment(request) { /* ... */ }
async capturePayment(request) { /* ... */ }
async cancelAuthorization(request) { /* ... */ }
async refundPayment(request) { /* ... */ }
}Provider Registry
Processors are registered at boot and resolved by ID at runtime.
import { ProviderRegistry } from '@attesso/rails';
const registry = new ProviderRegistry();
registry.registerCardIssuer('adyen', new AdyenCardIssuer());
registry.registerCardIssuer('marqeta', new MarqetaCardIssuer());
registry.registerPaymentAcquirer('stripe', new StripeAcquirer());
// Resolve at runtime
const issuer = registry.getCardIssuer('adyen');
const issuers = registry.listCardIssuers(); // ['adyen', 'marqeta']Types
import type {
CardIssuerProvider,
PaymentAcquirerProvider,
CreateVirtualCardRequest,
VirtualCardResult,
CardSensitiveDetails,
AuthorizePaymentRequest,
AuthorizePaymentResult,
CapturePaymentRequest,
CapturePaymentResult,
CancelAuthorizationRequest,
CancelAuthorizationResult,
} from '@attesso/rails';Requirements
- Node.js 18+
Related Packages
@attesso/sdk-- API client with Vercel AI SDK integration@attesso/types-- TypeScript types@attesso/mcp-- MCP server for AI assistants
Links
- Website: https://www.attesso.com
- Support: [email protected]
License
MIT
