Join us for an upcoming Shopify Partner webinar on February 27, 2024. Discover the latest Checkout Extensibility features, and deep dive on improvements to Shopify Functions and Web Pixels. Register now for either the 10am EST or 2pm EST sessions.

Inquiry Regarding Strange Transaction Records in Partner API

sebastiandev
Shopify Partner
51 1 16

I'm building a tool for analyzing our sales. For many months, I've been running certain queries to retrieve transactions and store them in our database. Today, I noticed errors and a strange record in the logs.

 

For pending payments I saw lines like this: 

earning.png

I dla QUERY w Partner API:

query getTransactions($after: String, $appId: ID!, $createdAtMin: DateTime) {
  transactions(
    appId: $appId
    types: [APP_SUBSCRIPTION_SALE]
    after: $after
    createdAtMin: $createdAtMin
    first: 100
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
    }
    edges {
      cursor
      __typename
      node {
        id
        __typename
        ... on AppSubscriptionSale {
          billingInterval
          chargeId
          createdAt
          grossAmount {
            amount
            currencyCode
          }
          netAmount {
            amount
            currencyCode
          }
          shopifyFee {
            amount
            currencyCode
          }
        }
      }
    }
  }
}

I get this response:

{
  "data": {
    "transactions": {
      "pageInfo": {
        "hasNextPage": false,
        "hasPreviousPage": false
      },
      "edges": [
        {
          "cursor": "eyJwYXJ0bmVyX3JlY2VpdmFibGVfY3JlYXRlZF9hdCI6MTcwNzY4MTIxNTAwMCwiaWQiOiIyOTIxMzYxMzQifQ",
          "__typename": "TransactionEdge",
          "node": {
            "id": "gid://partners/AppSubscriptionSale/292136134",
            "__typename": "AppSubscriptionSale",
            "billingInterval": null,
            "chargeId": null,
            "createdAt": "2024-02-11T19:53:35.000000Z",
            "grossAmount": {
              "amount": "-1.67",
              "currencyCode": "USD"
            },
            "netAmount": {
              "amount": "-1.67",
              "currencyCode": "USD"
            },
            "shopifyFee": {
              "amount": "0.0",
              "currencyCode": "USD"
            }
          }
        }
      ]
    }
  }
}

I'm getting an error because transactions are associated with specific subscriptions (`chargeId`), but as it appears in the response, the API returns a null value for the chargeId field.

In general, I can skip this record during data import if there is a null value there, but this raises a few questions:


1. Is it correct that for queries of type APP_SUBSCRIPTION_SALE, it returns some negative amounts?
2. Shouldn't this type of transaction be of a different type? Shouldn't it be categorized as APP_SALE_ADJUSTMENT (similar to refunds)?
3. If the type is correct, is there a possibility to add a value for chargeId?

 

Replies 2 (2)

Liam
Shopify Staff
2669 288 730

Hi Sebastian,

 

It's possible that you might see negative amounts for transactions with a type of APP_SUBSCRIPTION_SALE  when a shop moves from a full-priced subscription to an inactive subscription. Are your plans set up in a way that could result in this?

Liam | Developer Advocate @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

sebastiandev
Shopify Partner
51 1 16

https://shopify.dev/docs/api/admin-graphql/2024-01/mutations/appSubscriptionCreate
I understand that you think about replacementBehavior field? We use STANDARD value.

 

But our customer uninstalled and installed app again. 

 

And second - is correctly behaviour that chargeId is null?