npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@nuskin/payment-profile-sdk

v1.1.2

Published

Client SDK for the payment profile service

Downloads

871

Readme

@nuskin/payment-profile-sdk

This SDK provides functions and data types for working with the Payment Profile API.

Installing

Usng npm:

npm add @nuskin/payment-profile-sdk

Usng yarn:

yarn add @nuskin/payment-profile-sdk

Example Usage

import { PaymentProfileClient } from "@nuskin/payment-profile-sdk";

const client = new PaymentProfileClient({
  env: "prod",
  userSapId: "US12345678",
  userEid: "aBcD...1234",
  clientId: "1a2b...9e0f",
  clientSecret: "aaff...8080",
  market: "US",
  language: "en"
});

Parameters:

  • env: (REQUIRED) runtime environment ("dev", "test", or "prod")
  • userSapId: (REQUIRED) SAP ID of the user
  • userEid: (REQUIRED) EID auth token of the user
  • clientId: (REQUIRED) client ID
  • clientSecret: (REQUIRED) client secret
  • market: (REQUIRED) market country code
  • language: (REQUIRED) market language code
  • paymetricMerchantGuid: (OPTIONAL) Paymetric merchant GUID; required only for payment tokenization

Get available payment types

This method retrieves a list of the payment types (e.g. VISA, MasterCard, SEPA, etc.) that are available for use in a given shopping context.

const paymentTypes = await client.getPaymentTypesByContext({
  market: "NL",
  shipToCountry: "BE",
  shopContext: "PROFILE",
  orderType: "NO CONTEXT",
  isSignup: false
})

Parameters:

  • market {string}: (OPTIONAL) market country code, if different from the payment profile client's market country code
  • shipToCountry {string}: (OPTIONAL) country code to which orders would be shipped, if different from the market country code
  • shopContext {string}: (OPTIONAL) shopping context for orders
  • orderType {string}: (OPTIONAL) order type
  • isSignup {boolean}: (OPTIONAL) flag indicating that this is a signup context

Resolves to a list of Payment Type objects.

Get Saved Payments

This method retrieves a list of the user's saved payment methods.

const payments = await client.getSavedPayments();
const payments = await client.getSavedPayments({
  includeAll: true
});

Parameters:

  • includeAll {boolean}: (OPTIONAL): Flag indicating that the returned saved payments should include all payment types, specifically those like WIRE and SEPA that would normally be omitted.

Resolves to a list of Payment objects.

Save New Payment

This method saves a new payment method to the user's profile.

const newPayment = {
  paymentTypeId: 2,
  paymentName: "John Doe",
  paymentNumber: "1234567890123456",
  paymentPostalCode: "9001",
  /* ... */
};

const savedPayment = await client.createPayment(newPayment);

Accepts a Payment Draft object and resolves to a Payment object.

Update Saved Payment

This method updates a saved payment method.

const paymentToUpdate = {
  bePaymentTypeId: 314159
  paymentTypeId: 0,
  paymentName: "John Doe",
  paymentNumber: "*********1234",
  expMonth: "08",
  expYear: "29"
  /* ... */
};

const updatedPayment = await client.updatePayment(paymentToUpdate);

Accepts a Payment object and resolves to a Payment object.

Delete Saved Payment

This method deletes a saved payment method from the user's profile.

const paymentToDelete = {
  bePaymentTypeId: 314159
  paymentTypeId: 0,
  paymentName: "John Doe",
  paymentNumber: "*********1234",
  expMonth: "08",
  expYear: "29"
  /* ... */
};

await client.deletePayment(paymentToDelete.bePaymentTypeId);

Accepts the BE Payment Type ID (bePaymentTypeId) field of the payment method to delete. Resolves when the payment method is deleted successfully.

Tokenize Payment Number

This method converts a given payment number to a token that can be used in that payment number's place.

const tokenizedPaymentNumber = await client.tokenizePaymentNumber("1234567890123456");

Accepts a payment number (e.g. a CC number or IBAN) as a string and resolves to a token as a string.

List of Payment Types

The SDK exposes an object containing the IDs of all supported payment types:

import { PaymentTypes } from "@nuskin/payment-profile-sdk";

PaymentTypes.VISA // = 0

PaymentTypes.MC // = 1

PaymentTypes.JCB // = 21

PaymentTypes.SDD // = 54

PaymentTypes.CITI // = 121

List of Credit Card Payment Types

The SDK also exposes a list of the payment type IDs of all credit-card payment types:

import { CreditCardPaymentTypeIds } from "@nuskin/payment-profile-sdk";

CreditCardPaymentTypeIds; // [0, 1, 2, 3, 21, ...]

Data Types

This SDK uses the following data types.

Payment Type

Object representing a payment type and its settings.

  • id {number}: Payment type ID.
  • ofsId {string}: Payment type OFS ID.
  • blocked {boolean}: Flag indicating that this payment type is blocked.
  • processorCode {string}: Payment processor for this payment type.
  • formName {string}: Name of the payment form used with this payment type.
  • paymentClass {string}: Payment class.
  • localizedName {string}: Payment type's localized name.
  • installmentsAllowed {boolean}: Flag indicating that installments are allowed with this payment type.
  • binListInstallmentCheck {boolean}: Flag indicating that a BIN list installment check is required.
  • cvvRequired {boolean}: Flag indicating that a CVV code is required with this payment type.
  • needsTokenization {boolean}: Flag indicating that this payment type requires tokenization.
  • hideInstallmentOptions {boolean}: Flag indicating that installment options should be hidden.
  • updateTimestamp {number}: timestamp when this payment type information was last updated.
  • context {string}: context code to which this payment type information applies.

Payment Draft

Object representing a new payment method to be saved.

  • paymentTypeId {number}: ID of the payment type.
  • paymentName {string}: (OPTIONAL) Payment name or billing name.
  • paymentNumber {string}: (OPTIONAL) CC or IBAN number. Saved payments are returned with this field masked.
  • expMonth {string}: (OPTIONAL) Two-digit string representing the month this payment expires. Examples: "01" = January, "12" = December.
  • expYear {string}: (OPTIONAL) Two-digit string representing the year this payment expires. Examples: "99" = 1999, "00" = 2000, "25" = 2025.
  • address1 {string}: (OPTIONAL) Billing address line 1.
  • address2 {string}: (OPTIONAL) Billing address line 2.
  • city {string}: (OPTIONAL) Billing address city.
  • district {string}: (OPTIONAL) Billing address distric/county name.
  • region {string}: (OPTIONAL) Billing address region/state code.
  • paymentPostalCode (OPTIONAL) {string}: Billing address postal code.
  • countryCode {string}: (OPTIONAL) Billing address country code.
  • email {string}: (OPTIONAL) Billing email address.
  • phone {string}: (OPTIONAL) Billing phone number.
  • ccToken {string}: (OPTIONAL) Tokenized CC or IBAN number.
  • defaultPayment {boolean}: (OPTIONAL) Flag indicating that this is the user's default payment method.
  • storedCredentialsAgreementDate {string}: (OPTIONAL) Date when the stored credentials agreement was signed.
  • storedCredentialsNetworkTransactionId {string}: (OPTIONAL) ID of the stored credentials network transaction.

Payment

Object representing a saved payment method.

  • bePaymentTypeId {number}: ID of this payment. Assigned by the server. Do not alter.
  • paymentTypeId {number}: ID of the payment type.
  • paymentTypeDescription {string}: (OPTIONAL) localized description of the payment type.
  • paymentName {string}: (OPTIONAL) Payment name or billing name.
  • paymentNumber {string}: (OPTIONAL) CC or IBAN number. Saved payments are returned with this field masked.
  • expMonth {string}: (OPTIONAL) Two-digit string representing the month this payment expires. Examples: "01" = January, "12" = December.
  • expYear {string}: (OPTIONAL) Two-digit string representing the year this payment expires. Examples: "99" = 1999, "00" = 2000, "25" = 2025.
  • address1 {string}: (OPTIONAL) Billing address line 1.
  • address2 {string}: (OPTIONAL) Billing address line 2.
  • city {string}: (OPTIONAL) Billing address city.
  • district {string}: (OPTIONAL) Billing address distric/county name.
  • region {string}: (OPTIONAL) Billing address region/state code.
  • paymentPostalCode (OPTIONAL) {string}: Billing address postal code.
  • countryCode {string}: (OPTIONAL) Billing address country code.
  • email {string}: (OPTIONAL) Billing email address.
  • phone {string}: (OPTIONAL) Billing phone number.
  • ccToken {string}: (OPTIONAL) Tokenized CC or IBAN number.
  • defaultPayment {boolean}: (OPTIONAL) Flag indicating that this is the user's default payment method.
  • storedCredentialsAgreementDate {string}: (OPTIONAL) Date when the stored credentials agreement was signed.
  • storedCredentialsNetworkTransactionId {string}: (OPTIONAL) ID of the stored credentials network transaction.