diff --git a/src/paymentservice/charge.js b/src/paymentservice/charge.js index 2a16780..aa6c96d 100644 --- a/src/paymentservice/charge.js +++ b/src/paymentservice/charge.js @@ -1,4 +1,5 @@ const cardValidator = require('simple-card-validator'); +const uuid = require('uuid/v4'); class CreditCardError extends Error { constructor(message) { @@ -29,7 +30,7 @@ class ExpiredCreditCard extends CreditCardError { * Verifies the credit card number and (pretend) charges the card. * * @param {*} request - * @return transaction_id - a random number. + * @return transaction_id - a random uuid v4. */ module.exports = function charge(request) { const { amount, credit_card: creditCard } = request; @@ -59,6 +60,6 @@ module.exports = function charge(request) { console.log(`Transaction processed: ${cardType} ending ${cardNumber.substr(-4)} \ Amount: ${amount.currency_code}${amount.amount.decimal}.${amount.amount.fractional}`) - return { transaction_id: -1 } + return { transaction_id: uuid() } } diff --git a/src/paymentservice/package-lock.json b/src/paymentservice/package-lock.json index 6393258..f80804f 100644 --- a/src/paymentservice/package-lock.json +++ b/src/paymentservice/package-lock.json @@ -746,6 +746,11 @@ "ansi-regex": "2.1.1" } }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + }, "window-size": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", diff --git a/src/paymentservice/package.json b/src/paymentservice/package.json index ee87b69..f7d8823 100644 --- a/src/paymentservice/package.json +++ b/src/paymentservice/package.json @@ -11,6 +11,7 @@ "dependencies": { "@grpc/proto-loader": "^0.1.0", "grpc": "^1.12.3", - "simple-card-validator": "^1.1.0" + "simple-card-validator": "^1.1.0", + "uuid": "^3.2.1" } }