Non-PSP Adapter
Overview Document: Payment Adapters Overview
Overview and Unique Capabilities
The Non-PSP Adapter enables immediate order completion for payment methods managed internally by the merchant, bypassing external payment service providers. This page focuses on the unique technical details and configuration for the Non-PSP Adapter.
Use Cases
- Contract Customers / B2B Commerce with established credit terms
- Aggregate Invoice (consolidated billing)
- Account Credit (pre-loaded balances)
- In-Store Payment (pay at pickup)
- Internal Testing
Limitations
- Payment capture, refund, and cancel operations are not applicable - merchant manages payment externally.
- Recurring payments are not supported.
Configuration in Norce Admin
The adapter is configured with merchant-defined payment methods:
| Field | Description | Example Value |
|---|---|---|
active | Whether the adapter is enabled. | true |
id | Unique identifier for this configuration. | nonpsp-config |
methods | Array of available payment methods. | See below |
Payment Methods Configuration
| Field | Description |
|---|---|
identifier | Unique identifier for the payment method |
preSelected | When true, this method is pre-selected |
Example Configuration
{ "$schema": "...", "active": true, "id": "nonpsp-config", "adapter": { "internalUrl": "https://checkout-nonpsp-adapter.prod.norce.tech" }, "redirectUrls": { "checkoutPage": "https://your-store.com/checkout", "confirmationPage": "https://your-store.com/order-confirmation" }, "methods": [ { "identifier": "invoice", "preSelected": true }, { "identifier": "account-credit", "preSelected": false } ] }
Non-PSP API Environments
| Environment | Address |
|---|---|
| Production | https://checkout-nonpsp-adapter.prod.norce.tech |
| Test | https://checkout-nonpsp-adapter.test.norce.tech |
Creating a Payment
POST /api/checkout/v1/orders/{order_id}/payments x-merchant: {merchant} x-channel: {channel} Authorization: Bearer {token}
Response:
{ "paymentId": "pXYZ123", "paymentMethods": [ { "identifier": "invoice" }, { "identifier": "account-credit" } ], "selectedPaymentMethod": "invoice" }
Getting a Payment
Retrieves the current state of a Non-PSP payment.
GET /api/checkout/v1/orders/{order_id}/payments/{payment_id} x-merchant: {merchant} x-channel: {channel} Authorization: Bearer {token}
Selecting a Payment Method
PUT /api/checkout/v1/orders/{order_id}/payments/{payment_id} x-merchant: {merchant} x-channel: {channel} Authorization: Bearer {token} Content-Type: application/json
{ "selectedPaymentMethod": "account-credit" }
Removing a Payment
Removes the Non-PSP payment from the order.
POST /api/checkout/v1/orders/{order_id}/payments/{payment_id}/remove x-merchant: {merchant} x-channel: {channel} Authorization: Bearer {token}
Validation
When checkout is completed, the adapter validates:
- Payment amount matches order total
- Customer billing information is provided (email required)
Order Completion
Upon successful validation:
- Order state is updated to "Completed"
- Payment state is set to "Pending"
- Order is ready for fulfillment
The merchant is responsible for collecting payment through internal processes.
Integration Considerations
- Customer Eligibility: Implement logic to determine which customers see Non-PSP options
- Payment Reconciliation: Track payments collected outside Norce Checkout
- Credit Management: Implement credit limit checks for invoice/credit terms
- Reporting: Account for orders without PSP transaction data