Shopify 最近的 2020 年 7 月 API 更新允许应用按年计费,因此我一直在尝试向我的应用添加在按月计费和按年计费之间进行选择的选项。
我一直在尝试通过修改创建计费计划的 GraphQL 调用来实现此目的。
我一直在尝试几种不同的选项,但最合乎逻辑的选项似乎是添加一个额外的行项目。这可以将两个计划呈现到计费审批屏幕,但仍然无法在计划之间进行实际选择(显示两个计划的详细信息,但只有后一个选项实际上有效。
这是我一直在使用的代码:
const query = JSON.stringify({
query: `mutation {
appSubscriptionCreate(
name: "Basic Plan"
trialDays: 7
returnUrl: "${process.env.HOST}"
lineItems: [
{
plan: {
appRecurringPricingDetails: {
price: { amount: 4.99, currencyCode: USD }
}
}
plan: {
appRecurringPricingDetails: {
price: { amount: 49.99, currencyCode: USD }
interval: ANNUAL
}
}
}
]
) {
userErrors {
field
message
}
confirmationUrl
appSubscription {
id
}
}
}`
});
如果有任何建议,我会很高兴。
非常感谢!
您不能在 appSubscriptionCreate
突变中同时包含 每月 和
年度计划。
您应该将可用的计划(每月和每年)存储在数据库中,并显示计划页面供客户选择。
如果客户选择每月,您可以创建具有每月计划的应用程序订阅:
const query = JSON.stringify({
query: `mutation {
appSubscriptionCreate(
// other fields
lineItems: [
{
plan: {
appRecurringPricingDetails: {
price: { amount: 4.99, currencyCode: USD }
}
}
}
]
) {
userErrors {
field
message
}
confirmationUrl
appSubscription {
id
}
}
}`
});
如果客户选择年度,您可以使用年度计划创建应用程序订阅:
const query = JSON.stringify({
query: `mutation {
appSubscriptionCreate(
// other fields
lineItems: [
{
plan: {
appRecurringPricingDetails: {
price: { amount: 49.99, currencyCode: USD }
interval: ANNUAL
}
}
}
]
) {
userErrors {
field
message
}
confirmationUrl
appSubscription {
id
}
}
}`
});
请不要忘记包含年度计划的折扣。