locators.setVerifierProvider(SignatureAlgorithm.HS256, hmacLocator);
JsonTokenParser parser = new JsonTokenParser(locators, new IgnoreAudience());
JsonToken jwt = parser.deserialize(request);
MaskedWalletResponse mwResponse = new MaskedWalletResponse(jwt);
//Create the change information maskedWalletRequest
MaskedWalletRequest maskedWalletRequest = new MaskedWalletRequest(Config.MERCHANT_ID, Config.MERCHANT_SECRET, MaskedWalletRequest.Select.PAY_SHIP, mwResponse.getGoogle_transaction_id());
maskedWalletRequest.setOrigin(origin);
String desc = drink + " " + size + " " + milk;
LineItem item = new LineItem( desc, 1, new Double(total), Config.CURRENCY);
Cart cart = new Cart(Config.CURRENCY);
cart.addItem(item);
FullWalletRequest fullWalletRequest = new FullWalletRequest(Config.MERCHANT_ID, Config.MERCHANT_SECRET, cart, mwResponse.getGoogle_transaction_id());
fullWalletRequest.setOrigin(origin);
Velocity.setProperty("runtime.log.logsystem.class", "org.apache.velocity.runtime.log.NullLogChute");
// Escape HTML
Velocity.setProperty("eventhandler.referenceinsertion.class", "org.apache.velocity.app.event.implement.EscapeHtmlReference");
Velocity.setProperty("eventhandler.escape.html.match", "/.*/");
Velocity.init();
VelocityContext context = new VelocityContext();
context.put("pay", mwResponse.getSelection().getPay());
context.put("ship", mwResponse.getSelection().getShip());
context.put("order", order);
context.put("maskedJWT", maskedWalletRequest.generateJWT());
context.put("fullWalletJWT", fullWalletRequest.generateJWT());
context.put("walletJSUrl", Config.WALLET_JS_URL);