Provider and Adapter Model
Public overview of provider catalog, config, adapter execution, and the confirm orchestrator.
In HSRC Pay, provider integration is not a plugin model deployed to production with a single JSON file. Catalog, method support, account provider configs, and confirm routing work together.
This page does not expose internal registry or credential details; it clarifies which concepts connect when reading the integration.
What Is a Provider?
A record for a bank, PSP, wallet, sandbox, or simulated provider. A record alone does not charge a payment: confirm requires payment method, suitable config, routing plan, and execution step.
Method and Config
| Concept | Short meaning |
|---|---|
| Provider | System that can process payments (catalog record) |
| Provider method | Supported network, card type, country, etc. |
| Provider config | Credential and rule set tied to an account; source of routing candidates |
| Capabilities | Fit signals such as 3DS, installments, currency |
The merchant API has no adapter class names or internal registry lists. On confirm, optional routing_strategy narrows config or provider identifiers; read the result from payment.status, confirmResult, and charge records.
Execution Result (Adapter Level)
After confirm, the orchestrator summary roughly falls into one of these families:
| Result | Typical reflection on Payment |
|---|---|
| Success | SUCCEEDED or AUTHORIZED (if auto capture is off) |
| Additional step required | REQUIRES_ACTION + redirect URL |
| Decline / error | Charge DECLINED or FAILED; payment mostly REQUIRES_PAYMENT_METHOD |
Do not build UI or accounting from raw provider responses; rely on normalized status and webhooks.
Confirm Flow (High Level)
Sandbox Providers
The sandbox catalog is not a real bank or card network. The goal is to see lifecycle, 3DS, and decline behavior safely before production. Producing REQUIRES_ACTION when secure mode is enabled is a normal test outcome.
Public Documentation Boundary
- Credentials, endpoint URLs, and internal mapping lists are not in the docs.
- Full PAN/CVV or issuer datasets are not shared.
- Promises such as "add a provider with YAML" are not part of this product narrative.