private UserWS buildUser( Integer accountTypeId, String firstName, String lastName, String ccNumber) { UserWS newUser = new UserWS(); newUser.setUserName("payment-test-" + Calendar.getInstance().getTimeInMillis()); newUser.setPassword("Admin123@"); newUser.setLanguageId(LANGUAGE_ID); newUser.setMainRoleId(new Integer(5)); newUser.setAccountTypeId(accountTypeId); newUser.setParentId(null); newUser.setStatusId(UserDTOEx.STATUS_ACTIVE); newUser.setCurrencyId(CURRENCY_USD); MetaFieldValueWS metaField1 = new MetaFieldValueWS(); metaField1.setFieldName("contact.email"); metaField1.setValue(newUser.getUserName() + "@shire.com"); metaField1.setGroupId(accountTypeId); MetaFieldValueWS metaField2 = new MetaFieldValueWS(); metaField2.setFieldName("contact.first.name"); metaField2.setValue(firstName); metaField2.setGroupId(accountTypeId); MetaFieldValueWS metaField3 = new MetaFieldValueWS(); metaField3.setFieldName("contact.last.name"); metaField3.setValue(lastName); metaField3.setGroupId(accountTypeId); newUser.setMetaFields(new MetaFieldValueWS[] {metaField1, metaField2, metaField3}); // add a credit card Calendar expiry = Calendar.getInstance(); expiry.set(Calendar.YEAR, expiry.get(Calendar.YEAR) + 1); // add credit card newUser .getPaymentInstruments() .add( PaymentMethodHelper.createCreditCard( CC_PAYMENT_TYPE, "Frodo Baggins", ccNumber, expiry.getTime())); return newUser; }