Made complimentary_plan & stripe_customer_id exclusive

no-issue

When importing Members it is possible to have both the
complimentary_plan and the stripe_customer_id columns set, this can
result in unusual outcomes, for example when importing a customer with a
zero-amount subscription, they would end up with two "comped"
subscriptions, and there would be two "comped" prices in the database.

As we are deprecating the use of "comped" in favour of creating a
subscription with a specific price, we're updating the import to prefer
`stripe_customer_id` column, only using the `complimentary_plan` column
when it is the only of the two columns passed.
This commit is contained in:
Fabien O'Carroll 2021-05-11 12:33:28 +01:00
parent ed0f90a82d
commit 41acc37865

View File

@ -136,16 +136,15 @@ module.exports = class MembersCSVImporter {
member = await membersApi.members.create(row, options);
}
if (row.complimentary_plan) {
await membersApi.members.setComplimentarySubscription(member, options);
}
if (row.stripe_customer_id) {
await membersApi.members.linkStripeCustomer({
customer_id: row.stripe_customer_id,
member_id: member.id
}, options);
} else if (row.complimentary_plan) {
await membersApi.members.setComplimentarySubscription(member, options);
}
await trx.commit();
return {
...resultAccumulator,