Skip to main content
PUT
/
api
/
adm
/
projectPaymentProcessors
/
{id}
Update Payment Processor Configuration
curl --request PUT \
  --url https://localhost:44371/api/adm/projectPaymentProcessors/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "success": true,
  "code": 200,
  "errorMessage": null
}

Description

Modifies an existing payment processor configuration. Supports updating configuration name, merchant credentials in SettingsJson, payment type, and active status. Common use cases include credential rotation and switching between test and production credentials.

Input

  • Path Parameter: id (guid, required) — Unique identifier of processor configuration to update.
  • Body: model (ProjectPaymentProcessorUpdateCommandRequest, required) — Updated configuration including:
    • id (guid, required) — Configuration identifier (must match path parameter).
    • name (string, required) — Updated descriptive name.
    • gateway (int, required) — Gateway provider (cannot be changed).
    • companyProjectId (guid, required) — Project identifier.
    • paymentType (int, required) — Payment method type.
    • settingsJson (string, required) — Updated merchant credentials.
    • isActive (bool, required) — Active status.

Output

Returns a ProjectPaymentProcessorUpdateCommandResponse indicating whether update was successful.

Example Request

PUT /api/admin/project-payment-processors/9ba85f64-5717-4562-b3fc-2c963f66afa7
Content-Type: application/json
Authorization: Bearer {token}

{
  "id": "9ba85f64-5717-4562-b3fc-2c963f66afa7",
  "name": "Production CyberSource - Rotated Keys",
  "gateway": 1,
  "companyProjectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "paymentType": 1,
  "settingsJson": "{\"merchantId\":\"merchant_12345\",\"apiKey\":\"new_xyz789\",\"sharedSecretKey\":\"new_secret\"}",
  "isActive": true
}

Example Response

{
  "success": true,
  "code": 200,
  "errorMessage": null
}

Errors

  • 400 Bad Request — Missing fields, malformed settingsJson, cannot change gateway, or name exceeds length.
  • 404 Not Found — Configuration not found with specified ID.

Notes

  • Gateway cannot be changed after creation.
  • Updated credentials encrypted before storage.
  • Credential updates take effect immediately for new transactions.
  • All fields must be provided (full update, not partial).
  • Rotation best practice: create new config, test, activate, monitor, deactivate old, delete after retention.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

id
string<guid>
required

The unique identifier of the processor configuration to update.

Body

application/json

The updated configuration details including credentials, name, payment type, and active status.

Base structure for command requests that modify data. Represents the payload required to create a new project payment processor configuration. Represents the payload required to update an existing project payment processor configuration.

name
string
required

The display name assigned to the processor configuration.

Maximum string length: 50
settingsJson
string
required

The JSON payload containing the processor configuration settings.

Minimum string length: 1
gateway
enum<string>

The gateway implementation the processor should use.

Available options:
CyberSource,
PayPal,
Amazon
companyProjectId
string<guid>

The identifier of the company project that will own the configuration.

paymentType
enum<string>

The payment method supported by the processor configuration.

Available options:
CreditCard,
Amazon,
ExpressCheckout
id
string<guid>

The identifier of the processor configuration to update.

isActive
boolean

Indicates whether the processor configuration is active.

Response

Always returned. Check the success property in the response body to determine if the operation succeeded.

Standard response structure containing operation status and error information. Standard command response indicating the result of a data modification. Represents the response returned after a processor configuration is updated.

success
boolean

True if the operation completed successfully; false if an error occurred.

Example:

true

code
enum<string>

Result code indicating the outcome of the operation.

Available options:
Unknown,
Success,
BadRequest,
Unauthorized,
NotFound,
Error
Example:

200

errorMessage
string | null

Human-readable error message when an error occurs.

Example:

null