---
title: >-
  Discouraging use of receiptJson on OrderTransaction in the GraphQL Admin API -
  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/discouraging-use-of-receiptjson-on-ordertransaction-in-the-graphql-admin-api
  md: >-
    https://shopify.dev/changelog/posts/discouraging-use-of-receiptjson-on-ordertransaction-in-the-graphql-admin-api.md
metadata:
  effectiveApiVersion: ''
  affectedApi:
    - displayName: Admin GraphQL API
      handle: admin-graphql
  primaryTag:
    displayName: API
    handle: api
  secondaryTag:
    displayName: Update
    handle: update
  indicatesActionRequired: false
  createdAt: '2025-12-09T15:50:15-05:00'
  postedAt: '2026-01-29T16:10:00-05:00'
  updatedAt: '2026-01-29T16:35:26-05:00'
  effectiveAt: '2025-12-10T12:00:00-05:00'
---

January 29, 2026

# Discouraging use of `receiptJson` on `OrderTransaction` in the GraphQL Admin API

DateJanuary 29, 2026

FlagsUpdate

SurfacesAPI

Affected APIs[Admin GraphQL API](https://shopify.dev/changelog?api_type=admin-graphql)

We’re **discouraging** use of [`OrderTransaction.receiptJson`](https://shopify.dev/docs/api/admin-graphql/latest/objects/OrderTransaction#field-OrderTransaction.fields.receiptJson). You should stop relying on `receiptJson` in production apps.

`receiptJson` is **gateway-defined**, **inconsistently shaped**, and may **change without notice**. Because its structure isn’t stable or typed, changes can lead to unexpected app failures.

***

### What’s changing

* `OrderTransaction.receiptJson` should be treated as **unstable, gateway-specific data**.
* The field **remains available**, but Shopify **does not guarantee** a consistent schema or long-term compatibility for its contents.
* Changes to the shape or keys inside `receiptJson` may occur **without being treated as a breaking API change**.

### Why this is changing

`receiptJson` is not a reliable integration surface:

* Different payment gateways format it differently.
* The same gateway can change its structure across versions or configurations.
* Apps that parse it can break unexpectedly, impacting merchants.

We want to reduce production incidents caused by treating `receiptJson` as a stable contract.

### What you need to do

We recommend removing dependencies on `receiptJson` as soon as possible:

* **Don’t add new dependencies** on `receiptJson`.
* **Migrate existing logic** to stable, typed fields on `OrderTransaction` and related objects wherever possible.
* If you require provider-specific details that aren’t available as typed fields, fetch them **directly from the payment provider** (when applicable) and store only the minimal data your system needs.

### Documentation

* `OrderTransaction` object: <https://shopify.dev/api/admin-graphql/latest/objects/OrderTransaction>
* API versioning and compatibility: <https://shopify.dev/docs/api/usage/versioning>
