2.1.1 • Published 1 year ago

cardinity-nodejs v2.1.1

Weekly downloads
23
License
MIT
Repository
github
Last release
1 year ago

Cardinity NodeJS Wrapper

This is an official NodeJS client library for Cardinity's API.
Library includes all the functionality provided by the API. Library was designed to be flexible and self-explanatory for developers to implement.

Table of Contents

Installation → Usage →
    Payments
    Refunds
    Settlements
    Voids
    Chargebacks
    Payment Links
Having problems? → About us →

Installation

npm install cardinity-nodejs

API documentation

[https://developers.cardinity.com/api/v1/](https://developers.cardinity.com/api/v1/)

Usage

Authentication

/**
* You don't have to bother about authentication.
* It is handled auto-magically behind the scenes.
* You just have to initialize the client object.
*/

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const client = new Client('YOUR_CONSUMER_KEY','YOUR_CONSUMER_SECRET');

Payments

Create new payment

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Payment = Cardinity.payment()

const purchase = new Payment({
    'amount': '50.00',
    'currency': 'EUR',
    'settle': true,
    'description': 'Payment from NodeJS',
    'order_id': 'NodeJS1',
    'country': 'LT',
    'payment_method': 'card',
    'payment_instrument': {
        'pan': '5555555555554444',
        'exp_year': 2022,
        'exp_month': 2,
        'cvc': '222',
        'holder': 'John Doe',
    },
    'threeds2_data': {
        'notification_url': 'https://www.myonlineshop.com/callback/3dsv2',
        'browser_info': {
            'accept_header': 'text/html',
            'browser_language': 'en-US',
            'screen_width': 1920,
            'screen_height': 1040,
            'challenge_window_size': '500x600',
            'user_agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0',
            'color_depth': 24,
            'time_zone': -60,
            'ip_address': '192.168.0.1',
            'javascript_enabled': true,
            'java_enabled': false
        }
    }
});
// check if there is any data validation errors.
if (purchase.errors) {
    // show errors or print errors to logs here.
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(purchase).then(function(response){
        if (response.status == 'approved') {
            // handle approved payment
        } else if (response.status == 'pending') {
            // handle 3D secure flow
            if (response.authorization_information) {
                var form_url = response.authorization_information.url;
                var inputs = '<input type="hidden" name="PaReq" value="'+
                    response.authorization_information.data +'" />'+
                    '<input type="hidden" name="TermUrl" value="http://localhost:3000" />';
                var threed_key = 'MD';
            } else if (response.threeds2_data) {
                var form_url = response.threeds2_data.acs_url;
                var inputs = '<input name="creq" value="'+ response.threeds2_data.creq +'" />';
                var threed_key = 'threeDSSessionData';
            }
            res.setHeader('Content-Type', 'text/html');
            form = '<html><head>'+
                '<title>3-D Secure Example</title>'+
                '<script type="text/javascript">'+
                +'function OnLoadEvent(){'+
                    // Make the form post as soon as it has been loaded.
                    +'document.ThreeDForm.submit();'+
                +'}'+
                '</script>'+
                '</head>'+
                '<body onload="OnLoadEvent();">'+
                '<form name="ThreeDForm" method="POST" action="'+ form_url +'">'+
                    '<button type=submit>Click Here</button>'+
                    inputs +
                    '<input type="hidden" name="'+ threed_key +'" value="'+ 
                        response.id +'" />'+
                '</form>'+
                '</body></html>';
            res.end(form);
        } else {
            res.setHeader('Content-Type', 'text/plain')
            res.end(JSON.stringify(response, null, 2))
        }
    }).catch(function(error){
        // Deal with error
    });
}

Create new recurring payment

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Recurring = Cardinity.recurring()

const recurring = new Recurring({
    'amount': '50.00',
    'currency': 'EUR',
    'settle': false,
    'description': 'some description',
    'order_id': '12345678',
    'country': 'LT',
    'payment_instrument': {
        'payment_id': 'INITAL_PAYMENT_ID',
    },
})

if (recurring.errors) {
    // show errors or print errors to logs here.
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(recurring).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Finalize pending payment 3D secure V2

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Finalize = Cardinity.finalize()

const patch = new Finalize({
    'id': 'PENDING_PAYMENT_UUID',
    'cres': 'CRES_RECEIVED_FROM_ACS',
    'threedsv2': true // flag for 3D secure V2
});

if (patch.errors) {
    // show errors or print errors to logs here.
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(patch).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Get existing payment

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetPayment = Cardinity.getPayment()

const payments = new GetPayment({
    'id': 'PAYMENT_UUID',
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(payments).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get all payments

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetPayment = Cardinity.getPayment()

const payments = new GetPayment(NUMBER_OF_PAYMENTS_TO_GET)

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(payments).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Refunds

Create new refund

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Refund = Cardinity.refund()

const refund = new Refund({
    'amount': '50.00',
    'description': 'some optional description',
    'id': 'PAYMENT_UUID',
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(refund).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get existing refund

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetRefund = Cardinity.getRefund()

const refunds = new GetRefund({
    'id': 'PAYMENT_UUID',
    'refund_id': 'REFUND_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(refunds).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get all refunds

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetRefund = Cardinity.getRefund()

const refund = new GetRefund({
    'id': 'PAYMENT_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(refund).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Settlements

Create new settlement

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Settlement = Cardinity.settlement()

const settle = new Settlement({
    'id': 'PAYMENT_UUID',
    'amount': '50.00',
    'description': 'optional description'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(settle).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get existing settlement

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetSettlement = Cardinity.getSettlement()

const settle = new GetSettlement({
    'id': 'PAYMENT_UUID',
    'settlement_id': 'SETTLEMENT_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(settle).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get all settlements

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetSettlement = Cardinity.getSettlement()

const settle = new GetSettlement({
    'id': 'PAYMENT_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(settle).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Voids

Create new void

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const Voids = Cardinity.voids()

const voids = new Voids({
    'id': 'PAYMENT_UUID',
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(voids).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get existing void

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetVoids = Cardinity.getVoids();

const voids = new GetVoids({
    'id': 'PAYMENT_UUID',
    'void_id': 'VOID_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(voids).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Get all voids

const Cardinity = require('cardinity-nodejs')
const Client = Cardinity.client()
const GetVoids = Cardinity.getVoids();

const voids = new GetVoids({
    'id': 'PAYMENT_UUID'
})

const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
client.call(voids).then(function(response){
    // Deal with response
}).catch(function (error){
    // Deal with error
});

Chargebacks

Get chargebacks of a payment

const Cardinity = require('cardinity-nodejs')
const GetChargeback = Cardinity.getChargeback()

const getChargeback = new GetChargeback({
    'payment_id': 'PAYMENT_UUID'
})

if (getChargeback.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(getChargeback).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Get specific chargeback of a payment

const Cardinity = require('cardinity-nodejs')
const GetChargeback = Cardinity.getChargeback()

const getChargeback = new GetChargeback({
    'payment_id': 'PAYMENT_UUID',
    'chargeback_id': 'CHARGEBACK_UUID'
})

if (getChargeback.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(getChargeback).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Get all chargebacks

const Cardinity = require('cardinity-nodejs')
const GetChargeback = Cardinity.getChargeback()

const limit = 10
const getChargeback = new GetChargeback(limit)

if (getChargeback.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(getChargeback).then(function (response) {
        // Deal with response
    }).catch(function (error) {
        // Deal with error
    });
}

Payment Links

Create new payment link

const Cardinity = require('cardinity-nodejs')
const PaymentLink = Cardinity.paymentLink()

const now = new Date()
const paymentLink = new PaymentLink({
    'amount': '50.00',
    'currency': 'EUR',
    'description': 'PAYMENT_LINK_DESCRIPTION',
    'country': 'LT',
    'expiration_date': new Date(now.setDate(now.getDate() + 7)),//Expires 1 week from now
    'multiple_use': true
})

if (paymentLink.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(paymentLink).then(function(response){   
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Update existing payment link

const Cardinity = require('cardinity-nodejs')
const UpdatePaymentLink = Cardinity.updatePaymentLink()

const now = new Date()
const updatePaymentLink = new UpdatePaymentLink({
    'id': 'PAYMENT_LINK_UUID',
    'expiration_date': new Date(now.setDate(now.getDate() + 7)),//Expires 1 week from now
    'enabled': true
})

if (updatePaymentLink.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(updatePaymentLink).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Get existing payment link

const Cardinity = require('cardinity-nodejs')
const GetPaymentLink = Cardinity.getPaymentLink()

const getPaymentLink = new GetPaymentLink({
    'id': 'PAYMENT_LINK_UUID'
})

if (getPaymentLink.errors) {
    // Deal with validation errors
} else {
    const client = new Client('YOUR_CONSUMER_KEY', 'YOUR_CONSUMER_SECRET')
    client.call(getPaymentLink).then(function(response){
        // Deal with response
    }).catch(function (error){
        // Deal with error
    });
}

Having problems?

Feel free to contact us regarding any problems that occurred during integration via info@cardinity.com. We will be more than happy to help.


► About us

Cardinity is a licensed payment institution, active in the European Union, registered on VISA Europe and MasterCard International associations to provide e-commerce credit card processing services for online merchants. We operate not only as a payment gateway but also as an acquiring Bank. With over 10 years of experience in providing reliable online payment services, we continue to grow and improve as a perfect payment service solution for your businesses. Cardinity is certified as PCI-DSS level 1 payment service provider and always assures a secure environment for transactions. We assure a safe and cost-effective, all-in-one online payment solution for e-commerce businesses and sole proprietorships.

Our features

• Fast application and boarding procedure.
• Global payments - accept payments in major currencies with credit and debit cards from customers all around the world.
• Recurring billing for subscription or membership based sales.
• One-click payments - let your customers purchase with a single click.
• Mobile payments. Purchases made anywhere on any mobile device.
• Payment gateway and free merchant account.
• PCI DSS level 1 compliance and assured security with our enhanced protection measures.
• Simple and transparent pricing model. Only pay per transaction and receive all the features for free.

Get started

Click here to sign-up and start accepting credit and debit card payments on your website or here to contact us

Keywords

payment gateway, credit card payment, online payment, credit card processing, online payment gateway, cardinity for NodeJS.

▲ back to top

2.1.1

1 year ago

2.1.0

1 year ago

2.0.0

2 years ago

1.0.2

4 years ago

1.0.1

4 years ago

0.2.0

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.2

4 years ago

0.1.3

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

1.0.0

4 years ago