Scope
I cannot add billing/shipping address using one-time charge invoice API?
Summary
In PC 2.0, while creating a one-time charge via API, you can also include shipping address attributes for Shipping order items whereas in PC 1.0 you have to pass on additional parameters to create a one-time charge with the shipping address.
Solution
For PC 2.0, refer to this link to Create an invoice for items and one-time charges to add shipping address while creating a one-time charge.
For PC 1.0 to add a shipping address you need to use a different API call. You can billing address using Customer attributes or add shipping address using Subscription attributes then you can use to call Create invoice for items and one-time charges which will use the shipping address on file. Note, in absence of a shipping address, the billing address takes presence for Shipping items.