---
title: >-
  New rejection reason codes and merchant message added to
  verificationSessionReject mutation - Shopify developer changelog
description: >-
  Shopify’s developer changelog documents all changes to Shopify’s platform.
  Find the latest news and learn about new platform opportunities.
source_url:
  html: >-
    https://shopify.dev/changelog/posts/new-rejection-reason-codes-and-merchant-message-added-to-verificationsessionreject-mutation
  md: >-
    https://shopify.dev/changelog/posts/new-rejection-reason-codes-and-merchant-message-added-to-verificationsessionreject-mutation.md
metadata:
  effectiveApiVersion: 2026-04
  affectedApi:
    - displayName: Payments Apps API
      handle: payments-apps-api
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: Update
    handle: update
  indicatesActionRequired: false
  createdAt: '2026-02-20T06:56:06-05:00'
  postedAt: '2026-02-21T12:00:00-05:00'
  updatedAt: '2026-03-02T10:27:00-05:00'
  effectiveAt: '2026-02-21T12:00:00-05:00'
---

February 21, 2026

# New rejection reason codes and merchant message added to `verificationSessionReject` mutation

DateFebruary 21, 2026

Version[2026-04](https://shopify.dev/changelog?api_version=2026-04)

FlagsUpdate

SurfacesAPI

Affected APIs[Payments Apps API](https://shopify.dev/changelog?api_type=payments-apps-api)

The [`verificationSessionReject` mutation](https://shopify.dev/docs/api/payments-apps/latest/mutations/verificationSessionReject) in the Payments Apps API now supports two new rejection reason codes and an optional merchant-facing message. The [new enum values](https://shopify.dev/docs/api/payments-apps/latest/mutations/verificationSessionReject#arguments-reason.fields.code) on [`VerificationSessionStateReason`](https://shopify.dev/docs/api/payments-apps/latest/enums/VerificationSessionStateReason) include:

* `RESOURCE_NOT_FOUND`: The payment method could not be found in the payment provider's system.
* `RESOURCE_INVALID`: The payment token is not valid for this use case (for example, a mismatch between customer and payment method).

A new input field on `VerificationSessionRejectionReasonInput`(<https://shopify.dev/docs/api/payments-apps/2026-04/input-objects/VerificationSessionRejectionReasonInput>) has also been added:

* `merchantMessage` (string, optional): A custom, localized message to provide to the merchant when a verification is rejected.

These changes give payment apps more granular control over verification rejection reporting.
