Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-payscript

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-payscript

react-payscript

  • 1.4.3
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

react-payscript

GitHub license

React client for payscript

Installation

Npm

npm install react-payscript --save

Yarn

yarn add react-payscript

UMD

<script src="https://unpkg.com/react-payscript@latest/dist/index.js"></script>

Usage

Module

import React from 'react';
import { Form, Group, Input, CreditCard, Button } from 'react-payscript';

const Example = () => {

  function onProcessing(e) {
    console.log("Processing", e);
  }
  function onSuccess(e) {
    console.log("Success", e);
  }
  function onError(e) {
    console.log("Error", e);
  }
  return (
      <Form
        apitoken="xxxxxxx-xxxxx-xxxx-xxxx-xxxxxxx"
        payscripttoken="xxxxxxxxxxxxxxxxxxxxxxxxxx"
        gateway="xxxxx"
        onProcessing={onProcessing}
        onSuccess={onSuccess}
        onError={onError}
        styles={{ 'theme': 'ready!' }} >
        <Group>
          <CreditCard label="Card" />
          <Input label="Name" id="name" placeholder="Card holder's name" required />
        </Group>
        <Group>
          <Input label="Email" id="email" placeholder="example@email.com" />
          <Input label="Phone" id="phone" placeholder="(123) 456-7890" />
          <Input label="Street" id="street" placeholder="Card billing street" required />
          <Input label="Zip" id="zip" placeholder="Card billing zip code" required />
          <Input label="Custom 1" id="custom_1" placeholder="Custom 1" />
          <Input label="Long Custom text example" id="custom_2" placeholder="Custom 2" />
        </Group>
        <Button label="PayScript $25" />
      </Form>
  )
};

export default Example;

UMD

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>React Payscript</title>
    </head>
    <body>
        <main></main>
        <!-- JSX -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script>
        <!-- React -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/umd/react.development.js"></script>
        <!-- React DOM -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/umd/react-dom.development.js"></script>
        <!-- React-Payscript -->
        <script src="https://unpkg.com/react-payscript@latest/dist/index.js"></script>
        <!-- Script -->
        <script type="text/babel" data-plugins="transform-react-jsx,transform-do-expressions,transform-object-rest-spread" >
        
            const { Form, Group, Input, CreditCard, Button }  = reactPayscript;

            class Example extends React.Component {
                onProcessing(e) {
                    console.log("Processing", e);
                }
                onSuccess(e) {
                    console.log("Success", e);
                }
                onError(e) {
                    console.log("Error", e);
                }
                render() {
                    return (
                        <Form
                            apitoken="xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
                            payscripttoken="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                            gateway="xxxxx"
                            onProcessing={this.onProcessing}
                            onSuccess={this.onSuccess}
                            onError={this.onError}
                            styles={{ 'theme': 'ready!' }} >
                            <Group>
                                <CreditCard label="Card" />
                                <Input label="Name" id="name" placeholder="Card holder's name" required />
                            </Group>
                            <Group>
                                <Input label="Email" id="email" placeholder="example@email.com" />
                                <Input label="Phone" id="phone" placeholder="(123) 456-7890" />
                                <Input label="Street" id="street" placeholder="Card billing street" required />
                                <Input label="Zip" id="zip" placeholder="Card billing zip code" required />
                                <Input label="Custom 1" id="custom_1" placeholder="Custom 1" />
                                <Input label="Long Custom text example" id="custom_2" placeholder="Custom 2" />
                            </Group>
                            <Button label="PayScript $25" />
                        </Form>
                    );
                }
            }
            ReactDOM.render(<Example />,document.querySelector("main"));
        </script>
    </body>
</html>

Options

Form

  • apitoken: string
  • payscripttoken: string
  • gateway: string
  • onProcessing: function
  • onSuccess: function
  • onError: function
  • styles: json

Group

  • No params

Input

  • label: string
  • id: string !important
  • placeholder: string
  • required: boolean

CreditCard

  • label: string

Button

  • label: string

Conventional

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>React Payscript</title>
    </head>
    <body>
        <main></main>
        <!-- JSX -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.38/browser.min.js"></script>
        <!-- React -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.2.0/umd/react.development.js"></script>
        <!-- React DOM -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.2.0/umd/react-dom.development.js"></script>

        <!-- Payscript -->
        <script type="text/babel" data-plugins="transform-react-jsx,transform-do-expressions,transform-object-rest-spread" >
         

            class Example extends React.Component {
              
                constructor(props) {
                    super(props)
                    this.onProcessingCallback = this.onProcessingCallback.bind(this);
                    this.hostRequest = this.hostRequest.bind(this);
                    this.onSuccessCallback = this.onSuccessCallback.bind(this);
                    this.onErrorCallback = this.onErrorCallback.bind(this);
                    this.onFieldError = this.onFieldError.bind(this);
                }

                onProcessingCallback(e) {
                    console.log("Processing")
                }

                onSuccessCallback(e) {
                       
                    console.log("Success")
                    console.log(e)

                    /*
                    Example - uncomment to assign payscript card token and session token to variables
                    */

                    const TcToken = e.detail.cardToken
                    const SStoken =e.detail.sessionToken

                    /*
                    Example - uncomment to invoke function to process the card with the card token and session token properties
                    */

                    this.hostRequest(TcToken, SStoken)
                    }

                    onErrorCallback(e) {
                        console.log("Error")
                        console.log(e.detail)
                    }

                    onFieldError(e) {
                        console.log(e);
                    }
                    

                    hostRequest(TcToken, SStoke) {

                        /*
                        EXAMPLE uncomment this var data for a one-time credit card sale and store customer card.
                        NOTE:  cardholder name field must be present and required on form.
                        */

                        var data = "ResponseType=json&storecard=1&TransType=Sale&CardToken="+ TcToken +"&SessionToken=" + SStoken + "&apitoken=" + apitoken + "&amount=1.11"

                        /*
                        EXAMPLE uncomment to send the request data to the payment gateway for processing
                        */

                        let http = new XMLHttpRequest();
                        let url = 'http://localhost:8090/ws/encgateway2.asmx/ProcessCreditCard';
                        http.open("POST", url, true);

                        /*
                        EXAMPLE - Send the proper header information along with the request
                        */

                        http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

                        http.send(data);

                        http.onreadystatechange = function() {
                            if (http.readyState === 4) {
                                if (http.status === 200) {
                                    alert(http.responseText)
                                    payScript.removeForm();
                                    payScript.setContent("<h3> create your custom content here! </h3>");
                            } else {
                                console.log('failed');
                                alert(http.responseText)
                                }
                            }
                        }
                    }

                    componentWillMount(){
                        const script = document.createElement("script");
                        script.src = "http://localhost:8090/public/payscript.js";
                        script.async = true;
                        document.body.appendChild(script);
                    }

                    componentDidMount() {

                        var apitoken = null;
                        window.onload = function () {
                        /* these are the Payscript callbacks */
                        payScript.onProcessing = this.onProcessingCallback;
                        payScript.onSuccess = this.onSuccessCallback;
                        payScript.onError = this.onErrorCallback;

                        var fieldStyles = 'payscript-field';

                        /*CREDIT CARD FIELDS */
                        payScript.addField('payscript_field_cardNumber', 'cardNumber', 'credit-card-input payscript-card-input', true, this.onFieldError, 'Card Number');
                        payScript.addField('payscript_field_cardExpire', 'cardExpire', fieldStyles, true, this.onFieldError, 'MM/YY');
                        payScript.addField('payscript_field_cardholderName', 'cardholderName', fieldStyles, false, this.onFieldError, 'Card Holder');
                        payScript.addField('payscript_field_cardVerification', 'cardVerification', fieldStyles, false, this.onFieldError, 'CVV');
                        payScript.addField('payscript_field_cardZip', 'cardZip', fieldStyles, false, this.onFieldError, 'Card billing zip code');
                        payScript.addField('payscript_field_cardStreet', 'cardStreet', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_cardStreet2', 'cardStreet2', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_cardCity', 'cardCity', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_cardState', 'cardState', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_cardCountry', 'cardCountry', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_email', 'cardEmail', 'payscript-field', false, this.onFieldError, 'Email address');
                        /*END CREDIT CART FIELDS */

                        /*CUSTOMER FIELDS */
                        payScript.addField('payscript_field_custStatus', 'custStatus', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custFirstName', 'custFirstName', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custLastName', 'custLastName', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custEmail', 'custEmail', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custTitle', 'custTitle', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custCompany', 'custCompany', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custDepartment', 'custDepartment', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custStreet1', 'custStreet1', fieldStyles, false, this.onFieldError, 'Card Address');
                        payScript.addField('payscript_field_custStreet2', 'custStreet2', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custCity', 'custCity', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custState', 'custState', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custZip', 'custZip', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custCountry', 'custCountry', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custMobilePhone', 'custMobilePhone', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custDayPhone', 'custDayPhone', fieldStyles, false, this.onFieldError, '(123) 456-7890');
                        payScript.addField('payscript_field_custNightPhone', 'custNightPhone', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custFax', 'custFax', fieldStyles, false, this.onFieldError);
                        payScript.addField('payscript_field_custDob', 'custDob', fieldStyles, false, this.onFieldError, 'j');
                        payScript.addField('payscript_field_custSsn', 'custSsn', fieldStyles, false, this.onFieldError, 'k');
                        payScript.addField('payscript_field_custDln', 'custDln', fieldStyles, false, this.onFieldError, 'l');
                        payScript.addField('payscript_field_custDlnSt', 'custDlnSt', fieldStyles, false, this.onFieldError, 'm');
                        /*END CUSTOMER FIELDS */

                        /*CHECK FIELDS */
                        payScript.addField('payscript_field_checkAccount', 'checkAccount', fieldStyles, false, this.onFieldError, 'a');
                        payScript.addField('payscript_field_checkRouting', 'checkRouting', fieldStyles, false, this.onFieldError, 'b');
                        payScript.addField('payscript_field_checkAccountType', 'checkAccountType', fieldStyles, false, this.onFieldError, 'c');
                        payScript.addField('payscript_field_checkAccountKind', 'checkAccountKind', fieldStyles, false, this.onFieldError, 'd');
                        payScript.addField('payscript_field_checkOwnerName', 'checkOwnerName', fieldStyles, false, this.onFieldError, 'e');
                        payScript.addField('payscript_field_checkBankCity', 'checkBankCity', fieldStyles, false, this.onFieldError, 'f');
                        payScript.addField('payscript_field_checkMICR', 'checkMICR', fieldStyles, false, this.onFieldError, 'g');
                        payScript.addField('payscript_field_checkRawMicr', 'checkRawMicr', fieldStyles, false, this.onFieldError, 'h');
                        payScript.addField('payscript_field_checkNumber', 'checkNumber', fieldStyles, false, this.onFieldError, 'i');
                        payScript.addField('payscript_field_custStatus', 'custStatus', fieldStyles, false, this.onFieldError, 'estatus')

                        /*END CHECK FIELDS */

                        /*CUSTOM FIELDS */
                        payScript.addField('payscript_field_custom1', 'meta', fieldStyles, false, this.onFieldError, "Mothers Name");
                        payScript.addField('payscript_field_custom2', 'meta', fieldStyles, false, this.onFieldError, "Fathers Name");
                        /*END CUSTOM FIELDS */

                        payScript.addStyle('http://smarttec.com.do/payscript/public/leo.css');

                        /* these are the unique tokens for this Payscript instance.  Do not modify */
                        apitoken = '56B73FDC-8857-1B35-A24A-C565F24F6EAA';
                        var payscripttoken = 'ed1efeeb3847e623088702d25ad6121ed8415fa7';
                        var gateway = '10001';
                        var vendor = '706'
                        payScript.init(gateway, apitoken, payscripttoken, vendor);
                        };

                    }

                    render() {
                        return (
                        <form id="payscript_form">
                            <div className="payscript-container">
                            <div className="payscript-box">
                                <div className="_1tu41si">
                                <div className="payscript-group">
                                    <div className="payscript-credit-card">
                                    <label className="payscript-label">
                                        <span>Card</span>
                                        <div className="payscript-card-container sc-bdVaJa ixTfPP">
                                        <div className="payscript-card-field sc-bwzfXH iaLzsl" id="field-wrapper">
                                            <img className="payscript-card-image sc-htpNat dcxtLi" src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNTc2IDM3NyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5wbGFjZWhvbGRlcjwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9InBsYWNlaG9sZGVyIj4gICAgICAgICAgICA8cGF0aCBkPSJNNTI3LjkzMzc5MywzNzYuOTk4MjggTDQ4LjA2NjIwNjksMzc2Ljk5ODI4IEMzNS40MjM0ODAzLDM3Ny4xMDM5NjggMjMuMjU2NTg2NCwzNzIuMTg3ODkgMTQuMjQyMzI4MSwzNjMuMzMxNjE4IEM1LjIyODA2OTc1LDM1NC40NzUzNDYgMC4xMDQ5MTcxMDIsMzQyLjQwNDQwNyAwLDMyOS43NzQ0OTQgTDAsNDcuMjI1NDU1NCBDMC4xMDQ5MTcxMDIsMzQuNTk1NTQyNSA1LjIyODA2OTc1LDIyLjUyNDYwNCAxNC4yNDIzMjgxLDEzLjY2ODMzMTkgQzIzLjI1NjU4NjQsNC44MTIwNTk4NSAzNS40MjM0ODAzLC0wLjEwNDAxODI5NiA0OC4wNjYyMDY5LDAuMDAxNjY5NDg2NDYgTDUyNy45MzM3OTMsMC4wMDE2Njk0ODY0NiBDNTQwLjU3NjUyLC0wLjEwNDAxODI5NiA1NTIuNzQzNDE0LDQuODEyMDU5ODUgNTYxLjc1NzY3MiwxMy42NjgzMzE5IEM1NzAuNzcxOTMsMjIuNTI0NjA0IDU3NS44OTUwODMsMzQuNTk1NTQyNSA1NzYsNDcuMjI1NDU1NCBMNTc2LDMyOS45NzI5MTMgQzU3NS42NzI3ODYsMzU2LjE5NTY2MyA1NTQuMTg0MjczLDM3Ny4yMTg4NTcgNTI3LjkzMzc5MywzNzYuOTk4MjggWiIgaWQ9InNoYXBlIiBmaWxsPSIjRThFQkVFIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBzdHJva2U9IiM3NTc1NzUiIHN0cm9rZS13aWR0aD0iMjAiIHg9IjQxOCIgeT0iNTgiIHdpZHRoPSI5MSIgaGVpZ2h0PSI2MyIgcng9IjMwIj48L3JlY3Q+ICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yIiBmaWxsPSIjNzU3NTc1IiB4PSI1MyIgeT0iMjA4IiB3aWR0aD0iMTA3IiBoZWlnaHQ9IjQwIiByeD0iOCI+PC9yZWN0PiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMiIgZmlsbD0iIzc1NzU3NSIgeD0iNDEzIiB5PSIyMDgiIHdpZHRoPSIxMDciIGhlaWdodD0iNDAiIHJ4PSI4Ij48L3JlY3Q+ICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS0yIiBmaWxsPSIjNzU3NTc1IiB4PSIyOTMiIHk9IjIwOCIgd2lkdGg9IjEwNyIgaGVpZ2h0PSI0MCIgcng9IjgiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTIiIGZpbGw9IiM3NTc1NzUiIHg9IjE3MyIgeT0iMjA4IiB3aWR0aD0iMTA3IiBoZWlnaHQ9IjQwIiByeD0iOCI+PC9yZWN0PiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+" />
                                            <label className="sc-bxivhb lifJiC" data-max="9999 9999 9999 9999 9999">
                                            <div id="payscript_field_cardNumber" />
                                            </label>
                                        </div>
                                        </div>
                                    </label>
                                    </div>
                                    <label className="payscript-label">
                                    <span>Expiration</span>
                                    <div id="payscript_field_cardExpire" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>CVV</span>
                                    <div id="payscript_field_cardVerification" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Name</span>
                                    <div id="payscript_field_cardholderName" />
                                    </label>
                                </div>
                                <div className="payscript-group">
                                    <label className="payscript-label">
                                    <span>Email</span>
                                    <div id="payscript_field_email" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Phone</span>
                                    <div id="payscript_field_custDayPhone" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Street</span>
                                    <div id="payscript_field_custStreet1" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Zip</span>
                                    <div id="payscript_field_cardZip" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Custom 1</span>
                                    <div id="payscript_field_custom1" />
                                    </label>
                                    <label className="payscript-label">
                                    <span>Long Custom text example</span>
                                    <div id="payscript_field_custom2" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkAccount </span>
                                    <div id="payscript_field_checkAccount" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkRouting </span>
                                    <div id="payscript_field_checkRouting" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkAccountType </span>
                                    <div id="payscript_field_checkAccountType" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkAccountKind </span>
                                    <div id="payscript_field_checkAccountKind" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkOwnerName </span>
                                    <div id="payscript_field_checkOwnerName" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkBankCity </span>
                                    <div id="payscript_field_checkBankCity" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkMICR </span>
                                    <div id="payscript_field_checkMICR" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkRawMicr </span>
                                    <div id="payscript_field_checkRawMicr" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_checkNumber </span>
                                    <div id="payscript_field_checkNumber" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_custDob </span>
                                    <div id="payscript_field_custDob" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_custSsn </span>
                                    <div id="payscript_field_custSsn" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_custDln </span>
                                    <div id="payscript_field_custDln" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_custDlnSt </span>
                                    <div id="payscript_field_custDlnSt" />
                                    </label>
                                    <label className="payscript-label">
                                    <span> payscript_field_custStatus </span>
                                    <div id="payscript_field_custStatus" />
                                    </label>
                                </div>
                                <div className="payscript-pay-content">
                                    <div className="payscript-outcome">
                                    <div className="payscript-error _xqnadn">
                                        <div className="payscript-error-item alert-payscipt" id="error-payscript">
                                        </div>
                                    </div>
                                    </div>
                                    <button className="payscript-button" id="payscript_submit" type="button">Submit</button>
                                </div>
                                </div>
                            </div>
                            </div>
                        </form>
                        )
                    }
            }
            
            ReactDOM.render(<Example />,document.querySelector("main"));
        </script>
    </body>
</html>

Result

Imgur

License

MIT © PAYSCRIPT

Keywords

FAQs

Package last updated on 14 Mar 2018

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc