Skip to main content

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:

FieldDescriptionExample Value
activeWhether the adapter is enabled.true
idUnique identifier for this configuration.nonpsp-config
methodsArray of available payment methods.See below

Payment Methods Configuration​

FieldDescription
identifierUnique identifier for the payment method
preSelectedWhen 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​

EnvironmentAddress
Productionhttps://checkout-nonpsp-adapter.prod.norce.tech
Testhttps://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:

  1. Order state is updated to "Completed"
  2. Payment state is set to "Pending"
  3. 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