I am currently using Accept Hosted in an Iframe. I can't figure out how to use customer profiles with accept hosted so that my customers do not need to enter their credit card information every time they checkout. Ideally I would none of the customer payment information to touch my server so that I don't have to deal with PCI.
Is there a way to link a customer profile when requesting a token for accept hosted?
The Accept Hosted form allows you to have the customer's browser display a form allowing them to enter their card data and send it directly to Authorize.Net. If you already have their card data on file, you don't need to present the payment form. You can just do an API call to the createTransactionRequest to reference the customer profile.
If you want to present choices to the customer of all of their payment methods on file, so the customer can choose one, you'd first call getCustomerProfile to get the information to present to the customer.
If you're looking for a way to allow the customer to enter a new payment method or update an existing payment method in a hosted form, please review the "Accept Customer" hosted forms section of our Customer Profile documentation.
What you're suggesting about using the Accept Hosted form with a profile wouldn't make sense the way the form currently works, since the form is just designed to accept payment info and process it. However, if you'd care to elaborate on how you would like it to work, that might be a good candidate for our Ideas Forum (where others can take a look, contribute feedback, and vote for new features).
Perhaps if you call the form with a profile ID, it automatically presents the list of saved payment methods to the customer, allowing the customer to pick one, or click a button to enter a new one (either for that transaction or to save in their profile)?