Naughty Pterodactyl Maid

    @sourceallies/payment-gateway
    TypeScript icon, indicating that this package has built-in type declarations

    0.10.5 • Public • Published

    @sourceallies/payment-gateway

    Introduction

    npm version

    NPM package used to interface your website with Source Allies Payment Gateway. The developer documentation for this package can be found here. A tutorial of how to integrate Payment Gateway with your website can be found here.

    Enums

    Enumeration: Environment

    Index

    Enumeration members

    Enumeration members

    DEV

    DEV: = "DEV"


    LOCAL

    LOCAL: = "LOCAL"


    PROD

    PROD: = "PROD"


    QUAL

    QUAL: = "QUAL"

    Documentation - v0.10.5

    Index

    Enumerations

    Interfaces

    Type aliases

    Variables

    Functions

    Type aliases

    AccountType

    Ƭ AccountType: "checking" | "savings" | "businessChecking"

    Variables

    NUMBERS_REGEX

    Const NUMBERS_REGEX: RegExp = /^[0-9]+$/

    Functions

    buildApplePayRequestData

    buildApplePayRequestData(__namedParameters: { amount: string ; billTo: undefined | BillTo ; customer: undefined | Customer ; gatewayData: GatewayData ; lineItems: undefined | LineItemSingle[] | LineItemsRecurring[] ; order: Order ; paymentData: undefined | null | ApplePayPayment ; paymentSchedule: undefined | PaymentSchedule ; phoneNumber: undefined | string ; preferredName: undefined | string ; surcharge: undefined | ExtendedAmountType }): TransactionData | SubscriptionData | null

    Creates the TransactionData SubscriptionData object with the correct fields. paymentData is derived from the argument of the function you define for Apple Pay's applePaySession.onpaymentauthorized function. Apple Pay will pass in an event to the function you defined. This event will have a property called payment. event.payment is what needs to be passed as the paymentData argument of this function.

    If you do not specify the billTo parameter, the following fields are required for paymentData (Apple Pay may not set these values in event.payment):

    • paymentData.billingContact
    • paymentData.billingContact.givenName
    • paymentData.billingContact.familyName Leaving these fields out may cause unexpected behavior. See Apple Pay Web Reference for more details.

    If the lineItems parameter is not passed in, the following one will be added as a line item:

    listItems = [
        {
            itemId: 'invoice',
            name: 'Invoice Payment',
            unitPrice: parseFloat(requestData.amount),
            quantity: 1
        }
    ];

    This requires amount to be able to be parsed to a float. If it is not, null is returned.

    Return Value

    The return value is then used in processTransaction or processSubscription.

    Parameters:

    Name Type
    __namedParameters { amount: string ; billTo: undefined | BillTo ; customer: undefined | Customer ; gatewayData: GatewayData ; lineItems: undefined | LineItemSingle[] | LineItemsRecurring[] ; order: Order ; paymentData: undefined | null | ApplePayPayment ; paymentSchedule: undefined | PaymentSchedule ; phoneNumber: undefined | string ; preferredName: undefined | string ; surcharge: undefined | ExtendedAmountType }

    Returns: TransactionData | SubscriptionData | null

    The transaction data, subscription data, or null


    buildApplePayTransactionRequestData

    buildApplePayTransactionRequestData(paymentData: ApplePayPayment | null | undefined, gatewayData: GatewayData, amount: string, order: Order, customer?: Customer, lineItems?: LineItemSingle[], billTo?: BillTo): TransactionData | null

    deprecated please use processApplePayRequest

    Creates the TransactionData object with the correct fields. paymentData is derived from the argument of the function you define for Apple Pay's applePaySession.onpaymentauthorized function. Apple Pay will pass in an event to the function you defined. This event will have a property called payment. event.payment is what needs to be passed as the paymentData argument of this function.

    If you do not specify the billTo parameter, the following fields are required for paymentData (Apple Pay may not set these values in event.payment):

    • paymentData.billingContact
    • paymentData.billingContact.givenName
    • paymentData.billingContact.familyName Leaving these fields out may cause unexpected behavior. See Apple Pay Web Reference for more details.

    If the lineItems parameter is not passed in, the following one will be added as a line item:

    listItems = [
        {
            itemId: 'invoice',
            name: 'Invoice Payment',
            unitPrice: parseFloat(requestData.amount),
            quantity: 1
        }
    ];

    This requires amount to be able to be parsed to a float. If it is not, null is returned.

    Return Value

    The return value is then used in processTransaction.

    Parameters:

    Name Type Description
    paymentData ApplePayPayment | null | undefined The argument passed into Apple's applePaySession.onpaymentauthorized function.
    gatewayData GatewayData Your Payment Gateway partner information.
    amount string The monetary value of the transaction being processed. This must be in the form of a number.
    order Order An object containing the order description and invoice number.
    customer? Customer An object containing customer email.
    lineItems? LineItemSingle[] Line items you want included in the transaction.
    billTo? BillTo Bill to information for the paying user. This parameter is optional. If it is not specified, the bill to information will be built from paymentData.

    Returns: TransactionData | null

     Transaction data ready to be called with `processTransaction` if paymentData is not null,
     or returns null if amount is not a number or paymentData is null.
    

    buildApplePayValidationRequestData

    buildApplePayValidationRequestData(event: ApplePayValidateMerchantEvent | null | undefined, gatewayData: GatewayData, clientCanonicalName: string, context: string): ValidationData | null

    Builds the ValidationData object. This function should be called in the applepaysession.onvalidatemerchant function you define. The argument passed in to applepaysession.onvalidatemerchant should be passed in as the event parameter.

    Example Usage

    applepaysession.onvalidatemerchant = (event) => {
        const validationData = paymentGateway.buildApplePayValidationRequestData(
            event,
            gatewayData,
            clientCanonicalName,
            context
        );
        paymentGateway.validateApplePayRequest(callback, validationData, environment);
    }

    Return Value

    The return value is then used in validateApplePayRequest.

    Parameters:

    Name Type Description
    event ApplePayValidateMerchantEvent | null | undefined The event paramenter passed in to the applepaysession.onvalidatemerchant callback.
    gatewayData GatewayData Your Payment Gateway partner information.
    clientCanonicalName string The client canonical name you use for Apple Pay.
    context string The hostname of your website.

    Returns: ValidationData | null

     If event is null or missing property validationURL, null is returned.
    

    buildGooglePayRequestData

    buildGooglePayRequestData(__namedParameters: { amount: string ; billTo: undefined | BillTo ; customer: undefined | Customer ; gatewayData: GatewayData ; lineItems: undefined | LineItemSingle[] | LineItemsRecurring[] ; order: Order ; paymentData: undefined | null | PaymentData ; paymentSchedule: undefined | PaymentSchedule ; phoneNumber: undefined | string ; preferredName: undefined | string ; shipTo: undefined | ShipTo ; surcharge: undefined | ExtendedAmountType }): TransactionData | SubscriptionData | null

    Creates the TransactionData SubscriptionData object with the correct fields. paymentData is generated from Google's paymentsClient.loadPaymentData().

    If you do not specify the billTo parameter, the following properties are required for paymentData (Google Pay may not set these properties):

    • paymentData.paymentMethodData.info
    • paymentData.paymentMethodData.info.billingAddress
    • paymentData.paymentMethodData.info.billingAddress.name Leaving these fields out may cause unexpected behavior. Make sure billingAddressRequired is set to true in your card parameters if you are not passing in the billTo parameter. See Google Pay Web Reference for more details.

    If the lineItems parameter is not passed in, the following one will be added as a line item:

    lineItems = [
        {
            itemId: 'invoice',
            name: 'Invoice Payment',
            unitPrice: parseFloat(requestData.amount),
            quantity: 1
        }
    ];

    This requires amount to be able to be parsed to a float. If it is not, null is returned.

    Return Value

    The return value is then used in processTransaction or processSubscription.

    Parameters:

    Name Type
    __namedParameters { amount: string ; billTo: undefined | BillTo ; customer: undefined | Customer ; gatewayData: GatewayData ; lineItems: undefined | LineItemSingle[] | LineItemsRecurring[] ; order: Order ; paymentData: undefined | null | PaymentData ; paymentSchedule: undefined | PaymentSchedule ; phoneNumber: undefined | string ; preferredName: undefined | string ; shipTo: undefined | ShipTo ; surcharge: undefined | ExtendedAmountType }

    Returns: TransactionData | SubscriptionData | null

    The transaction data, subscription data, or null


    buildGooglePayTransactionRequestData

    buildGooglePayTransactionRequestData(paymentData: PaymentData | null | undefined, gatewayData: GatewayData, amount: string, order: Order, customer?: Customer, lineItems?: LineItemSingle[], billTo?: BillTo, shipTo?: ShipTo, phoneNumber?: undefined | string): TransactionData | null

    deprecated

    Please use buildGooglePayRequestData

    Creates the TransactionData object with the correct fields. paymentData is generated from Google's paymentsClient.loadPaymentData().

    If you do not specify the billTo parameter, the following properties are required for paymentData (Google Pay may not set these properties):

    • paymentData.paymentMethodData.info
    • paymentData.paymentMethodData.info.billingAddress
    • paymentData.paymentMethodData.info.billingAddress.name Leaving these fields out may cause unexpected behavior. Make sure billingAddressRequired is set to true in your card parameters if you are not passing in the billTo parameter. See Google Pay Web Reference for more details.

    If the lineItems parameter is not passed in, the following one will be added as a line item:

    lineItems = [
        {
            itemId: 'invoice',
            name: 'Invoice Payment',
            unitPrice: parseFloat(requestData.amount),
            quantity: 1
        }
    ];

    This requires amount to be able to be parsed to a float. If it is not, null is returned.

    Return Value

    The return value is then used in processTransaction or processSubscription.

    Parameters:

    Name Type Description
    paymentData PaymentData | null | undefined The object returned from Google's paymentsClient.loadPaymentData().
    gatewayData GatewayData Your Payment Gateway partner information.
    amount string The monetary value of the transaction being processed. This must be in the form of a number.
    order Order An object containing the order description and invoice number.
    customer? Customer An object containing customer email.
    lineItems? LineItemSingle[] Line items you want included in the transaction. This parameter is optional. If it is not specified, the default lineItems will be used.
    billTo? BillTo Bill to information for the paying user. This parameter is optional. If it is not specified, the bill to information will be built from paymentData.
    shipTo? ShipTo Ship to information for the paying user. This parameter is optional.
    phoneNumber? undefined | string Phone number provided by user on the form. This Parameter is optional.

    Returns: TransactionData | null

     Transaction data ready to be called with `processTransaction` if paymentData is not null,
     or returns null if amount is not a number or paymentData is null.
    

    buildRequestData

    buildRequestData(requestDataParams: RequestDataParams): RequestData | null

    Builds the RequestData object to be used in buildTransactionRequestData or buildSubscriptionRequestData. The only fields required for parament billTo are firstName and lastName. The paremeter customer is not required but must have a value passed in (i.e. null if you do not want to use it). The parameter order is only needed for a recurring transaction. Although these are optional, we highly recommend including all of them in all payments. *NOTE: If you are using this in a TypeScript node project, all the paremeters will be required except for the optional ones in the parameter billTo.

    Return Value

    The return value is then used in buildTransactionRequestData or buildSubscriptionRequestData

    Parameters:

    Name Type Description
    requestDataParams RequestDataParams An object containing the data from the form that has yet to be structured into a proper RequestData type.

    Returns: RequestData | null

     If response is null or it does not contain opaqueData, null is
     returned.
    

    buildSubscriptionRequestData

    buildSubscriptionRequestData(requestData: RequestData | null, gatewayData: GatewayData, paymentSchedule: PaymentSchedule, lineItems?: LineItemsRecurring[]): SubscriptionData | null

    Creates the SubscriptionData object containing the correct fields. requestData can be generated by calling buildRequestData.

    If the lineItems` parameter is not passed in, the following one will be added as a line item:

    listItems = [
        {
            itemCode: 'invoice',
            name: 'Invoice Payment',
            amount: parseFloat(requestData.amount),
            description: 'invoice payment'
        }
    ];

    This requires requestData.amount to be able to be parsed to a float. If it is not, null is returned.

    Return Value

    The return value is then used in processSubscription.

    Parameters:

    Name Type Description
    requestData RequestData | null The data needed to make the request.
    gatewayData GatewayData Your Payment Gateway partner information.
    paymentSchedule PaymentSchedule The schedule of the recurring payment.
    lineItems? LineItemsRecurring[] Line items you want included in the subscription.

    Returns: SubscriptionData | null

     If requestData is null, null is returned.
    

    buildTransactionRequestData

    buildTransactionRequestData(requestData: RequestData | null, gatewayData: GatewayData, lineItems?: LineItemSingle[]): TransactionData | null

    Creates the TransactionData object containing the correct fields. requestData can be generated by calling buildRequestData. If the lineItems parameter is not passed in, the following one will be added as a line item:

    lineItems = [
        {
            itemId: 'invoice',
            name: 'Invoice Payment',
            unitPrice: parseFloat(requestData.amount),
            quantity: 1
        }
    ];

    Return Value

    The returned value is then used in processTransaction.

    Parameters:

    Name Type Description
    requestData RequestData | null The data needed to make the request.
    gatewayData GatewayData Your Payment Gateway partner information.
    lineItems? LineItemSingle[] Line items you want included in the transaction.

    Returns: TransactionData | null

     If requestData is null, null is returned.
    

    encryptPaymentData

    encryptPaymentData(response: any | void, authorizeNetApiKey: string, paymentData: CardData | BankData): SecureData | null

    Creates the correct payment object to be used in the call to AcceptJS to encrypt the payment data. The paremeter response is the response body of getMerchantDetails.

    Parameters:

    Name Type Description
    response any | void The response body as a JavaScript object from HTTP request in getMerchantDetails.
    authorizeNetApiKey string Your Authorize.NET API key.
    paymentData CardData | BankData The card or bank payment data that will be used for the request.

    Returns: SecureData | null

     If response is void or does not have publicClientKey, null is
     returned.
    

    getMerchantDetails

    ConstgetMerchantDetails(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, gatewayData: GatewayData, env: Environment): void

    Makes an HTTP request to get the merchant details from Payment Gateway. When the response is received, callbackFunction is called with the XMLHttpRequest object as the parameter. The body of the HTTP request can then be parsed to JSON and used in encryptPaymentData.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    gatewayData GatewayData The gateway data for your Payment Gateway account.
    env Environment The environment of Payment Gateway you want the request sent to.

    Returns: void

    ConstgetMerchantDetails(gatewayData: GatewayData, env: Environment): Promise<XMLHttpRequest>

    Parameters:

    Name Type
    gatewayData GatewayData
    env Environment

    Returns: Promise<XMLHttpRequest>


    isBankDataValid

    isBankDataValid(bankData: BankData): boolean

    Checks if bank data could possibly be valid by doing basic validation of the account number and routing number. This function uses the Luhn Algorithm to check the account number and routing number.

    NOTE: this function does not check that the account is actually valid, only that it could be valid.

    Parameters:

    Name Type Description
    bankData BankData The card data to check.

    Returns: boolean

    True if the bank could be valid, false if not.


    isCardDataValid

    isCardDataValid(cardData: CardData): boolean

    Checks if a credit card could possibly be valid by doing basic validation of the card number, CSC, and expiration date. This function uses the Luhn Algorithm to check the card number.

    NOTE: this function does not check that the card is actually valid, only that it could be valid.

    Parameters:

    Name Type Description
    cardData CardData The card data to check.

    Returns: boolean

    True if the card could be valid, false if not.


    passesLuhnAlgorithm

    passesLuhnAlgorithm(number: string): boolean

    Checks if a number could possibly be valid by using the Luhn Algorithm. The number string passed in must contain only number characters. If there is a non-number character, there may be unexpected behaviors.

    Parameters:

    Name Type Description
    number string The number to check as a string.

    Returns: boolean

    True if the card number could be valid, false if not.


    processApplePayRequest

    processApplePayRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, applePayRequestParams: BuildApplePayRequestParams, env: Environment): void

    Wrapper function that calls buildApplePayRequestData then processTransaction or processSubscription. See those functions for additional information. This function calls processTransaction or processSubscription even if the return value from buildTransactionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    applePayRequestParams BuildApplePayRequestParams The payment parameters
    env Environment The environment of Payment Gateway you want the request sent to.

    Returns: void


    processApplePayTransactionRequest

    processApplePayTransactionRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, paymentData: ApplePayPayment | null | undefined, gatewayData: GatewayData, amount: string, order: Order, env: Environment, customer?: Customer, lineItems?: LineItemSingle[], billTo?: BillTo): void

    deprecated please use processApplePayRequest

    Wrapper function that calls buildApplePayTransactionRequestData then processTransaction. See those functions for additional information. This function calls processTransaction even if the return value from buildTransactionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    paymentData ApplePayPayment | null | undefined The argument passed into Apple's applePaySession.onpaymentauthorized function.
    gatewayData GatewayData Your Payment Gateway partner information.
    amount string The monetary value of the transaction being processed. This must be in the form of a number.
    order Order An object containing the order description and invoice number.
    env Environment The environment of Payment Gateway you want the request sent to.
    customer? Customer An object containing customer email.
    lineItems? LineItemSingle[] Line items you want included in the transaction.
    billTo? BillTo Bill to information for the paying user. This parameter is optional. If it is not specified, the bill to information will be built from paymentData.

    Returns: void


    processApplePayValidationRequest

    processApplePayValidationRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, event: ApplePayValidateMerchantEvent | null | undefined, gatewayData: GatewayData, clientCanonicalName: string, context: string, environment: Environment): void

    Wrapper function that calls buildApplePayValidationRequestData then validateApplePayRequest. See those functions for additional information. This function calls validateApplePayRequest even if the return value from buildApplePayValidationRequestData is null. All error handling must be done in the callbackFunction parameter.

    Example Usage

    applepaysession.onvalidatemerchant = (event) => {
        paymentGateway.processApplePayValidationRequest(
            callbackFunction,
            event,
            gatewayData,
            clientCanonicalName,
            context,
            environment
        );
    }
    

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    event ApplePayValidateMerchantEvent | null | undefined The event paramenter passed in to the applepaysession.onvalidatemerchant callback.
    gatewayData GatewayData Your Payment Gateway partner information.
    clientCanonicalName string The client canonical name you use for Apple Pay.
    context string The hostname of your website.
    environment Environment The environment of Payment Gateway that you want the request set to.

    Returns: void


    processGooglePayRequest

    processGooglePayRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, googlePayRequestParams: BuildGooglePayRequestParams, env: Environment): void

    Wrapper function that calls buildGooglePayRequestData then processTransaction or processSubscription. See those functions for additional information. This function calls processTransaction or processSubscription even if the return value from buildTransactionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    googlePayRequestParams BuildGooglePayRequestParams The payment parameters
    env Environment The environment of Payment Gateway you want the request sent to.

    Returns: void


    processGooglePayTransactionRequest

    processGooglePayTransactionRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, paymentData: PaymentData | null | undefined, gatewayData: GatewayData, amount: string, order: Order, env: Environment, customer?: Customer, lineItems?: LineItemSingle[], billTo?: BillTo): void

    deprecated

    Please use processGooglePayRequest

    Wrapper function that calls buildGooglePayTransactionRequestData then processTransaction. See those functions for additional information. This function calls processTransaction even if the return value from buildGooglePayTransactionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void -
    paymentData PaymentData | null | undefined The object returned from Google's paymentsClient.loadPaymentData().
    gatewayData GatewayData Your Payment Gateway partner information.
    amount string The monetary value of the transaction being processed. This must be in the form of a number.
    order Order An object containing the order description and invoice number.
    env Environment The environment of Payment Gateway you want the request sent to.
    customer? Customer An object containing customer email.
    lineItems? LineItemSingle[] Line items you want included in the transaction. This parameter is optional. If it is not specified, the default lineItems will be used.
    billTo? BillTo Bill to information for the paying user. This parameter is optional. If it is not specified, the bill to information will be built from paymentData.

    Returns: void


    processPayment

    ConstprocessPayment(requestData: RequestData | null, gatewayData: GatewayData, env: Environment, options?: ProcessPaymentOptions): Promise<XMLHttpRequest>

    Parameters:

    Name Type
    requestData RequestData | null
    gatewayData GatewayData
    env Environment
    options? ProcessPaymentOptions

    Returns: Promise<XMLHttpRequest>


    processSubscription

    processSubscription(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, subscriptionData: SubscriptionData | null, env: Environment): void

    Makes an HTTP request to process the subscription with Payment Gateway. When the response is received, callbackFunction is called with the XMLHttpRequest object as the parameter. The parameter subscriptionData can be generated by calling buildSubscriptionRequestData.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    subscriptionData SubscriptionData | null The subscription data.
    env Environment The environment of Payment Gateway you want the request sent to.

    Returns: void


    processSubscriptionRequest

    processSubscriptionRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, requestData: RequestData | null, gatewayData: GatewayData, paymentSchedule: PaymentSchedule, env: Environment, lineItems?: LineItemsRecurring[]): void

    Wrapper function that calls buildSubscriptionRequestData then processSubscription. See those functions for additional information. This function calls processSubscription even if the return value from buildSubscriptionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    requestData RequestData | null The data needed to make the request.
    gatewayData GatewayData Your Payment Gateway partner information.
    paymentSchedule PaymentSchedule The schedule of the recurring payment.
    env Environment The environment of Payment Gateway you want the request sent to.
    lineItems? LineItemsRecurring[] Line items you want included in the subscription.

    Returns: void


    processTransaction

    processTransaction(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, transactionData: TransactionData | null, environment: Environment): void

    Makes an HTTP request to proccess the transaction with Payment Gateway. When the response is received, callbackFunction is called with the XMLHttpRequest object as the parameter. The parameter transactionData can be generated by calling buildTransactionRequestData.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    transactionData TransactionData | null The transaction data.
    environment Environment The environment of Payment Gateway you want the request sent to.

    Returns: void


    processTransactionRequest

    processTransactionRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, requestData: RequestData | null, gatewayData: GatewayData, env: Environment, lineItems?: LineItemSingle[]): void

    Wrapper function that calls buildTransactionRequestData then processTransaction. See those functions for additional information. This function calls processTransaction even if the return value from buildTransactionRequestData is null. All error handling must be done in the callbackFunction parameter.

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    requestData RequestData | null The data needed to make the request.
    gatewayData GatewayData Your Payment Gateway partner information.
    env Environment The environment of Payment Gateway you want the request sent to.
    lineItems? LineItemSingle[] Line items you want included in the transaction.

    Returns: void


    validateApplePayRequest

    validateApplePayRequest(callbackFunction: (xmlHttpRequest: XMLHttpRequest) => void, validationData: ValidationData | null, environment: Environment): void

    Validates the ValidationData that's generated via the buildApplePayValidationRequestData function by making a HTTP request to Payment Gateway. When the response is received, callbackFunction is called with the XMLHttpRequest object as the parameter. This function should be called in the applepaysession.onvalidatemerchant function that you define.

    Example Usage

    applepaysession.onvalidatemerchant = (event) => {
        const validationData = paymentGateway.buildApplePayValidationRequestData(
            event,
            gatewayData,
            clientCanonicalName,
            context
        );
        paymentGateway.validateApplePayRequest(callbackFunction, validationData, environment);
    }
    

    Parameters:

    Name Type Description
    callbackFunction (xmlHttpRequest: XMLHttpRequest) => void The function to be called when a response is received.
    validationData ValidationData | null The validation data.
    environment Environment The environment of Payment Gateway that you want the request set to.

    Returns: void

    Interfaces

    Interface: AuthData

    Hierarchy

    • AuthData

    Index

    Properties

    Properties

    apiLoginID

    apiLoginID: string


    clientKey

    clientKey: string

    Interface: BankData

    Hierarchy

    • BankData

    Index

    Properties

    Properties

    accountNumber

    accountNumber: string


    accountType

    accountType: AccountType


    nameOnAccount

    nameOnAccount: string


    routingNumber

    routingNumber: string

    Interface: BillTo

    Hierarchy

    Index

    Properties

    Properties

    address

    Optional address: undefined | string

    Inherited from ShipTo.address


    city

    Optional city: undefined | string

    Inherited from ShipTo.city


    country

    Optional country: undefined | string

    Inherited from ShipTo.country


    email

    Optional email: undefined | string


    faxNumber

    Optional faxNumber: undefined | string


    firstName

    firstName: string

    Inherited from ShipTo.firstName


    lastName

    lastName: string

    Inherited from ShipTo.lastName


    phoneNumber

    Optional phoneNumber: undefined | string


    state

    Optional state: undefined | string

    Inherited from ShipTo.state


    zip

    Optional zip: undefined | string

    Inherited from ShipTo.zip

    Interface: BuildApplePayRequestParams

    Hierarchy

    • BuildApplePayRequestParams

    Index

    Properties

    Properties

    amount

    amount: string


    billTo

    Optional billTo: BillTo


    customer

    Optional customer: Customer


    gatewayData

    gatewayData: GatewayData


    lineItems

    Optional lineItems: LineItemSingle[] | LineItemsRecurring[]


    order

    order: Order


    paymentData

    paymentData: ApplePayPayment | null | undefined


    paymentSchedule

    Optional paymentSchedule: PaymentSchedule


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string


    surcharge

    Optional surcharge: ExtendedAmountType

    Interface: BuildGooglePayRequestParams

    Hierarchy

    • BuildGooglePayRequestParams

    Index

    Properties

    Properties

    amount

    amount: string


    billTo

    Optional billTo: BillTo


    customer

    Optional customer: Customer


    gatewayData

    gatewayData: GatewayData


    lineItems

    Optional lineItems: LineItemSingle[] | LineItemsRecurring[]


    order

    order: Order


    paymentData

    Optional paymentData: PaymentData | null


    paymentSchedule

    Optional paymentSchedule: PaymentSchedule


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string


    shipTo

    Optional shipTo: ShipTo


    surcharge

    Optional surcharge: ExtendedAmountType

    Interface: CardData

    Hierarchy

    • CardData

    Index

    Properties

    Properties

    cardCode

    cardCode: string


    cardExpiration

    cardExpiration: string


    cardNumber

    cardNumber: string


    fullname

    Optional fullname: undefined | string


    zip

    Optional zip: undefined | string

    Interface: Customer

    Hierarchy

    • Customer

    Index

    Properties

    Properties

    email

    email: string


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string

    Interface: CustomerProfile

    Hierarchy

    • CustomerProfile

    Index

    Properties

    Properties

    email

    Optional email: undefined | string


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string

    Interface: ExtendedAmountType

    Hierarchy

    • ExtendedAmountType

    Index

    Properties

    Properties

    amount

    amount: number


    description

    Optional description: undefined | string


    name

    Optional name: undefined | string

    Interface: GatewayData

    Hierarchy

    • GatewayData

    Index

    Properties

    Properties

    gatewayName

    gatewayName: string


    partnerName

    partnerName: string

    Interface: Interval

    Hierarchy

    • Interval

    Index

    Properties

    Properties

    length

    length: string


    unit

    unit: "DAYS" | "MONTHS"

    Interface: LineItemSingle

    Hierarchy

    • LineItemSingle

    Index

    Properties

    Properties

    itemId

    itemId: string


    name

    name: string


    quantity

    quantity: number


    unitPrice

    unitPrice: number

    Interface: LineItemsRecurring

    Hierarchy

    • LineItemsRecurring

    Index

    Properties

    Properties

    amount

    amount: number


    description

    description: string


    itemCode

    itemCode: string


    name

    name: string

    Interface: LineItemsSingle

    Hierarchy

    • LineItemsSingle

    Index

    Properties

    Properties

    lineItem

    lineItem: LineItemSingle[]

    Interface: Order

    Hierarchy

    • Order

    Index

    Properties

    Properties

    description

    description: string


    invoiceNumber

    invoiceNumber: string

    Interface: ParsedCardData

    Hierarchy

    • ParsedCardData

    Index

    Properties

    Properties

    cardCode

    cardCode: string


    cardNumber

    cardNumber: string


    fullname

    Optional fullname: undefined | string


    month

    month: string


    year

    year: string


    zip

    Optional zip: undefined | string

    Interface: Payment

    Hierarchy

    • Payment

    Index

    Properties

    Properties

    opaqueData

    opaqueData: any

    Interface: PaymentSchedule

    Hierarchy

    • PaymentSchedule

    Index

    Properties

    Properties

    interval

    interval: Interval


    startDate

    startDate: string


    totalOccurrences

    totalOccurrences: string

    Interface: ProcessPaymentOptions

    Hierarchy

    • ProcessPaymentOptions

    Index

    Properties

    Properties

    lineItems

    Optional lineItems: LineItemsRecurring[] | LineItemSingle[]


    paymentSchedule

    Optional paymentSchedule: PaymentSchedule

    Interface: RequestData

    Hierarchy

    Index

    Properties

    Properties

    amount

    amount: string


    billTo

    billTo: BillTo


    customer

    customer: Customer


    order

    order: Order


    payment

    payment: Payment


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string


    shipTo

    Optional shipTo: ShipTo


    surcharge

    Optional surcharge: ExtendedAmountType

    Interface: RequestDataParams

    Hierarchy

    • RequestDataParams

    Index

    Properties

    Properties

    amount

    amount: string


    billTo

    billTo: BillTo


    customer

    customer: Customer


    order

    order: Order


    phoneNumber

    Optional phoneNumber: undefined | string


    preferredName

    Optional preferredName: undefined | string


    response

    response: any


    shipTo

    Optional shipTo: ShipTo


    surcharge

    Optional surcharge: ExtendedAmountType

    Interface: SecureData

    Hierarchy

    • SecureData

    Index

    Properties

    Properties

    authData

    authData: AuthData


    bankData

    Optional bankData: BankData


    cardData

    Optional cardData: ParsedCardData

    Interface: ShipTo

    Hierarchy

    Index

    Properties

    Properties

    address

    Optional address: undefined | string


    city

    Optional city: undefined | string


    country

    Optional country: undefined | string


    firstName

    firstName: string


    lastName

    lastName: string


    state

    Optional state: undefined | string


    zip

    Optional zip: undefined | string

    Interface: SubscriptionData

    Hierarchy

    • SubscriptionData

    Index

    Properties

    Properties

    customerProfile

    Optional customerProfile: CustomerProfile


    gatewayData

    gatewayData: GatewayData


    lineItems

    lineItems: LineItemsRecurring[]


    subscription

    subscription: SubscriptionRequest

    Interface: SubscriptionRequest

    Hierarchy

    Index

    Properties

    Properties

    amount

    amount: string

    Inherited from RequestData.amount


    billTo

    billTo: BillTo

    Inherited from RequestData.billTo


    customer

    customer: Customer

    Inherited from RequestData.customer


    order

    order: Order

    Inherited from RequestData.order


    payment

    payment: Payment

    Inherited from RequestData.payment


    paymentSchedule

    paymentSchedule: PaymentSchedule


    phoneNumber

    Optional phoneNumber: undefined | string

    Inherited from RequestData.phoneNumber


    preferredName

    Optional preferredName: undefined | string

    Inherited from RequestData.preferredName


    shipTo

    Optional shipTo: ShipTo

    Inherited from RequestData.shipTo


    surcharge

    Optional surcharge: ExtendedAmountType

    Inherited from RequestData.surcharge

    Interface: TransactionData

    Hierarchy

    • TransactionData

    Index

    Properties

    Properties

    customerProfile

    Optional customerProfile: CustomerProfile


    gatewayData

    gatewayData: GatewayData


    transactionRequest

    transactionRequest: TransactionRequest

    Interface: TransactionRequest

    Hierarchy

    Index

    Properties

    Properties

    amount

    amount: string

    Inherited from RequestData.amount


    billTo

    billTo: BillTo

    Inherited from RequestData.billTo


    customer

    customer: Customer

    Inherited from RequestData.customer


    lineItems

    lineItems: LineItemsSingle


    order

    order: Order

    Inherited from RequestData.order


    payment

    payment: Payment

    Inherited from RequestData.payment


    phoneNumber

    Optional phoneNumber: undefined | string

    Inherited from RequestData.phoneNumber


    preferredName

    Optional preferredName: undefined | string

    Inherited from RequestData.preferredName


    shipTo

    Optional shipTo: ShipTo

    Inherited from RequestData.shipTo


    surcharge

    Optional surcharge: ExtendedAmountType

    Inherited from RequestData.surcharge


    transactionType

    transactionType: string

    Interface: ValidationData

    Hierarchy

    • ValidationData

    Index

    Properties

    Properties

    clientCanonicalName

    clientCanonicalName: string


    context

    context: string


    gatewayData

    gatewayData: GatewayData


    validationUrl

    validationUrl: string

    Keywords

    none

    Install

    npm i @sourceallies/payment-gateway

    DownloadsWeekly Downloads

    99

    Version

    0.10.5

    License

    Apache-2.0

    Unpacked Size

    206 kB

    Total Files

    34

    Last publish

    Collaborators

    • sourceallies