Square Subscription Plans API - Can we differentiate the Trial phase and normal phase in the PLAN API response?

We are integrating Square with Salesforce. So we are syncing Square Plans and related Subscriptions into Salesforce. And we are using CATALOG object API to fetch the Plans.

Doubts:

  1. SUBSCRIPTION_PLAN response has PHASES which will store the plan price information. This also contains the TRIAL Info. Can we differentiate the Trial phase and normal phase in the API?

  2. By default in the Square Dashboard and API, if we choose one PLAN then default phase amount will populate. How to know the default price for that Plan in the API? we need this information as we will implement same subscription creation from salesforce.

  3. I am able to create multiple phases from the API. And not able to see them in the Square dashboard. Why is this?

Can you please reply with these answers ASAP?

Thank you

The plan phases will have all the information including the amount, cadence, and periods. For example:

 "phases": [
          {
            "cadence": "WEEKLY",
            "periods": 6,
            "recurring_price_money": {
              "amount": 0,
              "currency": "USD"
            }
          },
          {
            "cadence": "MONTHLY",
            "recurring_price_money": {
              "amount": 6000,
              "currency": "USD"
            }
          }
        ]
      }
    }
  }

What’s the plan_id that you created that you don’t see in the Dashboard? :slightly_smiling_face:

Actually, if you observe my questions, those are all related to the PHASES, not Plans. So could you answer them clearly?

I have seen Ordinal field in the Phases response. Are you using this field to pre-populate the default phase while creating subscription?
I have observed that if Ordinal value having highest value, then that will be considered as default one. Can you please confirm this?

Can we use the Ordinal field value to differentiate this? if the ordinal value is 0 then that will be trial information.

phases: [
{
uid: “KZ5IQPC4ZBMZCB6NGIXSA3MF”,
cadence: “DAILY”,
periods: 14,
recurring_price_money: {
amount: 0,
currency: “USD”
},
ordinal: 0
},
{
uid: “JW64EDGRROWVSEG26IJDBMQG”,
cadence: “QUARTERLY”,
periods: 5,
recurring_price_money: {
amount: 50000,
currency: “USD”
},
ordinal: 1
}
]

Yes, you can use the ordinal to differentiate the various phases of a subscription plan. Generally, the highest ordinal will be the default amount of the subscription. :slightly_smiling_face:

Thanks for the confirmation.

Could you also confirm that if the ordinal value is 0, that is trial info?

A plan can have one ordinal which would then be the default and therefore would be the 0 ordinal. Also a seller has a lot of options on how they’d like to structure their plans. For example they can have the 0 ordinal at a higher price then the base amount of ordinal 1 and so on for a subscription. So there’s really no true way to know if ordinal 0 is in fact a free trial. :slightly_smiling_face:

Then can you let me know is there any way to identify the trial info?

A trial isn’t an object of a subscription. Its a commonly used term that’s associated to a subscription for the name of a phase of a subscription. You’ll probably want to look for key words like “trial” or look to the amount of a phase to identify the trial phase of a subscription. I say this cause a seller can choose to make a plan any way they see fit and definitively identifying a trial period isn’t currently possible. :slightly_smiling_face: