Create Card Not Present Processing

Configures a card-not-present (CNP) processor for a location, enabling e-commerce and gateway payments. The response provisions the gateway client and API credentials that the E-commerce endpoints use to obtain a gateway token.

Request Headers

HeaderRequiredDescription
AuthorizationYesBearer YOUR_ACCESS_TOKEN
Content-TypeYesapplication/json

Request Parameters

Path Parameters:

ParameterTypeRequiredDescription
location_idintegerYesLocation to configure.

Request Body Fields:

FieldTypeRequiredDescription
typestringYesMust be CNP for card-not-present.
processorstringYesProcessor identifier (for example, RC for First Data, or Cybersource).
statusintegerYes1 = active.
merchant_idstringYesMerchant identifier with the processor.
environmentstringYesProcessor environment (Development, Demo, Production).
api_keystringConditionalAPI key, when required by the processor.
passwordstringConditionalShared secret, when required.
pay_by_cardintegerNoEnable card payments (1/0).
user_idintegerNoThe acting user.

Request Example

{
  "type": "CNP",
  "processor": "RC",
  "status": 1,
  "merchant_id": "54983156468810",
  "environment": "Development",
  "pay_by_card": 1,
  "user_id": 144
}

cURL Example

curl --request POST \
  --url https://sandbox-api.softpoint.io/interface/v1/locations/273394/processors/cnp \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "type": "CNP",
    "processor": "RC",
    "status": 1,
    "merchant_id": "54983156468810",
    "environment": "Development",
    "pay_by_card": 1
  }'

Success Response

A First Data (RC) configuration returns gateway credentials:

{
  "id": 12804,
  "location_id": "273394",
  "processor": "First Data",
  "environment": "Development",
  "name": "CNP",
  "status": 1,
  "merchant_id": "54983156468810",
  "pay_by_card": 1,
  "gtw_client": "iframe_gtw",
  "gtw_api_key": "xsPrypbdTYF068DtM7R9OiJCQEZkA4ah",
  "gtw_api_secret": "REDACTED"
}

A Cybersource configuration instead returns api_key, password, and iframe/wallet flags (sp_iframe, google_pay, apple_pay).

Response Fields

FieldTypeDescription
idintegerProcessor configuration ID.
location_idstringinteger
processorstringResolved processor name.
environmentstringProcessor environment.
namestringConfiguration name.
statusintegerStatus.
merchant_idstringMerchant identifier.
pay_by_cardintegerWhether card payments are enabled.
gtw_clientstringGateway client type (for example, iframe_gtw). Use as the client value when generating a gateway token.
gtw_api_keystringGateway API key. Use as the api_key value when generating a gateway token.
gtw_api_secretstringGateway API secret. Store securely.
api_key / passwordstringCredentials returned for processors such as Cybersource.
sp_iframe / google_pay / apple_payintegerWallet and iframe capability flags (Cybersource).

Error Responses

Missing Required Parameters

{
  "error": {
    "code": 10109,
    "message": "The request is missing one or more required parameter(s).",
    "details": { "type": ["missing_required_parameters"] }
  }
}

Status Codes

CodeDescription
200Processor configured
400Required parameters missing
401Token missing or invalid

Workflow Placement

The bridge between boarding and e-commerce payments:

  1. Create A Location

  2. Create Card Not Present Processing → returns gtw_client and gtw_api_key

  3. E-commerce → Generate Gateway Token (using those values)

  4. E-commerce → Sale / Authorize

Notes

  • Capture gtw_client and gtw_api_key from the response; they are the client and api_key inputs to Generate Gateway Token.

  • gtw_api_secret is sensitive; store it server-side only.

Common Mistakes

  • Omitting type (must be CNP).

  • Discarding the gateway credentials, which are required to authenticate against the Gateway API.

Body Params
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json