Thanks again for your quick response.
The requirements are to collect customer profile, shipping address and payment profile in ONE step.
And send it to Authorize.net in One post to set up the customer. See http://www.hurrycane.com (hit buy now button, then click credit card button on next page to see form). The CC transaction would be posted separately.
I am reviewing the CIM XML documentation and it is starting to look promising.
I am thinking this is the approach I want to take. Do you have any experience with this? I could create a template of the following file and use jquery / javascript to do the work. What do you think?
https://github.com/stymiee/Authorize.Net-XML/blob/master/examples/cim/createCustomerProfileRequest.p...
<?xml version="1.0"?>
<createCustomerProfileRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>yourloginid</name>
<transactionKey>yourtransactionkey</transactionKey>
</merchantAuthentication>
<profile>
<merchantCustomerId>12345</merchantCustomerId>
<email>user@example.com</email>
<paymentProfiles>
<billTo>
<firstName>John</firstName>
<lastName>Smith</lastName>
<address>123 Main Street</address>
<city>Townsville</city>
<state>NJ</state>
<zip>12345</zip>
<phoneNumber>800-555-1234</phoneNumber>
</billTo>
<payment>
<creditCard>
<cardNumber>4111111111111111</cardNumber>
<expirationDate>2016-08</expirationDate>
</creditCard>
</payment>
</paymentProfiles>
<shipToList>
<firstName>John</firstName>
<lastName>Smith</lastName>
<address>123 Main Street</address>
<city>Townsville</city>
<state>NJ</state>
<zip>12345</zip>
<phoneNumber>800-555-1234</phoneNumber>
</shipToList>
</profile>
<validationMode>liveMode</validationMode>
</createCustomerProfileRequest>