Stop Payment

clock 3-minute read calender 1.0.4 | updated Aug. 14, 2024

Stop a check payment

What you can do Endpoint
Health check get /accounts/payments/v1/healthCheck
Stop a payment post /accounts/payments/v1/stop

Before you begin

All KeyBank APIs require certificates, user credentials, and certain permissions. Check out our Getting Started Guide to learn more.

Use the Stop Payment API to stop a check payment. A successful request stops the payment and returns confirmation and payment details. You can stop a payment between the hours of 06:00 a.m. and 11:59 p.m. EST.

 

get /accounts/payments/v1/healthCheck

Verify you can connect to the API service. A bearer token is required.

NAME TYPE DESCRIPTION
Statusoptional string Status of the health check response.
Sourceoptional string Origin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
Timestampoptional string Date (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptional string Client IP address the gateway receives from the request.
X-Forwarded-Foroptional string Sequence of IP addresses for systems between the client and the gateway.

Response example (200)

copylink
{
    "Status": "Ok",
    "Source": "Roundtrip",
    "Timestamp": "2022-09-15T04:49:03",
    "ClientIp": "156.77.111.28",
    "X-Forwarded-For": "[156.77.111.28]"
}

post /accounts/payments/v1/stop

Request a stop for a check payment.

BODY FIELDTYPEDESCRIPTION
AccountNumberrequiredstringBank account number. This field cannot exceed 16 characters.
BankNumberrequiredstringBank number associated with the account number. Valid values: 0101, 0241, 0618, 1256, 1961, 2912, 3211, 3290, 3720, 4451, 4560, 4731
CheckNumberrequiredObjectcheckNumber
CheckAmountoptionalnumberAmount of the check
DescriptionoptionalstringComments that describes stop payment reasons. This field cannot exceed 30 characters.

Request example

copylink
{
    "AccountNumber": "123456789",
    "BankNumber": "0101",
    "CheckNumber": {
        "CheckNumberLow": "590",
        "CheckNumberHigh": "591"
    },
    "CheckAmount": 1.52,
    "Description": "Test Stop_SB_08130116"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.

Response example (200)

copylink
{
    "Status": "Success",
    "StatusCode": "000",
    "Severity": "Info",
    "StatusDesc": "stopPaymentAdd operation executed successfully - stopPaymentAdd_20190205024213818",
    "TransactionId": "000000057307_590_1.52",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-30T18:55:10.337Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (400)

copylink
{
    "Status": "Failure",
    "StatusCode": "400",
    "Severity": "Error",
    "StatusDesc": "Mandatory data not provided, please verify the data and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (401)

copylink
{
    "Status": "Failure",
    "StatusCode": "401",
    "Severity": "Error",
    "StatusDesc": "Received request is unauthorized, please provide valid credentials",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (402)

copylink
{
    "Status": "Failure",
    "StatusCode": "402",
    "Severity": "Error",
    "StatusDesc": "Failed to add stop payment on account; STAR failed  - stopPaymentAdd_20220513015308610",
    "TransactionId": "000000057307_590_591",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2022-05-13T05:53:08.702Z",
    "ServiceError": {
        "SEStatusCode": "402",
        "SESeverity": "Error",
        "SEStatusDesc": "Failed to add stop payment on account; STAR failed - stopPaymentAdd_20220513015308610",
        "AdditionalStatus": {
            "ASStatusCode": "202",
            "ASSeverity": "Error",
            "ASStatusDesc": "CHECK(S) ALREADY STOPPED",
            "SubjectElement": {
                "Path": "STAR"
            }
        }
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (403)

copylink
{
    "Status": "Failure",
    "StatusCode": "403",
    "Severity": "Error",
    "StatusDesc": "Access Denied for client ip",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (404)

copylink
{
    "Status": "Failure",
    "StatusCode": "404",
    "Severity": "Error",
    "StatusDesc": "Requested resource is not found, please verify the resource and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (405)

copylink
{
    "Status": "Failure",
    "StatusCode": "405",
    "Severity": "Error",
    "StatusDesc": "Requested method is not allowed, please verify the method and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (415)

copylink
{
    "Status": "Failure",
    "StatusCode": "415",
    "Severity": "Error",
    "StatusDesc": "Requested media type is not allowed, please verify the media type and resubmit the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (429)

copylink
{
    "Status": "Failure",
    "StatusCode": "429",
    "Severity": "Error",
    "StatusDesc": "Looks like you've sent too many requests. Please wait a moment and try again later.",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2022-05-17T04:39:32.449Z"
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (500)

copylink
{
    "Status": "Failure",
    "StatusCode": "500",
    "Severity": "Error",
    "StatusDesc": "Runtime error occurred in the service, please check with application support team before resubmitting the request",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "3288b87c-d4e7-639a-88d0-9cdfede8941e",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Runtime error occurred in the service, please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "Status": "Failure",
    "StatusCode": "502",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (502)

copylink
{
    "Status": "Failure",
    "StatusCode": "502",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Connectivity error occurred with the downstream service (Unexpected EOF at target), please check with application support team before resubmitting the request"
    }
}
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError

Response example (504)

copylink
{
    "Status": "Failure",
    "StatusCode": "504",
    "Severity": "Error",
    "StatusDesc": "Error received from backend",
    "TransactionId": "rrt-7709400285867417207-b-gce-27587-2383364-1",
    "X-CorrelationId": "2ebd5c24-0e8d-5a70-0e91-ffd2727c1aab",
    "TransactionTime": "2021-06-11T16:31:34.041Z",
    "ServiceError": {
        "connectError": "Request could not be processed on time (GatewayTimeout), please wait a moment and resubmit the request."
    }
}
NAMETYPEDESCRIPTION
ASStatusCoderequiredstringAdditional status code of the processed request. For 402 errors, this field contains the unique error code returned from the Stop Payment downstream service.
ASSeverityrequiredstringAdditional status severity of the processed request.
ASStatusDescrequiredstringAdditional status description of the processed request. For 402 errors, this field contains the unique error description returned from the Stop Payment downstream service.
SubjectElementrequiredObjecterrorData
NAMETYPEDESCRIPTION
CheckNumberLowrequiredstringTo stop a single check, use this field to specify that check number. To stop a range of checks, use this field to specify the first check number of the range.
CheckNumberHighoptionalstringTo stop a range of checks, use this field to specify the last check number in the range. This field is unnecessary when stopping a single check.
NAMETYPEDESCRIPTION
connectErroroptionalstringAPI connectivity error information, if available.
NAMETYPEDESCRIPTION
PathrequiredstringTroubleshooting field that contains the operational path that failed.
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
ServiceErroroptionaloneOfserviceErrorData connectError
NAMETYPEDESCRIPTION
StatusoptionalstringStatus of the health check response.
SourceoptionalstringOrigin of the system response can be 'Gateway' or 'Roundtrip'. Roundtrip returns a response from the farthest system involved.
TimestampoptionalstringDate (YYYY-MM-DD) and time (HH:MM:SS) of response from the API service.
ClientIpoptionalstringClient IP address the gateway receives from the request.
X-Forwarded-ForoptionalstringSequence of IP addresses for systems between the client and the gateway.
NAME TYPE DESCRIPTION
AccountNumberrequired string Bank account number. This field cannot exceed 16 characters.
BankNumberrequired string Bank number associated with the account number. Valid values: 0101, 0242, 0618, 1256, 1961, 2912, 3211, 3290, 3720, 4451, 4560, 4731
CheckNumberrequired Object checkNumber
CheckAmountoptional number Amount of the check
Descriptionoptional string Comments that describes stop payment reasons. This field cannot exceed 30 characters.
NAMETYPEDESCRIPTION
StatusrequiredstringStatus of the processed request. Valid values: Success, Failure
StatusCoderequiredstringStatus code of the processed request.
SeverityrequiredstringSeverity level of the processed request. Valid values: Info, Error
StatusDescrequiredstringStatus description of the processed request.
TransactionIdrequiredstringUnique ID that gets assigned for the processed request.
X-CorrelationIdrequiredstringA unique identifier generated for each transaction that remains with the transaction through the chain of API operations.
TransactionTimerequiredstringDate (YYYY-MM-DD) and time (HH:MM:SS) the transaction processed.
NAMETYPEDESCRIPTION
SEStatusCoderequiredstringService error status code of the processed request.
SESeverityrequiredstringService error severity of the processed request.
SEStatusDescrequiredstringService error status description of the processed request.
AdditionalStatusrequiredObjectadditionalStatusData

For more information about general errors, see Error handling.

Note: The Stop Payment API is unavailable between the hours of 12:00 a.m. and 6:00 a.m. EST. If a request to stop payment is submitted within this timeframe you will receive an error.

There may be additional error information in the exception schema. API-specific KeyBank error codes and details are in the serviceErrorData. object for additional information specific to the API request.

 

HTTP STATUS CODECUSTOM STATUS CODEDESCRIPTION
402202

CHECK(S) ALREADY STOPPED
Failed to add stop payment on account.

A stop payment has already been placed on that check and or account.

402201

CHECKS(S) ALREADY POSTED TODAY
Failed to add stop payment on account.

Check has already posted to the account.

402203

TELLER CHECK HOLD ON ACCOUNT
Failed to add stop payment on account.

The payment was already stopped.

402208

ERROR LOCATING DDA
Failed to add stop payment on account.

There is an invalid value for the accountNumber field. Review and make sure the accountNumber is correct.

503209

STOP SERVICE UNAVAILABLE, PLEASE RETRY BETWEEN 6:00AM AND 11:59PM ET

The Stop Payment API is unavailable between the hours of 12:00 a.m. and 06:00 a.m. EST. Please retry your request outside of this time window.

 

ReleaseAPI versionChange descriptionImpact
August 20241.0.4
  • Added clarity to the checkNumber description.
  • Parameter description updates. This change is for technical content only. The code and operations of the API remain the same. 
MID
December 20221.0.0
  • Released on the Developer Portal.
 

Impact levels

  • LOW: This is a minor change or enhancement that does not alter the operations of the API. Upgrading to the latest specifications is preferable but not required.
  • MID: The previous API version is valid and operates, but does not contain latest enhancements. You need to update your specifications to get these enhancements.
  • HIGH: The previous API version is no longer operable. You must upgrade to the latest specifications to access and use this API product.

YAML file download