Fabien O'Carroll
2c4732b46d
Published new versions
...
- @tryghost/magic-link@0.2.1
- @tryghost/members-api@0.8.0
- @tryghost/members-ssr@0.7.0
2019-10-09 10:51:35 +07:00
Fabien O'Carroll
2d058d8a47
Refactored updateSubscription to fetch payment info
...
no-issue
2019-10-09 10:48:57 +07:00
Fabien O'Carroll
5a0adce65d
Inverted active check for subscriptions
...
no-issue
This is more explicit about what we consider to be an active subscription
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
5a17327a93
Improved error logging for webhook handling
...
no-issue
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
310972f73c
Updated signatures for get/set metadata
...
no-issue
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
4c4cc90d05
Added the extra events to the stripe webhook
...
no-issue
* customer.subscription.deleted - when a subscription is cancelled
* customer.subscription.updated - when a subscription status/plan changes
* invoice.payment_succeeded - when a subscription has successfully renew
* invoice.payment.failed - when a subscription has failed to renew
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
6fc6718735
Renamed addCustomerToMember to updateCustomer
...
no-issue
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
8829b545a9
Updated handleStripeWebhook middleware
...
no-issue
This adds the handlers for the new events we want to listen to
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
68d65c905a
Added webhook handlers for subscription lifecycle events
...
no-issue
We will need these to keep our metadata in sync with stripe
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
6806505a4c
Updated stripe to store and retrieve from metadata
...
no-issue
This means that we will not have to make api requests to find out the
customers subscriptions
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
d11a0db726
Refactored some private methods for stripe
...
no-issue
This is to expose a clearer contract with the outside world
2019-10-09 10:46:55 +07:00
Fabien O'Carroll
e6c8f77d4e
Removed cookie based caching
...
no-issue
This was just a temporary stopgap. The correct solution is to cache in the backend
2019-10-09 10:46:55 +07:00
Renovate Bot
baee3ad0ac
Update dependency @types/node to v12.7.11
2019-10-08 18:19:58 +07:00
Renovate Bot
56c892e7ed
Update dependency @types/cookies to v0.7.4
2019-10-08 14:34:19 +07:00
Fabien O'Carroll
3d7c28a7f9
Published new versions
...
- @tryghost/members-api@0.7.7
2019-10-06 21:19:23 +07:00
Fabien O'Carroll
d6cb2ca796
Defaulted allowSelfSignup to true
...
no-issue
This is to keep backwards compatibility
2019-10-06 21:18:09 +07:00
Fabien O'Carroll
1208b41b9f
Added allowSelfSignup options to auth config
...
no-issue
This flag is used to allow the sendMagicLink middleware to send an email
to members which do not yet exist. When this flag is set to false, the
only way to create members, would be via the stripe webook, or via the
`create` method exposed on the `members` object
2019-10-06 21:18:09 +07:00
Fabien O'Carroll
a643b3ff1f
Sent "signup" emails when member created via stripe
...
no-issue
This is the correct email to send, as they are a new member
2019-10-06 21:18:09 +07:00
Fabien O'Carroll
355dd8b501
Corrected logic to send signin/signup emails
...
no-issue
This ensures that existing members recieve "signin" emails and new
members recieve "signup" (or "subscribe") emails
2019-10-06 21:18:09 +07:00
Fabien O'Carroll
3550452cd5
Published new versions
...
- @tryghost/members-api@0.7.6
2019-10-03 17:23:21 +07:00
Fabien O'Carroll
dd566b3d29
Added support for custome success/cancel urls
...
no-issue
This will allow clients to customise where they are redirecting to after
the stripe checkout session is exited.
2019-10-03 17:22:29 +07:00
Fabien O'Carroll
88832fa923
Published new versions
...
- @tryghost/members-api@0.7.5
- @tryghost/members-ssr@0.6.0
2019-10-02 18:21:10 +07:00
Fabien O'Carroll
d02bab7ea8
Made sure we throw an error for invalid session
...
no-issue
2019-10-02 18:19:39 +07:00
Fabien O'Carroll
a6adfdd92c
Protected against missing member for id token
...
no-issue
If a cookie still exists after a member has been deleted we can have
some strange requests, this just ensures that we check for existence.
2019-10-02 18:19:39 +07:00
Fabien O'Carroll
af25cfb619
Added interval, currency and last4 to stripe data
...
no-issue
This is attached to each "stripe item" belonging to a member
2019-10-02 18:19:39 +07:00
Fabien O'Carroll
3861bf253c
Added options to stripe retrieve request
...
no-issue
This will allow us to expand sub objects when talking to stripe
2019-10-02 18:19:39 +07:00
Fabien O'Carroll
17a141f271
Published new versions
...
- @tryghost/members-api@0.7.4
2019-10-02 15:16:32 +07:00
Fabien O'Carroll
018471c07c
Fixed usage of updateMember to use id correctly
...
no-issue
2019-10-02 15:15:20 +07:00
Fabien O'Carroll
e54b61297c
Published new versions
...
- @tryghost/members-api@0.7.3
2019-10-02 15:06:10 +07:00
Fabien O'Carroll
071a54be7d
Called cancelAllSubscriptions when destroying member
...
no-issue
2019-10-02 15:05:12 +07:00
Fabien O'Carroll
6fe46a79f3
Added cancelAllSubscriptions method
...
no-issue
This gets all subscriptions, filters out ones which have already been
cancelled and cancels the rest
2019-10-02 15:05:12 +07:00
Fabien O'Carroll
18aeed905a
Refactored getActiveSubscriptions to getSubscriptions
...
no-issue
2019-10-02 15:05:12 +07:00
Fabien O'Carroll
ea5503f58d
Published new versions
...
- @tryghost/members-api@0.7.2
2019-10-02 13:52:10 +07:00
Fabien O'Carroll
561493bfb2
Added debugs and improved getCustomer handling
...
no-issue
This adds more debugs so we can follow what's happening and also adds
better handing for failures when getting a customer from stripe
2019-10-02 13:47:37 +07:00
Fabien O'Carroll
1c3e563ad7
Improved logging for members-api
...
no-issue
This allows the logger to be passed in, and configures stripe to have access to it
2019-10-02 13:47:37 +07:00
Fabien O'Carroll
80f1155590
Ensured we do not create multiple webhooks on boot
...
no-issue
This updates the initialisation logic to fetch all webhooks (we use
limit: 100, and there are currently a max of 16 webhooks in stripe) and
find one with the corrct url. Once found, delete that webhook. We then
attempt to create a new one, and log out any errors (this is to allow
for local development, creating a webhook with a local url is expected
to fail)
2019-10-02 13:47:37 +07:00
Fabien O'Carroll
48cb8d14da
Wrapped getCustomer in try catch
...
no-issue
This protects against live/test mode poisoned databases
2019-10-02 13:47:37 +07:00
Fabien O'Carroll
d1b29fd0b7
Added list and update stripe requests
...
no-issue
These will be used for listing and updating webhooks on configuration
2019-10-02 13:47:37 +07:00
Fabien O'Carroll
11a5a9ac69
Published new versions
...
- @tryghost/members-api@0.7.1
2019-10-01 17:48:31 +07:00
Fabien O'Carroll
0b5a70dcf4
Added default options param for users#create
...
no-issue
This allows create to have an optional second parameter, so that it
doesn't error when called with just data.
2019-10-01 17:42:22 +07:00
Fabien O'Carroll
d85ea20ad2
Published new versions
...
- @tryghost/magic-link@0.2.0
- @tryghost/members-api@0.7.0
2019-10-01 14:47:27 +07:00
Fabien O'Carroll
ece58fe9fd
Pass through getText and getHTML function from mail
...
no-issue
This will allow consumers of this module to customise the content of emails
2019-10-01 14:46:17 +07:00
Fabien O'Carroll
b852de95c8
Updated members-api to pass the emailType to magic-link
...
no-issue
This will allow requests to send the correct email
2019-10-01 14:46:17 +07:00
Fabien O'Carroll
d2634c7c7b
Added type param to content generation functions
...
no-issue
This will allow conditional logic based on the type passed to sending the magic-link
2019-10-01 14:46:17 +07:00
Fabien O'Carroll
5170c7c1d4
Published new versions
...
- @tryghost/magic-link@0.1.4
- @tryghost/members-api@0.6.2
- @tryghost/members-ssr@0.5.2
2019-10-01 11:21:07 +07:00
Fabien O'Carroll
8422a2f28d
Fixed signature for listMembers call
...
no-issue
2019-10-01 11:02:54 +07:00
Fabien O'Carroll
957a0df658
Ensured falsy values not returned from cache cookie
...
no-issue
2019-09-30 12:10:29 +07:00
Fabien O'Carroll
ab4493db5f
Ensured falsy values are not set as cookies
...
no-issue
2019-09-30 12:10:29 +07:00
Renovate Bot
0a0caca573
Update dependency @types/node to v12.7.8
2019-09-30 11:20:50 +07:00
Renovate Bot
f404e2bd1a
Update dependency @types/cookies to v0.7.3
2019-09-30 02:32:14 +00:00
Renovate Bot
ab023e1df9
Update Test & linting packages
2019-09-30 01:35:30 +00:00
Fabien O'Carroll
f966907c78
Published new versions
...
- @tryghost/members-api@0.6.1
2019-09-26 17:14:08 +07:00
Fabien O'Carroll
530390124b
Added flag to create member for sending email
...
no-issue
This allows us to give more functionality to consumers, with a smaller
API (rather than exposing the methods for sending a magic-link email)
2019-09-26 17:11:17 +07:00
Fabien O'Carroll
ff0dc6a168
Published new versions
...
- @tryghost/magic-link@0.1.3
- @tryghost/members-api@0.6.0
- @tryghost/members-ssr@0.5.1
2019-09-25 17:13:00 +07:00
Fabien O'Carroll
acf01e9065
Updated members-api to export POJO
...
no-issue
Previously members-api exported a pre configured express router with the
paths and handlers defined. This did not allow for much control from the
parent application. This replaces this pattern by exposing middlewares,
which the parent application can mount where it sees fit.
2019-09-25 16:53:08 +07:00
Fabien O'Carroll
d67ad13057
Updated handler for checkout to not require member
...
no-issue
This will allow the flow to start from the frontend.
2019-09-25 16:53:08 +07:00
Fabien O'Carroll
f7630ec05b
Updated createCheckoutSession to work w/o member
...
no-issue
This will allow us to do a payment first flow, in which a payment is
taken, before creating a member
2019-09-25 16:53:08 +07:00
Fabien O'Carroll
0527304376
Updated stripe to setAppInfo and apiVersion
...
no-issue
2019-09-25 11:35:58 +07:00
Fabien O'Carroll
6722d3bc8a
Ensured member is not linked to customer twice
...
no-issue
Edge case but easy to solve - so we dun it
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
db42b35e9f
Added handler for checkout.session.completed
...
no-issue
This will link the customer from the checkout session to the member with
the same email
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
ed4dfd8d54
Updated users module to use getActiveSubscriptions
...
no-issue
This offloads some stripe specific logic into the stripe module
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
314fd6a540
Added method for getting active subscriptions
...
no-issue
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
a92d5f064b
Added method for getting stripe customer for member
...
no-issue
This finds the first active customer that is linked to the member, and
created and links a new customer if a viable one does not exist.
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
69abbc6fa2
Added method for linking customer to member
...
no-issue
Uses the metadata storage passed into stripe
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
9beb496bd1
Passed in metadata getter/setter to stripe
...
no-issue
This will be used to store information such as customer id
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
644fd71d4f
Removed unused getPublicConfig method from stripe
...
no-issue
Don't use it you lose it!
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
373f67a117
Added getCustomer method to stripe
...
no-issue
This uses the stripeRequests module directly since the customers api was
removed.
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
2849c647d6
Added parseWebhook method to stripe
...
no-issue
This uses the webhook secret and stripe module to validate the signature
and parse the body into an object
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
343fcecfff
Updated stripe to create webhook on boot configure
...
no-issue
This will allow us to a) have an endpoint to receive webhooks and b) get
hold of the webhook secret to validate the signature.
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
4dc42709c3
Removed superfluous stripe api modules
...
no-issue
This removes the subscription api as we are using stripe checkout to
generate those
This removes the customers api as we no longer need the deterministic
api for it
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
216ab072b4
Refactored users module to wrap all methods
...
no-issue
This also adds initial support for `update` user - which is not used
2019-09-25 11:20:02 +07:00
Fabien O'Carroll
f7b61e901d
Removed body-parser from router middleware
...
no-issue
Validating stripe webhooks requires the body as a buffer, so we can no
longer parse json body by default
2019-09-25 11:20:02 +07:00
Renovate Bot
82346ef67b
Pin dependencies
2019-09-24 12:18:18 +07:00
Renovate Bot
2c79eec311
Update dependency @types/jsonwebtoken to v8.3.4
2019-09-23 01:26:26 +00:00
Fabien O'Carroll
c4b2852572
Removed unecessary .gitkeep
2019-09-18 14:46:13 +08:00
Fabien O'Carroll
55d9bb670d
Removed unused packages
...
no-issue
These are not currently used, we can bring them back if we need them
again
2019-09-16 14:07:36 +08:00
Fabien O'Carroll
cb9f10e28d
Set unused modules to private
...
no-issue
This can be just temporary so that we are not generating a lot of noise
with constantly publishing these modules
2019-09-16 14:05:51 +08:00
Fabien O'Carroll
58cb25fe86
Published new versions
...
- @tryghost/magic-link@0.1.2
- @tryghost/members-api@0.5.3
- @tryghost/members-browser-auth@0.2.3
- @tryghost/members-gateway-api@0.1.7
- @tryghost/members-ssr@0.5.0
- @tryghost/members-theme-bindings@0.2.6
2019-09-16 14:01:13 +08:00
Fabien O'Carroll
49380c3dc4
Updated README for new members-ssr API
...
no-issue
2019-09-16 14:00:00 +08:00
Fabien O'Carroll
667061676b
Updated example.js to reflect new API
...
no-issue
2019-09-16 13:58:05 +08:00
Fabien O'Carroll
016422ce06
Updated members-ssr to use token from query string
...
no-issue
This changes the exchangeTokenForSession method to read the token from a
`token` query string, rather than from the request body.
This also includes a refactor to change MembersSSR into a class, and
document all methods with JsDoc type annotations which can be
interpreted by the typescript compiler
2019-09-16 13:58:05 +08:00
Fabien O'Carroll
e2d06307f2
Added tsconfig.json to members-ssr
...
no-issue
2019-09-16 13:58:05 +08:00
Fabien O'Carroll
55eb2e8919
Installed @types/{cookies,node} to members-ssr
...
no-issue
This is for the typescript compiler to give us correct types
2019-09-16 13:58:05 +08:00
Renovate Bot
b50b0faa40
Update dependency eslint to v6.4.0
2019-09-16 02:26:20 +00:00
Renovate Bot
12dfdc9b25
Update dependency @types/node to v12.7.5
2019-09-16 01:27:09 +00:00
Fabien O'Carroll
8b54a91b60
Published new versions
...
- @tryghost/members-api@0.5.2
2019-09-15 11:50:11 +08:00
Fabien O'Carroll
de0baded13
Logged error when sending email ( #62 )
...
no-issue
2019-09-15 11:48:11 +08:00
Fabien O'Carroll
b834c70559
Published new versions
...
- @tryghost/magic-link@0.1.1
- @tryghost/members-api@0.5.1
- @tryghost/members-auth-pages@1.1.3
- @tryghost/members-browser-auth@0.2.2
- @tryghost/members-gateway-api@0.1.6
- @tryghost/members-gateway-protocol@0.1.4
- @tryghost/members-ssr@0.4.0
- @tryghost/members-theme-bindings@0.2.5
2019-09-09 15:53:10 +08:00
Fabien O'Carroll
458bcf41fa
Stored cached member data in separate cookie
...
no-issue
This allows for simple trusted caching. We can still use the primary
cookie to determine whether or not a session exists, the cached cookie
can safely be deleted or ignored. This is an "progressive enhancement"
on top of the existing solution.
2019-09-09 15:51:20 +08:00
Fabien O'Carroll
d741cd9fba
Returned fully hydrated member object when creating member
...
no-issue
2019-09-09 15:51:20 +08:00
Renovate Bot
1e61c08c0c
Update dependency postcss-custom-properties to v9
2019-09-09 14:29:48 +08:00
Renovate Bot
84f9e69a50
Update dependency sinon to v7.4.2
2019-09-09 13:57:00 +08:00
Renovate Bot
ced9f1067d
Update dependency cssnano to v4.1.10
2019-09-09 05:17:38 +00:00
Renovate Bot
f5d3cd2be8
Update dependency postcss-css-variables to v0.13.0
2019-09-09 04:46:42 +00:00
Renovate Bot
8a93a747cf
Update dependency autoprefixer to v9.6.1
2019-09-09 02:34:11 +00:00
Renovate Bot
04d5f0b0b6
Update dependency @types/node to v12.7.4
2019-09-09 01:28:21 +00:00
Fabien O'Carroll
cb3cedd9df
Published new versions
...
- @tryghost/members-api@0.5.0
- @tryghost/members-ssr@0.3.1
2019-09-06 14:56:19 +08:00
Fabien O'Carroll
4ead495b45
Ensured that destroying member removes stripe customer
...
no-issue
This also mean sthe subscription will be cancelled
2019-09-06 14:30:27 +08:00
Fabien O'Carroll
ec3948287f
Added subscription data when fetching member
2019-09-06 14:30:27 +08:00
Fabien O'Carroll
4f1bc288c5
Added support for stripe checkout payments
2019-09-06 14:30:27 +08:00