Skip to content

Commit

Permalink
Merge pull request #153 from clover/release/3.1.0
Browse files Browse the repository at this point in the history
Release 3.1.0
  • Loading branch information
Dusty Gutzmann committed Jun 4, 2019
2 parents 61be2e6 + d1e5260 commit bf16c24
Show file tree
Hide file tree
Showing 22 changed files with 534 additions and 326 deletions.
10 changes: 5 additions & 5 deletions README.md
Expand Up @@ -9,7 +9,7 @@ Do not change this or the versioning may not reflect the npm version correctly.
--->
## Version

Current version: 3.0.1
Current version: 3.1.0

## Platforms supported

Expand All @@ -29,20 +29,20 @@ If used from a browser, the browser must support WebSockets. For more informatio

## Getting Started

Please see the [Getting started with Clover Connector tutorial for JavaScript](https://docs.clover.com/build/getting-started-with-cloverconnector/?sdk=browser).
Please see the [Getting started with Clover Connector tutorial for JavaScript](https://docs.clover.com/clover-platform/docs/cloud-sdk-v3).

As a good starting point, install your choice of pay display app on the Clover device:
- Cloud Pay Display app for cloud-based interactions between your POS system and the Clover device
- [Secure Network Pay Display app](https://docs.clover.com/build/secure-network-pay-display/) for wireless local network-based interactions between your POS system and the Clover device
- [Secure Network Pay Display app](https://docs.clover.com/clover-platform/docs/pay-display-apps#section--secure-network-pay-display-) for wireless local network-based interactions between your POS system and the Clover device

### Examples
Example applications can be found on [GitHub](https://github.com/clover/remote-pay-cloud-examples).

### Additional resources
- [Online Docs](http://clover.github.io/remote-pay-cloud/1.4.3/)
- [Release Notes](https://github.com/clover/remote-pay-cloud/releases)
- [Secure Network Pay Display](https://docs.clover.com/build/secure-network-pay-display/)
- [Tutorial for the Browser SDK](https://docs.clover.com/build/getting-started-with-cloverconnector/?sdk=browser)
- [Secure Network Pay Display](https://docs.clover.com/clover-platform/docs/pay-display-apps#section--secure-network-pay-display-)
- [Tutorial for the Cloud SDK](https://docs.clover.com/clover-platform/docs/cloud-sdk-v3)
- [API Class Documentation](http://clover.github.io/remote-pay-cloud-api/1.4.2/)
- [Clover Developer Community](https://community.clover.com/index.html)

Expand Down
5 changes: 3 additions & 2 deletions index.js
Expand Up @@ -17,7 +17,6 @@ var loyalty = sdk.loyalty;
var CloverID = require("./CloverID.js");

// These exports expose the CloverConnector and supporting objects
var version = '3.0.0';
var CloverConnector = require('./dist/com/clover/remote/client/CloverConnector.js').CloverConnector;
var CloverDeviceFactory = require('./dist/com/clover/remote/client/device/CloverDeviceFactory.js').CloverDeviceFactory;

Expand All @@ -39,6 +38,7 @@ var WebSocketState = require('./dist/com/clover/websocket/WebSocketState.js').We
var CloverWebSocketInterface = require('./dist/com/clover/websocket/CloverWebSocketInterface.js').CloverWebSocketInterface;
var BrowserWebSocketImpl = require('./dist/com/clover/websocket/BrowserWebSocketImpl.js').BrowserWebSocketImpl;
var JSONToCustomObject = require('./dist/com/clover/json/JSONToCustomObject.js').JSONToCustomObject;
var Version = require('./dist/com/clover/Version.js').Version;

var CloverConnectorFactoryBuilder = require('./dist/com/clover/remote/client/CloverConnectorFactoryBuilder.js').CloverConnectorFactoryBuilder;
var ICloverConnectorFactory = require('./dist/com/clover/remote/client/ICloverConnectorFactory.js').ICloverConnectorFactory;
Expand All @@ -62,7 +62,7 @@ module.exports = {
remotemessage: remotemessage,
CloverID: CloverID,
DebugConfig: DebugConfig,
version: version,
version: Version.CLOVER_CLOUD_SDK_VERSION,
CloverConnector: CloverConnector,
CloverDeviceFactory: CloverDeviceFactory,
CloverTransport: CloverTransport,
Expand All @@ -85,5 +85,6 @@ module.exports = {
CloverConnectorFactory: CloverConnectorFactory,
CardEntryMethods: CardEntryMethods,
LoyaltyDataTypes: LoyaltyDataTypes,
Version: Version,
loyalty: loyalty
};
6 changes: 3 additions & 3 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "remote-pay-cloud",
"version": "3.0.0",
"version": "3.1.0",
"description": "Access Clover devices through the cloud.",
"keywords": [
"clover",
Expand Down Expand Up @@ -32,13 +32,13 @@
},
"dependencies": {
"eventemitter3": "3.1.0",
"remote-pay-cloud-api": "3.0.1"
"remote-pay-cloud-api": "3.1.0"
},
"devDependencies": {
"@types/node": "7.0.5",
"chai": "4.2.0",
"del": "2.2.2",
"gulp": "^4.0.0",
"gulp": "^4.0.2",
"gulp-sourcemaps": "2.6.4",
"gulp-typedoc": "2.2.2",
"gulp-typescript": "3.2.4",
Expand Down
2 changes: 1 addition & 1 deletion src/com/clover/Version.ts
Expand Up @@ -6,7 +6,7 @@ export class Version {
/**
* @type {string} - The current version of this library
*/
public static CLOVER_CLOUD_SDK_VERSION = "3.0.0";
public static CLOVER_CLOUD_SDK_VERSION = "3.1.0";

/**
* @type {string} - The current SDK name.
Expand Down
2 changes: 1 addition & 1 deletion src/com/clover/json/JSONToCustomObject.ts
Expand Up @@ -167,6 +167,6 @@ export class JSONToCustomObject {
}

private hasMetaInfo = function(obj: any) {
return obj["getMetaInfo"] && typeof(obj.getMetaInfo) === 'function'
return obj && obj["getMetaInfo"] && typeof(obj.getMetaInfo) === 'function'
}
}
11 changes: 6 additions & 5 deletions src/com/clover/json/RemoteMessageParser.ts
Expand Up @@ -29,13 +29,14 @@ export class RemoteMessageParser extends JSONToCustomObject {
*/
public parseMessageFromRemoteMessageObj(remoteMessageObj: sdk.remotemessage.RemoteMessage,
attachUnknownProperties: boolean = false): sdk.remotemessage.Message {
var responseMessageType = MethodToMessage.getType(remoteMessageObj.getMethod());
const responseMessageType = MethodToMessage.getType(remoteMessageObj.getMethod());
let messageToPopulate = null;
if (responseMessageType) {
var messageToPopulate = new responseMessageType;
messageToPopulate = new responseMessageType;
if (remoteMessageObj.getPayload()) {
// Older versions of the remote-pay lib did not return a body here
var payload = JSON.parse(remoteMessageObj.getPayload());
var copied = this.transfertoObject(payload, messageToPopulate, attachUnknownProperties);
const payload = JSON.parse(remoteMessageObj.getPayload());
const copied = this.transfertoObject(payload, messageToPopulate, attachUnknownProperties);
if (copied) {
return copied;
}
Expand All @@ -49,7 +50,7 @@ export class RemoteMessageParser extends JSONToCustomObject {
* @returns {sdk.remotemessage.RemoteMessage} - object populated from the input json object.
*/
public parseToRemoteMessage(remoteMessage: any) {
var remoteMessageObj = new sdk.remotemessage.RemoteMessage();
const remoteMessageObj = new sdk.remotemessage.RemoteMessage();
this.transfertoObject(remoteMessage, remoteMessageObj, false);
return remoteMessageObj;
}
Expand Down
23 changes: 13 additions & 10 deletions src/com/clover/remote/client/CloverConnector.ts
Expand Up @@ -175,8 +175,6 @@ export class CloverConnector implements sdk.remotepay.ICloverConnector {
transactionSettings.setTipSuggestions(request.getTipSuggestions());
}

// TODO figure out VasMode vs NFCMode

this.setupBaseTransactionRequest(request, transactionSettings, builder, paymentRequestType);
}

Expand All @@ -197,22 +195,27 @@ export class CloverConnector implements sdk.remotepay.ICloverConnector {
if (request.getDisableRestartTransactionOnFail() != null) {
transactionSettings.setDisableRestartTransactionOnFailure(request.getDisableRestartTransactionOnFail());
}
if(request.getDisableReceiptSelection() != null) {
if (request.getDisableReceiptSelection() != null) {
transactionSettings.setDisableReceiptSelection(request.getDisableReceiptSelection());
}
if(request.getDisableDuplicateChecking() != null) {
if (request.getDisableDuplicateChecking() != null) {
transactionSettings.setDisableDuplicateCheck(request.getDisableDuplicateChecking());
}
if(request.getAutoAcceptPaymentConfirmations() != null) {
if (request.getAutoAcceptPaymentConfirmations() != null) {
transactionSettings.setAutoAcceptPaymentConfirmations(request.getAutoAcceptPaymentConfirmations());
}
if(request.getRegionalExtras() != null) {
if (request.getRegionalExtras() != null) {
transactionSettings.setRegionalExtras(request.getRegionalExtras());
}
if(request.getExtras() != null) {
if (request.getExtras() != null) {
builder.setPassThroughValues(request.getExtras());
}
if (request.getExternalReferenceId() != null) {
builder.setExternalReferenceId(request.getExternalReferenceId());
}

builder.setTransactionSettings(transactionSettings);

let payIntent: sdk.remotemessage.PayIntent = builder.build();
this.device.doTxStart(payIntent, null, paymentRequestType);
}
Expand Down Expand Up @@ -1132,7 +1135,7 @@ export namespace CloverConnector {
let response: sdk.remotepay.VoidPaymentRefundResponse = new sdk.remotepay.VoidPaymentRefundResponse();
let reason = voidPaymentRefundResponseMessage.getReason();
CloverConnector.populateBaseResponse(response, success, this.resultSuccessToResponseCode(success), reason, voidPaymentRefundResponseMessage.getMessage());
response.setRefundId(voidPaymentRefundResponseMessage.getRefund());
response.setRefundId(voidPaymentRefundResponseMessage.getRefund() ? voidPaymentRefundResponseMessage.getRefund().getId() : null);
response.setReason(voidPaymentRefundResponseMessage.getReason());

}
Expand Down Expand Up @@ -1249,13 +1252,13 @@ export namespace CloverConnector {
this.cloverConnector.broadcaster.notifyOnPrintPaymentReceipt(message);
}

public onPrintCredit(credit: sdk.remotepay.Credit): void {
public onPrintCredit(credit: sdk.payments.Credit): void {
const message = new sdk.remotepay.PrintManualRefundReceiptMessage();
message.setCredit(credit);
this.cloverConnector.broadcaster.notifyOnPrintCreditReceipt(message);
}

public onPrintCreditDecline(credit: sdk.remotepay.Credit, reason: string): void {
public onPrintCreditDecline(credit: sdk.payments.Credit, reason: string): void {
const message = new sdk.remotepay.PrintManualRefundDeclineReceiptMessage();
message.setCredit(credit);
message.setReason(reason);
Expand Down
6 changes: 3 additions & 3 deletions src/com/clover/remote/client/CloverConnectorBroadcaster.ts
Expand Up @@ -177,7 +177,7 @@ export class CloverConnectorBroadcaster
this.logger.debug('Sending Disconnect notification to listeners', message);
this.listeners.forEach((listener: sdk.remotepay.ICloverConnectorListener) => {
try {
listener.onDeviceDisconnected(); // changed the name in 1.3
listener.onDeviceDisconnected(); // changed from onDisconnected in 1.3
listener.onDisconnected(); // left here for backwards compatibility. Deprecated in 1.3*
} catch (e) {
this.logger.error(e);
Expand All @@ -189,8 +189,8 @@ export class CloverConnectorBroadcaster
this.logger.debug('Sending Ready notification to listeners');
this.listeners.forEach((listener: sdk.remotepay.ICloverConnectorListener) => {
try {
listener.onDeviceReady(merchantInfo); // changed the name in 1.3
listener.onReady(merchantInfo); // left here for backwards compatibility. Deprecated in 1.3*
listener.onDeviceReady(merchantInfo); // changed from onReady in 1.3
listener.onReady(merchantInfo); // left here for backwards compatibility. Deprecated in 1.3*
} catch (e) {
this.logger.error(e);
}
Expand Down
12 changes: 5 additions & 7 deletions src/com/clover/remote/client/device/CloverDeviceFactory.ts
Expand Up @@ -16,18 +16,16 @@ export class CloverDeviceFactory {
* @returns CloverDevice
*/
static get(configuration) {
var cloverDevice = configuration.getCloverDeviceType();

const cloverDeviceType = configuration.getCloverDeviceType();
// Try to get the requested clover device.
var cd = null;
let cloverDevice = null;
try {
cd = new cloverDevice(configuration);
}
catch (e) {
cloverDevice = new cloverDeviceType(configuration);
} catch (e) {
Logger.create().error(e);
}

// Return the clover device or null.
return cd;
return cloverDevice;
}
}

0 comments on commit bf16c24

Please sign in to comment.