apple-pay-server-client

1.0.9 • Public • Published

A simple and lightweight module for server side client to obtain Merchant Session Object

Introduction

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).

Installation

npm install apple-pay-server-client

Usage

To use:

  • 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 = require('apple-pay-server-client');
 
// 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 parameters
var 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 instead
    certP12: "../Path/To/My/PKCS/file.p12",
    passphrase: '123321'
};
var client = applePayServerClient.createClient(options);
// 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 method
client.claimSession('https://wp.pl')
    .then((merchantSessionObject) => {
        console.log("Got Merchant Session Object from Apple's servers", merchantSessionObject);
    })
    .catch((error) => {
        console.error(error)
    });
//...
// from now one use the session object to make payment
// ...

Changelog

  • v1.0.0 - initial version

Package Sidebar

Install

npm i apple-pay-server-client

Weekly Downloads

1

Version

1.0.9

License

MIT

Unpacked Size

7.77 kB

Total Files

4

Last publish

Collaborators

  • grulka