A simple and lightweight module for server side client to obtain Merchant Session Object
A simple and lightweight module for server side client to obtain Merchant Session Object which is a part of Apple Pay Js Api. (https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api). The client handles communication to the Apple Pay payment session endpoint as described in https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session.
To sum up - it takes your apple merchant details and generated validation url and as a result results an Apple Merchant Session object (provided that all data that was given is valid).
npm install apple-pay-server-client
- configure your apple merchant account and certificates as described in https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api
- put your Apple Pay Merchant Identity Certificate on your server so it is accesible by the code you plan to write
- require module
- create new instance of server client and provide necessary setting options such as your apple account details (merchant identifier, domain name etc), Merchant Identity Certificate path as well as passphrase to the cert
- call claimSession method providing as an input dynamic validation URL that was received by your frontend js code from the Apple Pay Js Api. When resolved successfully Apple Merchant Session Object will be returned that can be used in further payment processing with your payment provider.
Create new instance
var applePayServerClient = ;// notice https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/requesting_an_apple_pay_payment_session for// description of request parametersvar options =merchantIdentifier: "my.merchant.identifier.from.apple"displayName: "My Great Store"initiative: "web"initiativeContext: "my.domain.com"//keyPath: "../Path/To/My/Private/Key", - optional, use this or certP12 instead//certPath: "../Path/To/My/PEM/Cert", - optional, use this or certP12 insteadcertP12: "../Path/To/My/PKCS/file.p12"passphrase: '123321';var client = applePayServerClient;// from now on you can claim Apple Merchant Session
Claim Apple Merchant Session
// ... here you generate on the browser side the validationURL (https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_js_api/providing_merchant_validation)// now having validationURL and ready to use client we can call claimSession methodclient;//...// from now one use the session object to make payment// ...
- v1.0.0 - initial version