Scope
I cannot add a billing/shipping address using a 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 Create invoice for items and one-time charges to add the 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 use the billing address using Customer attributes or add the shipping address using Subscription attributes then you can 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 is overridden for the Shipping address.