Socket
Socket
Sign inDemoInstall

apple-pay-server-client

Package Overview
Dependencies
0
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    apple-pay-server-client

Simple http client to retrieve Apple Pay Payment Session


Version published
Weekly downloads
2
decreased by-75%
Maintainers
1
Install size
7.59 kB
Created
Weekly downloads
 

Readme

Source

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

Keywords

FAQs

Last updated on 05 Oct 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc