I want to implement Apple Pay with JavaScript and Node.js on the server but I do not understand if I need a third party service (e.g. Stripe, etc) to process the payments.
The examples I saw include the creation of the session, validation, but at the pay step they make requests to Stripe/Braintree/etc.
Is it possible to talk to Apple Pay directly from the server side?
Detailed answer: Apple Pay is not a Payment Processor so you wouldn't be talking to them on the server side to actually process the transaction and get the funds into your account. For that you would need a merchant processing account from a Processor like Fiserv or a PayFac like stripe.
Apple does list on their site some processors that are already integrated with ApplePay. This means that these processors will do all the heavy lifting for you in regards to decrypting the ApplePay payload and properly processing the transaction.
The Do It Yourself option mentioned in the documentation refers to you be able to decrypt the ApplePay response on your own and pulling out the necessary fields needed to run a transaction. However to run the transaction you would need a merchant processing account and more specifically on a platform that supports network tokenization.
tl;dr At the very least you will need a merchant processing account however it would be much easier to use a supported processor that does most of the work for you.