Skip to content

macellan/masterpass-sdk

Repository files navigation

Macellan - MasterPass SDK

The Masterpass SDK provides a comprehensive set of features to interact with Masterpass services. This module includes utilities for handling various Masterpass-related tasks such as user registration, card management, transaction validation, and making purchases.

Features

  • 🛠️ Ease of Use : Simplifies interactions with the MasterPass Web SDK by removing the need to work with iframes and handling complex setups, presenting a straightforward API to accelerate development processes.

  • 🌍 Framework Agnostic: The SDK is compatible with any JavaScript framework such as React, React Native, Vue, Angular, or Vanilla JavaScript, providing a versatile solution regardless of the technological stack.

  • 💅 Type Safety: Fully supports TypeScript, offering a type-safe environment that helps in preventing many common bugs that can occur during development, ensuring more stable code.

Installation

npm install @macellan/masterpass-sdk
yarn add @macellan/masterpass-sdk

Usage

MasterPassSDK.setAddress('MASTERPASS_SERVICE_URL')
MasterPassSDK.setClientId('MASTERPASS_CLIENT_ID')

const registerResponse = await MasterPassSDK.register({
    msisdn: '1234567890', // Mobile number
    token: 'SOME_AUTH_TOKEN', // Authentication token received from your backend server
    rtaPan: '4512345678901234', // Real-time PAN (Primary Account Number) of the card
    expiryDate: '1224', // MMYY format
    accountAliasName: 'My Card', // A user-friendly name for the card
    sendSms: 'N', // Whether to send confirmation via SMS
    sendSmsLanguage: 'ENG', // Language of the SMS (often as language codes such as "ENG" for English)
    referenceNo: 'REF123456789', // Unique reference for the transaction
})

const listCardsResponse = await MasterPassSDK.listCards(
    '1234567890', // Mobile number
    'SOME_AUTH_TOKEN' // Authentication token received from your backend server
)

API Reference

  • setAddress(serviceUrl: string): void

    • Sets the address of the MasterPass service endpoint.
  • setClientId(clientId: string): void

    • Sets the client ID for interaction with MasterPass services.
  • checkMasterPass(data: CheckMasterPassData): Promise<CheckMasterPassResponse>

    • Checks the status with MasterPass using provided data.
    • Parameters:
      • data: CheckMasterPassData - Object containing user ID, token, etc.
  • listCards(msisdn: string, token: string): Promise<ListCardsResponse>

    • Lists all linked cards associated with the given mobile number.
    • Parameters:
      • msisdn: string - Mobile number.
      • token: string - Authentication token.
  • register(data: RegisterData): Promise<RegisterResponse>

    • Registers a new card with MasterPass.
    • Parameters:
      • data: RegisterData - Registration data like msisdn, token, etc.
  • validateTransaction(data: ValidateTransactionData): Promise<ValidateTransactionResponse>

    • Validates a transaction with the provided data.
    • Parameters:
      • data: ValidateTransactionData - Data for transaction validation.
  • deleteCard(data: DeleteCardData): Promise<DeleteCardResponse>

    • Deletes a card from the MasterPass database.
    • Parameters:
      • data: DeleteCardData - Information of the card to be deleted.
  • getLastToken(): string

    • Retrieves the last stored token.
  • resendOtp(sendSmsLanguage: string): Promise<ResendOtpResponse>

    • Resends the OTP for user verification.
    • Parameters:
      • sendSmsLanguage: string - Language code for the SMS.
  • linkCardToClient(data: LinkCardToClientData): Promise<LinkCardToClientResponse>

    • Links a card to a MasterPass client.
    • Parameters:
      • data: LinkCardToClientData - Data required for linking a card.
  • purchase(data: PurchaseData): Promise<PurchaseResponse>

    • Processes a purchase transaction.
    • Parameters:
      • data: PurchaseData - Data required for the purchase.
  • purchaseAndRegister(data: PurchaseAndRegisterData): Promise<PurchaseAndRegisterResponse>

    • Combines the actions of purchase and registration in a single step.
    • Parameters:
      • data: PurchaseAndRegisterData - Data for purchase and registration.
  • directPurchase(data: DirectPurchaseData): Promise<DirectPurchaseResponse>

    • Initiates a direct purchase without a pre-linked card.
    • Parameters:
      • data: DirectPurchaseData - Data required for direct purchase.
  • setAdditionalParameters(data: object): void

    • Sets additional parameters for configuration.
    • Parameters:
      • data: object - Parameters to be set.

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

This project is licensed under the MIT License.

About

Masterpass SDK for JavaScript.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •