Mark Codes
Mark Codes
  • 4
  • 5 242
Shopify Remix - Theme App Extensions for Subscribers Only - Billing 2/2
In this tutorial I'll show you how to use an app metafield and the APP_SUBSCRIPTIONS_UPDATE web hook to only make a Theme App Extension to a customer who has an active subscription.
App Metafield Documentation: shopify.dev/docs/apps/custom-data/metafields/app-data
Enjoyed this video? Buy me a Beer! buymeacoffee.com/marktiddy
More extensive version of this code on my GitHub: github.com/marktiddy/Shopify-Remix-Billing-Demo
มุมมอง: 520

วีดีโอ

Shopify Remix App Development - Set Up Billing
มุมมอง 1.5K7 หลายเดือนก่อน
In this video I show you how to get subscriptions working in your Shopify Remix app. The 2nd video in this series which will be live next week will show you how to then use this billing to set an app metafield which you can use to conditionally make an Theme App Extension available to subscribed customers only. More extensive version of this code on my GitHub: github.com/marktiddy/Shopify-Remix...
Shopify App Development and Remix - Overview and the QR Code Tutorial
มุมมอง 1.6K8 หลายเดือนก่อน
Join me as I take you through getting started with Shopify App Development and Remix. In this video I go through everything included in the Shopify Remix boilerplate and then we work through the Remix tutorial from Shopify together and I explain all the different parts of the application we we go and what they do. Found this helpful? Buy me a Beer! buymeacoffee.com/marktiddy Shopify Remix tutor...
Getting Started with Homebridge Plugin Development
มุมมอง 1.7K8 หลายเดือนก่อน
Homebridge is a great platform for adding non-Apple HomeKit devices to Apple HomeKit but there's not much out there for those getting started with Plugin Development. In this video I go over the HomeBridge Starter Plugin, show you how to get it up and running and how to link it to your HomeBridge installation for development. Homebridge Plugin Template GitHub: github.com/homebridge/homebridge-p...

ความคิดเห็น

  • @LarsHumpert
    @LarsHumpert 2 วันที่ผ่านมา

    thx mark i got this error : TypeError: Cannot read properties of undefined (reading 'length')

    • @LarsHumpert
      @LarsHumpert 2 วันที่ผ่านมา

      okay fix it but now i got this Error: Variable $name of type String! was provided invalid value

    • @MarkCodesYoutube
      @MarkCodesYoutube วันที่ผ่านมา

      That sounds like a typescript error whereby that variable is expecting a string and got something else. If you go for the JavaScript version of the starter it will probably be easier to work with

    • @LarsHumpert
      @LarsHumpert วันที่ผ่านมา

      @@MarkCodesTH-camMh okay thanks for reply. But yes i have choice Javascript.

  • @redaessnoussi8427
    @redaessnoussi8427 4 วันที่ผ่านมา

    Thank you Mark! You don't know how much you saved our lifes ... I was relying on api and database to get subscription plan ... but this approach is better

  • @redaessnoussi8427
    @redaessnoussi8427 4 วันที่ผ่านมา

    Thank you so much! I struggled with this since Shopify docs is sucks

  • @vikaxachatryan751
    @vikaxachatryan751 หลายเดือนก่อน

    The guide was very helpful. Could you please also explain how I can implement additional charges for my app in certain cases?

    • @MarkCodesYoutube
      @MarkCodesYoutube หลายเดือนก่อน

      I think this should help shopify.dev/docs/apps/launch/billing/support-one-time-purchases

  • @codename4618
    @codename4618 หลายเดือนก่อน

    thank you, very helpful!

  • @VishvjeetRathod-wu2ny
    @VishvjeetRathod-wu2ny 2 หลายเดือนก่อน

    Great video thanks

  • @theadal8372
    @theadal8372 3 หลายเดือนก่อน

    Thankyou for the amazing tutorial. 👍 Can you please tell how to to implement this for checkout UI extensions. It would be really helpful. I'm just clueless in this.😔

  • @christophermoriarty2855
    @christophermoriarty2855 4 หลายเดือนก่อน

    Thanks for the great video. Do you have any suggestions for preventing a store from uninstalling the app and reinstalling it and getting an new trial?

    • @MarkCodesYoutube
      @MarkCodesYoutube 4 หลายเดือนก่อน

      If your app creates data they might find useful to keep them if you delete that on install they have to set it all up again if they do that

  • @spacetime3636
    @spacetime3636 4 หลายเดือนก่อน

    Hi ! How listing orders in a app Shopify using Remix Polaris?

  • @ade8879
    @ade8879 4 หลายเดือนก่อน

    thanks

  • @mbape22342
    @mbape22342 5 หลายเดือนก่อน

    Hi mate, nice video! I am trying to make my app not require a subscription when installing it, but make this plan optional through a plan selection page. How can I do this?

  • @seunoyebode
    @seunoyebode 5 หลายเดือนก่อน

    This is such a great video! Very helpful. Thanks for making this.

  • @justdoitk
    @justdoitk 5 หลายเดือนก่อน

    What will you suggest for an app with free trial, if the customer install the app and while is in free trial days is uninstalling the app and installing back, should keep get free trial or straight to the subscription billing page?

    • @MarkCodesYoutube
      @MarkCodesYoutube 5 หลายเดือนก่อน

      If you have your app set to delete user data from your database on uninstall (which you should) then whilst a user could keep installing and reinstalling after a free trial they would have to add all their data again so it's unlikely they will

    • @justdoitk
      @justdoitk 5 หลายเดือนก่อน

      @@MarkCodesTH-cam Thanks but this will create a loop which can uninstall the app on last day of free trial and reinstall it, i was thinking to keep in database if was installed before, so based on this to redirect to the subscription plan page

  • @dan110024
    @dan110024 5 หลายเดือนก่อน

    Around 11:20, is there any reason you're using a graphql request to check for active subscriptions instead of getting it from the billing object from the authenticate method?

    • @MarkCodesYoutube
      @MarkCodesYoutube 5 หลายเดือนก่อน

      No reason at all...you could equally use the billing object

    • @dan110024
      @dan110024 5 หลายเดือนก่อน

      @@MarkCodesTH-cam ah good. Wasn’t sure if there might have been a reason. On something slightly different - do you know if it’s possible to get the current usage of a usage based plan? I cant seem to find any GraphQL objects with the current usage. I’m thinking I just have to keep track of it myself.

    • @MarkCodesYoutube
      @MarkCodesYoutube 5 หลายเดือนก่อน

      Do you mean how many people are subscribed to an app?

    • @dan110024
      @dan110024 5 หลายเดือนก่อน

      @@MarkCodesTH-cam no sorry, I mean in terms of usage based billing for the merchant. Shopify keeps track of the usage records that have been created, and the merchant can check this in Admin>Billing. I just don’t seem to see a way to retrieve that data. Will have another look at it tomorrow, but just wondered if you knew of it or not?

    • @MarkCodesYoutube
      @MarkCodesYoutube 5 หลายเดือนก่อน

      @dan110024 I’m still not quite sure if I get you but in your partner account for the app you can see install and uninstall history and payments etc

  • @benwilliamson1671
    @benwilliamson1671 6 หลายเดือนก่อน

    Another really useful video, thanks. Do you know how to trigger the web hook via the CLI? I keep getting a 404 error "Error: No route matches URL "/api/webhooks"

  • @benwilliamson1671
    @benwilliamson1671 6 หลายเดือนก่อน

    This was very helpful, are you still planning to do the follow up video?

    • @MarkCodesYoutube
      @MarkCodesYoutube 6 หลายเดือนก่อน

      Yes, the 2nd video with the meta fields based on billing status is on this channel

  • @timipopov3105
    @timipopov3105 6 หลายเดือนก่อน

    is this field available in the admin panel? Basically what i need is, when the user isntalls my app(plugin) i want to to add a field in the order details page and when i get the order i want to be able to see the data from that field in the response. How is this possible to achieve?

    • @MarkCodesYoutube
      @MarkCodesYoutube 6 หลายเดือนก่อน

      For that you're not going to want an app metafield you're going to want to programatically create a new one using graphql and CreateMetafieldDefinition shopify.dev/docs/api/admin-graphql/2024-01/mutations/metafieldDefinitionCreate - This will only create that metafield if it doesn't exist already and this will be accessible. It sounds like you'll then need to do something when a user orders to add the data to the metafield for that order (not too sure how to do that!)

    • @timipopov3105
      @timipopov3105 6 หลายเดือนก่อน

      @@MarkCodesTH-cam I will try it and let you know when I manage to do it! Thanks for the response and for this awsome video and keep up with these kinds of videos. The docs are terrible and this helps a lot!

    • @timipopov3105
      @timipopov3105 6 หลายเดือนก่อน

      This is the query that created the field for all orders. I'm planning to run it when the user installs the app so the metafields definitions are created and available. const response = await graphql( ` #graphql mutation CreateMetafieldDefinition( $definition: MetafieldDefinitionInput! ) { metafieldDefinitionCreate(definition: $definition) { createdDefinition { id name namespace } userErrors { field message code } } } `, { variables: { definition: { name: "Test field for pinned metafield", namespace: "$app:pinned", key: "pinnedField", description: "A list of ingredients used to make the product.", type: "multi_line_text_field", ownerType: "ORDER", access: { admin: "MERCHANT_READ_WRITE", }, pin: true, }, }, }, );

  • @kirilltereshchenko7151
    @kirilltereshchenko7151 6 หลายเดือนก่อน

    Great intro to billing!

  • @5minuteslogo
    @5minuteslogo 6 หลายเดือนก่อน

    is there a way to share the password of the billing? also how to add a second plan to access a checkout extension only?

    • @MarkCodesYoutube
      @MarkCodesYoutube 6 หลายเดือนก่อน

      I'm not sure what you mean by sharing password of the billing. If you were going to have a 2nd plan you'd probably need some kind of plan management section of your app but you could use the metafield outlined in this video and the billing setup outlined in my previous one to setup a checkout extension billing plan and use a metafielcd to conditionally show that extension...if that makes sense?

    • @5minuteslogo
      @5minuteslogo 6 หลายเดือนก่อน

      @@MarkCodesTH-cam sorry incorrect word. I mean if you have a sample of the code you used on video so its easier to copy it like on github.

  • @offthewallchess
    @offthewallchess 6 หลายเดือนก่อน

    Thank you for this!!! Very helpful! Been struggling with Billing API for a minute.

  • @ajhax4707
    @ajhax4707 6 หลายเดือนก่อน

    Nice video !! Our shopify app is approved but the theme extension works with development stores only the app block section don’t show on live store, Any idea why is that?

    • @MarkCodesYoutube
      @MarkCodesYoutube 6 หลายเดือนก่อน

      Does the extension appear in your app settings when you log in as a partner? It could be that the extension hasn't been published

    • @ajhax4707
      @ajhax4707 6 หลายเดือนก่อน

      @@MarkCodesTH-cam yes it shows under extensions in partner account

    • @MarkCodesYoutube
      @MarkCodesYoutube 6 หลายเดือนก่อน

      @@ajhax4707 That's odd...what does the schema for your extension look like?

    • @ajhax4707
      @ajhax4707 6 หลายเดือนก่อน

      This is our star_rating.liquid file

  • @govindsingh1709
    @govindsingh1709 6 หลายเดือนก่อน

    metafields and their values can be updated from the admin dashboard ?

    • @MarksTechVlogs
      @MarksTechVlogs 6 หลายเดือนก่อน

      Not all metafields...so the app specific metafield I show in this video cannot be updated by the shop owner, only in code

  • @MarkCodesYoutube
    @MarkCodesYoutube 7 หลายเดือนก่อน

    Found this helpful? Buy me a Beer! buymeacoffee.com/marktiddy

  • @MarkCodesYoutube
    @MarkCodesYoutube 7 หลายเดือนก่อน

    Found this helpful? Buy me a Beer! buymeacoffee.com/marktiddy

  • @justdoitk
    @justdoitk 7 หลายเดือนก่อน

    Great tutorial, thanks. How do you can save in database once the customer approve billing app?

    • @MarkCodesYoutube
      @MarkCodesYoutube 7 หลายเดือนก่อน

      I've got a billing video coming out today...you don't actually need to save it in the database you can check via GraphQl and subscribe to a web hook!

  • @k40L1n
    @k40L1n 7 หลายเดือนก่อน

    Nice video. Good insights. Please do make more such videos.

  • @bestmotivationspeekar4384
    @bestmotivationspeekar4384 8 หลายเดือนก่อน

    pless make production lave v ideo

  • @bestmotivationspeekar4384
    @bestmotivationspeekar4384 8 หลายเดือนก่อน

    bro how can uase custum api with authinciate