WebSession.initialize() to generate a web session ID. This ID is placed in a hidden field in your form. At the end, when your form has been submitted, you call WebSession.finalize() to create the Subscribe objects (PaymentMethod, AutoBill, Transaction, Account). When you call finalize, simply pass in the ID of the sparse webSession object (the VID). Do not populate any privateFormValues or post values. In rare cases, you can pass in MethodParamValues—for example if you want to pass in a campaign code to an AutoBill.update call after collecting it in the payment form.
The WebSession object is used to temporarily store payment method information in the Subscribe database, where it is permanently saved when the WebSession.finalize() method is called. For more information on the WebSession object, see The WebSession Object in the Subscribe API Guide.
Use of HOA with Hosted Fields satisfies the minimum audit burden of SAQ-A (Self-Assessment Questionnaire—version A) requirements when accepting payment information from your customers. For that reason, the WebSession object is limited in scope and properties, and is meant only to create or authorize AutoBills, PaymentMethods, and Transactions. HOA is not designed to create other Subscribe objects.
Note: If you have already integrated HOA with your Subscribe implementation and just want to set up Hosted Fields, see the User Experience Flow, then skip ahead to Setting Up Hosted Fields.

