---
updatedAt: 2026-04-02T19:49:04.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Create account acceptance configuration

Create acceptance configuration for a processing code operation on the account level. This is the most granular level allowed and can be used to customize a specific account. There is always only one configuration by operation by account. New creation attempts for the same operation receive a conflict response.

**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Core platform - Payment configurations",
    "version": "1.0.0",
    "description": "Endpoints to allow payment configuration management.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismolabs.io/pismo-docs/docs/support"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://gw-pci.pismolabs.io",
      "description": "Sandbox PCI API server for testing"
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.",
        "bearerFormat": "JWT"
      }
    },
    "responses": {
      "400BadRequest": {
        "description": "Bad request"
      },
      "401Unauthorized": {
        "description": "Access token is missing or invalid"
      },
      "403Forbidden": {
        "description": "The request has been lost"
      },
      "409Conflict": {
        "description": "Conflict"
      },
      "500InternalServer": {
        "description": "Internal server error"
      }
    },
    "schemas": {
      "DenialReasons": {
        "type": "object",
        "description": "Denial reasons linked to a rule.",
        "additionalProperties": {
          "$ref": "#/components/schemas/ReasonConfig"
        }
      },
      "Rules": {
        "type": "object",
        "description": "Validation rules performed in the payment methods flow.",
        "additionalProperties": {
          "$ref": "#/components/schemas/RuleConfig"
        }
      },
      "RuleConfig": {
        "type": "object",
        "description": "Configurations related to a rule.",
        "properties": {
          "denial_reasons": {
            "$ref": "#/components/schemas/DenialReasons"
          },
          "disable": {
            "type": "boolean",
            "description": "Should this rule be disabled throughout the payment methods validation flow? Default is `false`.",
            "default": false
          },
          "force": {
            "type": "boolean",
            "description": "Should this rule be forced throughout the payment methods validation flow? Default is `false`.",
            "default": false
          }
        }
      },
      "ReasonConfig": {
        "type": "object",
        "properties": {
          "denial_code": {
            "type": "string",
            "description": "Denial code to use when this denial reason is the one that caused the request to be denied.",
            "example": "DAL"
          },
          "response_code": {
            "type": "string",
            "description": "Response code to use when this denial reason is the one that caused the request to be denied.",
            "example": "57"
          },
          "custom_message": {
            "type": "string",
            "description": "Custom message to use when this denial reason is the one that caused the request to be denied."
          }
        }
      },
      "UpdateBalanceAfterDischarge": {
        "type": "boolean",
        "description": "If set to `true`, the platform will update the account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates the account balances during the authorization process. This field applies to credit authorizations only.",
        "example": true,
        "default": false
      },
      "RequireExternalAuthentication": {
        "type": "boolean",
        "description": "Does this org/program/account require a call to an external authentication entity? Default is `false`.",
        "example": true,
        "default": false
      },
      "CancellationThreshold": {
        "type": "integer",
        "description": "Time in minutes this operation should be canceled after being approved and not receiving any confirmation.",
        "example": 1440,
        "minimum": 30,
        "maximum": 86400,
        "default": 14400
      },
      "ConfirmationVerificationEndpoint": {
        "type": "string",
        "description": "Endpoint that is called to verify whether an authorization was confirmed or not. If this endpoint is not configured, no external verification is made and a direct confirmation call should be performed on the payment methods endpoint.",
        "example": "https://yourverificationendpoint.com"
      },
      "ConfirmationVerificationMTLS": {
        "type": "boolean",
        "description": "Should the confirmation verification endpoint be called using mTLS? This can only be `true` if `confirmation_verification_endpoint` and `confirmation_verification_mtls_prefix` are passed. Default is `false`.",
        "example": true,
        "default": false
      },
      "ConfirmationVerificationMTLSPrefix": {
        "type": "string",
        "description": "Prefix to be used when the verification endpoint is called using mTLS. This prefix is appended to the host configured in the confirmation verification endpoint when using mTLS. The prefix can be set and is **REQUIRED**  only if `confirmation_verification_mtls` is `true` and the `confirmation_verification_endpoint` is configured."
      },
      "ConfirmationVerificationRate": {
        "type": "integer",
        "description": "Time in minutes the platform should call external endpoint to verify whether the authorization was captured and confirmed or not. \nIf this field is present, the verification endpoint is required to be configured.\nThis verification happens until either the authorization is confirmed or the cancel after N minutes threshold is reached.\n",
        "example": 30,
        "minimum": 5,
        "maximum": 1440,
        "default": 60
      },
      "RetroactivePaymentTimeRestriction": {
        "type": "integer",
        "description": "The number of days allowed for this operation be backdated.",
        "example": 5,
        "default": 7
      },
      "PaymentAcceptanceConfig": {
        "type": "object",
        "description": "Group of acceptances related to the payments flow.",
        "properties": {
          "retroactive_payment_time_restriction": {
            "$ref": "#/components/schemas/RetroactivePaymentTimeRestriction"
          },
          "require_external_authentication": {
            "$ref": "#/components/schemas/RequireExternalAuthentication"
          },
          "update_balance_after_discharge": {
            "$ref": "#/components/schemas/UpdateBalanceAfterDischarge"
          },
          "rules": {
            "$ref": "#/components/schemas/Rules"
          }
        }
      },
      "AuthorizationAcceptanceConfig": {
        "type": "object",
        "description": "Group of acceptances related to the authorization flow.",
        "properties": {
          "external_calculation_endpoint": {
            "type": "string",
            "description": "Endpoint that is called when there is an external integration to simulate and calculate purchases.",
            "example": "https://yourendpoint.com"
          },
          "cancellation_threshold": {
            "$ref": "#/components/schemas/CancellationThreshold"
          },
          "confirmation_verification_endpoint": {
            "$ref": "#/components/schemas/ConfirmationVerificationEndpoint"
          },
          "confirmation_verification_mtls": {
            "$ref": "#/components/schemas/ConfirmationVerificationMTLS"
          },
          "confirmation_verification_mtls_prefix": {
            "$ref": "#/components/schemas/ConfirmationVerificationMTLSPrefix"
          },
          "confirmation_verification_rate": {
            "$ref": "#/components/schemas/ConfirmationVerificationRate"
          },
          "require_external_authentication": {
            "$ref": "#/components/schemas/RequireExternalAuthentication"
          },
          "update_balance_after_discharge": {
            "$ref": "#/components/schemas/UpdateBalanceAfterDischarge"
          },
          "rules": {
            "$ref": "#/components/schemas/Rules"
          }
        }
      },
      "TransferAcceptanceConfig": {
        "type": "object",
        "description": "Group of acceptances related to the transfer flow.",
        "properties": {
          "from": {
            "type": "object",
            "description": "Group of acceptances related to the source account.",
            "properties": {
              "retroactive_payment_time_restriction": {
                "$ref": "#/components/schemas/RetroactivePaymentTimeRestriction"
              },
              "require_external_authentication": {
                "$ref": "#/components/schemas/RequireExternalAuthentication"
              },
              "rules": {
                "$ref": "#/components/schemas/Rules"
              }
            }
          },
          "to": {
            "type": "object",
            "description": "Group of acceptances related to the target account.",
            "properties": {
              "retroactive_payment_time_restriction": {
                "$ref": "#/components/schemas/RetroactivePaymentTimeRestriction"
              },
              "require_external_authentication": {
                "$ref": "#/components/schemas/RequireExternalAuthentication"
              },
              "rules": {
                "$ref": "#/components/schemas/Rules"
              }
            }
          }
        }
      },
      "CreateAcceptanceRequest": {
        "type": "object",
        "description": "Create an acceptance configuration record",
        "properties": {
          "authorization": {
            "$ref": "#/components/schemas/AuthorizationAcceptanceConfig"
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentAcceptanceConfig"
          },
          "transfer": {
            "$ref": "#/components/schemas/TransferAcceptanceConfig"
          }
        }
      },
      "CreateAcceptanceResponse": {
        "type": "object",
        "description": "Create acceptance configuration record response",
        "properties": {
          "authorization": {
            "$ref": "#/components/schemas/AuthorizationAcceptanceConfig"
          },
          "payment": {
            "$ref": "#/components/schemas/PaymentAcceptanceConfig"
          },
          "transfer": {
            "$ref": "#/components/schemas/TransferAcceptanceConfig"
          }
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Payment method acceptances",
      "description": "Payment methods acceptances endpoints."
    }
  ],
  "paths": {
    "/payment-methods-configs/v1/acceptances/processing-codes/{processingCode}/accounts/{accountId}": {
      "parameters": [
        {
          "name": "processingCode",
          "schema": {
            "type": "string"
          },
          "in": "path",
          "required": true,
          "description": "Processing code that defines the operation related to this acceptance configuration."
        },
        {
          "name": "accountId",
          "schema": {
            "type": "integer"
          },
          "in": "path",
          "required": true,
          "description": "ID of account to which to apply the configuration."
        }
      ],
      "post": {
        "summary": "Create account acceptance configuration",
        "description": "Create acceptance configuration for a processing code operation on the account level. This is the most granular level allowed and can be used to customize a specific account. There is always only one configuration by operation by account. New creation attempts for the same operation receive a conflict response.\n\n**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.\n",
        "operationId": "post-acceptance-by-account",
        "tags": [
          "Payment method acceptances"
        ],
        "requestBody": {
          "description": "Create acceptance configuration request body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAcceptanceRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAcceptanceResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/403Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/409Conflict"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServer"
          }
        }
      }
    }
  }
}
```