The Cashflows Client Library for JS can be installed via NPM. To install, simply add it
to your package.json
file:
{
"dependencies": {
"cashflows-clientlib-js": "^1.0.0"
}
}
And run npm to update your dependencies:
$ npm install
You may also git clone or download the files manually, and include the client library in your project. Use a script tag in the of the HTML page.
<script src="cashflows-clientlib-browser.js"></script>
Create a new Cashflows instance with the intent that was created server side. The Cashflows instance can be configured to use the integration environment (true) or production (false). Initialise the card payment fields- and checkout button on your checkout page. Optionally initialise all other payment methods you'd like to support. Start the checkout by calling the checkout method.
var cashflows = new Cashflows('<payment intent goes here>', true);
cashflows.initCard('#card-number', '#card-name', '#card-expiration', '#card-cvc', '#pay-with-card');
cashflows.checkout()
.then(() => {
// successful transaction
})
.catch(e => {
// failed transaction
});
In addition to the payment fields, include a checkbox and a div element to enable the stored cards feature. The checkbox can be used by the customer to request storing the card details. The div element will be pupulated with the list of stored cards.
var cashflows = new Cashflows('<payment intent goes here>', true);
cashflows.initCard('#card-number', '#card-name', '#card-expiration', '#card-cvc', '#pay-with-card', '#store-card-details', '#stored-card-list');
cashflows.checkout()
.then(() => {
// successful transaction
})
.catch(e => {
// failed transaction
});
There are examples on how to generate a payment intent in the examples folder.
If you believe you have found a bug, please report it using the GitHub issue tracker or contact us at customer-support@cashflows.com.
- First public beta release and setting up infrastructure.
- Added GooglePay support.
- Added ApplePay support.
- Added Stored Cards support.
- Improved status change handling.
- Better handling of GooglePay initialisation failures.
- Added logging.
- Improved ui handling to prevent invalid states.
- Fixed a bug where creating a payment from intent could result in an expired result if not all preparations were processed before the attempt was made.
- Fixed an issue that could cause a loop when using the library for transactions when auto-capture was turned off.
- Added a new parameter 'gatewayMerchantId' to the initGooglePay method. This parameter is passed to Google as part of the GooglePay flow.