Found via chatting with Prospress.
PPEC v. 1.5.6
Subscriptions v. 2.2.21
WCS v. 1.14.1
WC 3.4.2
Steps to Reproduce:
When authorizing via existing or manually:
Link to screenshot: http://cld.wthms.co/Vh2R7g
Button shows in cart for Subs product:
Link to screenshot: http://cld.wthms.co/sCsuZv
When authenticating via WCS:
Link to screenshot: http://cld.wthms.co/9Zh8ua
Button is gone for Subs products:
Link to screenshot: http://cld.wthms.co/y2jGvz
@dechov I've set this up on the test site for WCS, and it seems to be working here without a problem. Is it only with the live creds that this is an issue @yukikatayama?
Product: https://a8c-wcs-support.mystagingwebsite.com/product/book/
Cart: https://a8c-wcs-support.mystagingwebsite.com/cart/
Link to image here: http://cld.wthms.co/9oCWgD.
If that API via WCS is indeed the issue, @dechov where can we test that?
UPDATE: Tested it with another site connecting to WCS and there it indeed gives issues.
@jobthomas yes, thanks for pointing that out - it is indeed when using live creds.
FWIW, a temp solution is to disconnect via WCS and just connect with a PP account.
@dechov - this is what's causing the PayPal button to disappear: https://github.com/Automattic/woocommerce-services/blob/master/classes/class-wc-connect-paypal-ec.php#L121
It checks if $feature is products but in this case, it's subscriptions. Not sure how much of it is by design.
Apologies for the late follow-up.
As @marcinbot pointed out, subscriptions are explicitly _not supported_ in the WCS integration because the merchant would need to have an account with permissions given by us in order to use Reference Transactions. As far as I understand, you need to have Reference Transactions enabled on your PayPal account in order for recurring payments to work [#].
Note: refunds are also explicitly not allowed for the same reason, but unlike with subscriptions, this is communicated in context:

We should probably add messaging for subscriptions somewhere, to let the merchant know they'll need to have an account linked with Reference Transactions enabled.
As a reference, I see that this message is displayed from the WooCommerce Subscriptions plugin after attempting a recurring payment with PPEC (with an account linked):

Also please do let me know if I am misunderstanding something and/or if there are in fact cases in which subscriptions are expected to work without a linked PayPal account that has Reference Transactions explicitly enabled.
I see that this message is displayed from the WooCommerce Subscriptions plugin after attempting a recurring payment with PPEC
That message relates to the built-in PayPal integration. It's not related to the PPEC integration in the PPEC plugin or _WC Services_.
let me know if I am misunderstanding something and/or if there are in fact cases in which subscriptions are expected to work without a linked PayPal account that has Reference Transactions explicitly enabled.
Subscriptions has built-in PayPal integration for PayPal Standard and Reference Transactions via Express Checkout. It will use the former until Reference Transactions support is detected on the account, after which, it switches to the later. This is largely irrelevant in the context of this particular button showing/not showing, and the _Services_ integration though.
It sounds like the issue here is that @yukikatayama's PayPal account doesn't support Reference Transactions, so subscription transactions are not possible.
The PPEC plugin could do something similar to Subscriptions to workaround the RT approval requirements, like supporting _Recurring Payment Profiles_ until RT support is detected. But it's an ordeal using APIs like that, or PayPal Standard Subscriptions, where two sets of the subscription data need to be kept in-sync, so I don't recommend it.
Instead, I agree with this:
We should probably add messaging for subscriptions somewhere, to let the merchant know they'll need to have an account linked with Reference Transactions enabled.