code: static public String generateOrderId() {
  		UUID uuid = UUID.randomUUID();
  		ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
  
  		bb.putLong(uuid.getMostSignificantBits());
  		bb.putLong(uuid.getLeastSignificantBits());
  		return Base64.encodeBase64URLSafeString(bb.array());
  	}
docs: Order Id for a initial request should be unique per client ID. This method generates a unique
  order Id using the Java UUID class and then convert it to base64 to shorten the length to 22
  characters. Order Id for a subsequent request (void, rebate, settle ect.) should use the
  order Id of the initial request.
  
  * the order ID uses the Java UUID (universally unique identifier) so in theory it may not
  be unique but the odds of this are extremely remote (see
  <a href="http://en.wikipedia.org/wiki/Universally_unique_identifier#Random_UUID_probability_of_duplicates">http://en.wikipedia.org/wiki/Universally_unique_identifier#Random_UUID_probability_of_duplicates</a>)
  
  @return orderId as a String